Engineering Complex World Wide Web Services with JESSICA and UML Markus W. Schranz Ernst&Young Unternehmensberatungsges.b.m.H. A-1020 Vienna, Aspernbr¨ uckeng. 2, Austria Markus.Schranz@at.eyi.com Johannes Weidl webforus software und services gmbh A-1060 Vienna, Koppstr. 116, Austria http://www.webforus.com weidl@webforus.com Karl M. G ¨ oschka Vienna University of Technology Institute of Computer Technology A-1040 Vienna, Gusshausstr. 27-29, Austria goeschka@ict.tuwien.ac.at Stefan Zechmeister Vienna University of Technology Distributed Systems Department A-1040 Vienna, Argentinierstr. 8, Austria e9425324@stud2.tuwien.ac.at Abstract Complex Web services are comparable to large software systems, thus their management and engineering process requires feasible and sophisticated methodologies and pro- cesses. Standard Web page editors and Web site manage- ment tools are not built for architecting complex services and cannot handle all tasks in the Web service engineer- ing process. We introduced the JESSICA system to utilize object-oriented concepts for the Web service management. To support all stages of a service’s life cycle, from the archi- tectural design via the object-based JESSICA model defini- tion to the implementation and maintenance of Web docu- ments and dynamic server scripts, we propose an engineer- ing environment for Web services. The approach consists of three components: the graphical editor JAZZ provides visual features to model the architecture with objects that abstractly describe the entire Web service in the Uniform Modeling Language UML. The object-oriented language JESSICA defines Web service components of any granular- ity and their internal and external relations based on the Extended Markup Language XML. A java-based compiler transfers the abstract service model into a consistent Web site. UML is used to support the decomposition of com- plex services into manageable units. The JESSICA system utilizes object-oriented concepts such as abstraction, en- capsulation, inheritance, and reuse of commonalities. The strength of the engineering system lies in the combination of these three components in order to provide support for all stages in a Web service’s life cycle. We demonstrate the feasibility of our process on the engineering of the Vienna International Festival Web site. Based on this reasonably sized case study we propose that the combination of UML and JESSICA improves Web service engineering and makes design, implementation and maintenance of complex ser- vices easier, faster, and less error-prone. 1. Introduction Web service engineering denotes the process of manag- ing all stages of a Web service’s life cycle [10, 16]. The pro- cess covers the design, implementation, and maintenance of a service. Managing and maintaining Web services and ap- plications is similar to software engineering. Due to this close relationship software engineering techniques can also be applied to the creation of Web services [16]. As with software management, the handling of a Web service be- comes non-trivial when its size increases. First-generation Web development tools concentrated on the creation of individual pages. Later Web engineering tools integrated the management of entire Web sites and the navigation model [8, 11, 20]. Yet even today, few tools at- tempt to cover all aspects of the life cycle. Especially the maintenance task, which is essential on a dynamic medium like the Web, lacks support. Experiences from the object- oriented area were carried onto the Web engineering field to tackle the problems of complexity and use features like ab- straction, encapsulation, inheritance and reuse of common- alities [1, 10, 12, 19]. We have introduced the JESSICA engineering system [1] to increase the manageability and flexibility of large Web services. JESSICA introduced an abstract model to describe hy- permedia information and the use of object-oriented tech- niques to manipulate objects of the model for engineering Proceedings of the 33rd Hawaii International Conference on System Sciences - 2000 0-7695-0493-0/00 $10.00 (c) 2000 IEEE 1