Web Services Computing: Beyond Component-Based Architectures Dr. Dionisis X. Adamopoulos Dr. Constantine A. Papandreou Dept. of Technology Education & Digital Systems Hellenic Telecom. Organisation (OTE) and University of Piraeus, Greece University of Piraeus, Greece Abstract (users, subscribers) a predefined, carefully selected, set of capabilities / facilities regarding the integrated coverage Web services are emerging technologies that can be of a (possibly) wide range of information and communi- considered as the result of the continuous improvement of cation needs, utilising the resources of (existing and fu- Internet services due to the tremendous increase in ture) telecommunication networks . demand that is being placed on them. They are rapidly This paper attempts to determine the boundaries of evolving and are expected to change the paradigms of Web service engineering and, considering the needs of both software development and use, by promoting companies that deploy Web services to support software reusability over the Internet, by facilitating the increasingly sophisticated business processes, proposes a wrapping of underlying computing models with XML, and framework for the development of Web services and by providing diverse and sophisticated functionality fast examines its main constituent parts, addressing important and flexibly in the form of composite service offerings. In issues for the creation and provision of a new generation this paper, the different facets of Web services are of functionally rich, adaptable, web-centric, composite identified and a flexible approach to engineering complex applications. Furthermore, it introduces the concept of Web services is adopted in the form of a proposed service grids as the necessary infrastructure that will framework for the development of Web services. After the enable Web services to transform the Web from a examination of its main constituent parts, it is argued that collection of information into a distributed computational its full potential and that of Web service engineering in entity, and identifies open matters and current technical general, is realized through the gradual formation of a challenges for the Web services community in association rich service grid offering value-added supporting with the proposed framework. functionality and therefore the main desirable properties of such a service grid are highlighted. Finally, the paper 2. Web service engineering outlines a validation approach for the proposed framework and assembles important pointers for future A Web service is programmable application logic ac- work and concluding remarks. cessible using standard Internet protocols, fulfilling a spe- cific task or a set of tasks and representing a discrete unit of business or system functionality, that can be combined 1. Introduction with other Web services to maintain business transactions or workflows . By exploiting Web services an Web-enabled service-oriented computing is becoming organization is able to provide ("expose") any business the prominent paradigm for distributed computing and e- function to any other entity, such as another business commerce, creating significant opportunities for a variety function, an organization, a particular community, as well of providers to develop value-added services by specify- as end users. A Web service can be provided by the ing new Web services or by combining already existing organization directly, through trading networks or specific ones. These services are self-contained, Web influenced publishing hubs and other intermediaries on the Web. programming entities capable not only of performing Web services are self-contained, self-describing, business activities on their own, but also possessing the modular software entities that can be published, located ability to engage other Web services in order to complete and invoked across the Web. Each discrete Web service higher-order business transactions. Therefore, Web ser- can be deployed on and accessed from any node on the vices can be considered as a special category of telematic Internet, because once a Web service is deployed, other services (new telecommunications services), that although applications (and other Web services) can discover and they have several unique characteristics, they remain geo- invoke the deployed service. Therefore, multiple Web graphically distributed entities (actually an encapsulation services can be combined or assembled to form new of a number of cooperating entities distributed over a service configurations and deliver more valuable and geographical environment) providing a number of people sophisticated functionality supporting diversified business objectives. In this way, Web services offer a degree of maximise their usefulness, fulfil the emerging increased flexibility and granularity not previously possible or expectations regarding their value and impact, and lead economically viable, as they facilitate on-the-fly software eventually to a Web populated by a variety of service creation through the quick assembly of loosely coupled, objects. The most important requirements that Web ser- reusable software components . Furthermore, they can vice engineering activities should support during their interact with each other ("be orchestrated") in an infinite desired evolution process are the following : variety of manners and through multiple iterations in • The efficient and effective development of Web order to deliver a particular task within any context . services by guiding successfully service developers As a new domain or scientific discipline at the bounda- during the entire Web service creation process. ries of software engineering and telecommunications, • The successful application in a Web services context Web service engineering addresses the technologies and (through the appropriate adaptation when necessary) of engineering processes required to define, design, imple- carefully selected concepts, models, techniques, design ment, test, verify, validate, deploy, combine, maintain, patterns and practices that are developed, tested and and manage Web services that meet user needs in the (extensively) applied during the creation of conven- current or future networks. Its main objective is to ensure tional telecommunications services. the introduction of new and enhanced Web services and • The reduction of complexity and the increase of their management, in a fast and efficient manner. It relies efficiency during the design and implementation of heavily on open distributed object-oriented processing Web services by hiding from the service developers and Internet technology, and ambitiously promises to commonly encountered implementation details. significantly facilitate the offering of a wide variety of • The efficient automation of the Web service creation highly sophisticated and personalised services over the process, without semantic loss, with the use of appro- widest possible coverage area. priate, carefully designed and tested, customisable, and Finally, it has to be stressed that Web services repre- user-friendly software tools. sent the convergence between Service-Oriented Archi- • The development of a rich variety of Web services with tectures (SOAs) and the Web. SOAs (as the one proposed enhanced content, which can efficiently support a wide by the Telecommunications Information Networking Ar- range of communication, information, business, educa- chitecture-Consortium, TINA-C) have evolved over the tion, entertainment and cooperation needs. last 10 years to support high performance, scalability, • The representation, processing, management, and trans- reliability and availability . To achieve these proper- mission (possibly in an integrated manner) of all the ties, applications are designed as services, that can be basic information types. accessed through a programmable interface and run on a • The adoption of precise service semantics, because in cluster of centralized application servers. In the past, an open telecommunications market, it is important for clients accessed these services using a tightly coupled, reasons of service interoperability and for maximising distributed object protocol, such as Microsoft’s DCOM, customer satisfaction to specify Web services in a clear OMG’s CORBA or Sun’s Java RMI. While these proto- and unambiguous way by using concepts that their cols are very effective for building a specific application, semantic content can be accurately defined. they limit the flexibility of the system. Furthermore, each • Reusability at different abstraction levels (e.g. reusable of the protocols is constrained by dependencies on vendor service requirements, service specifications, service implementations, platforms, languages or data encoding components), with the intention to promote rapid Web schemes that severely limit interoperability and none of service design and deployment. them operates effectively over the Web . Web services • The use of a variety of document types and their inherit all the best features of the SOAs and all the best population with appropriate values so that they are aspects of component-based development in general and semantically coherent and are interpreted correctly by combine them with the Web. Like components, Web ser- the service requesters and providers. vices represent functionality that can be easily reused without knowing how the service is implemented. How- • The management of Web services in a flexible manner. ever, the Web supports universal communication using • The interoperability of Web services in a multi-provider loosely coupled connections and Web protocols are com- (open) telecommunications environment (with multiple pletely vendor-, platform-, and language- independent. domains of management and ownership of services) by facilitating and promoting Web service composition. 3. A framework for the development • Openness to all types of potential end-users of a Web service considering all the possibly interested people of web services. (e.g. mobile users, residential users, etc.). • Openness to change of Web service software and hard- Because of the inherent complexity of Web technolo- ware (computer and network infrastructure), because as gies and the recent diversification of the telecommunica- technology advances, or as prices change, or as pur- tions environment, Web service engineering activities chasing policies and needs dictate, different hardware should satisfy a number of requirements, in order to should be able to be used without requiring new in- • A Web service support environment: It is an vestment in the accompanying software, and vice versa. environment aiming to facilitate, both the development • The accommodation of legacy telecommunications ser- of Web services (in cooperation with the Web service vices and systems as they represent significant invest- development methodology) and their execution under ments that should be protected. real conditions. It consists mainly of: • Security in each message exchange between a service − Web service engineering principles: These are requester and a service provider, which should be pri- concepts, guidelines, design patterns, practices and vate and unmodified, as well as non-reputable. (in general) mental constructs that are applicable to • The accommodation of relevant standards (if neces- Web service engineering activities. sary). − A Web service architecture: It contains in a struc- Current Web service technology scores rather low tured manner all necessary details for the informa- compared to the above mentioned requirements. There- tion and computational modelling of Web services. fore, in an attempt to revitalize Web service engineering and enable it for the crucial role that is anticipated to have − A Web service execution environment: It encom- in the new emerging telecommunications environment, passes the necessary computing and network infra- the Web service engineering framework of Figure 1 is structure and the appropriate ancillary software proposed with the objective to provide a rich conceptual (e.g. operating systems, database management model for the development and the description of Web systems, etc.), which is needed for and during the services bringing this technology to its full potential. execution of a Web service. Its most important part is the Web platform, which abstracts over all the other parts and reduces greatly the effort needed ASPs network for the implementation of a Web service. Further- more, the Web platform is accompanied by a operators The proposed framework collection of software tools (together with a reuse Web Service Web Service Web Service infrastructure) that are used according to the Web Architecture (WSA) Development Methodology Support Environment service development methodology with the aim to MHPs Transport (SOAP) Web ISVs assist the service developer(s) when applying the service methodology. Description (WSDL) Web Discovery (UDDI) Service engineering principles A Web services environment conforms to the Web Services Platforms (.NET, J2EE) C T ore echnologies (XM SO , W L, U D L, AP SD D I) conceptual roles and operations that characterize every ISPs W e b S e rv ic e E x e c u tio n E n v iro n m e n t BSPs SOA. The three basic roles are the service provider, the Business service consumer and the service broker (see Figure 2). A Ecology service provider offers the service and publishes the Figure 1. The proposed Web service engineering contract that describes its interface. It then registers the framework service with a service broker. A service consumer queries As can be seen from Figure 1 the proposed framework the service broker according to its specific needs and is placed inside a composite organisational context (a finds a compatible service. Then, the service broker “business ecology”), in order to signify that Web service informs the service consumer on where to find the service engineering activities are normally performed by a variety and its service contract. Finally, the service consumer of entities / business formations. Although in practice uses the contract to bind the client to the service. In order many of the companies operating in this sector / area for the three conceptual roles to accomplish the related blend various functions into a composite offering and conceptual operations, a SOA system must supply / adopt many different roles, the major players in this new specify three core functional architecture components; always-on Web services landscape are Application namely transport, description, and discovery . Service Providers (ASPs), Managed Hosting Providers (MHPs), Internet Service Providers (ISPs), network Table 1. A comparison of SOA middleware and operators, Independent Software Vendors (ISVs) and Web Services Business Service Providers (BSPs) . Therefore, the DCOM CORBA Java RMI Web Services Invocation CORBA JAX-RPC, proposed framework is influenced by their business Mechanism DCE RPC RMI Java RMI .NET, etc. objectives, their general telecommunications and IT Data Format NDR CDR Serialised Java XML strategic orientation, their knowledge, their problem Wire Protocol PDU GIOP Stream SOAP Transfer HTTP, solving attitude and their experience. Protocol RPC CO IIOP JRMP SMTP, etc. The main constituent parts of the proposed Web Interface MIDL / CORBA Java Interface WSDL service engineering framework, which are depicted in Description DCE IDL IDL Discovery COS Figure 1, are: Mechanism CDS naming Java Registry UDDI • A Web service development methodology: It is a methodology that guides service developers during the As can be seen in Table 1, the distributed object entire process of Web service creation. platforms (middleware) that form the basis of SOAs (DCOM, CORBA or Java RMI) define their own vertical Service set of formats and protocols to implement the core SOA Broker functions. This approach ensures consistency among applications that share the same middleware, but prevents UDDI Inquiry find_xxx UDDI Publish save_xxx interoperability with applications that use different middleware. It also requires that every service producer Find Register WSDL and service consumer that engages in a conversation must Description (service contract) have the appropriate middleware installed and loaded on its computing infrastructure. Service Consumer XML Service Provider On the other hand Web services (Internet middleware), Client SOAP Bind Service unlike traditional SOA systems, do not require an entirely Figure 2. Conceptual roles and operations in a new set of protocols. The most basic Web services proto- Web Services Architecture (WSA) col is XML (an industry standard), which is used as the Furthermore, all Web services are currently composed message data format and is also used as the foundation of in a rather ad hoc and opportunistic manner by simply all other Web services protocols. Web services use XML combining their operations and input and output to describe their interfaces and to encode their messages. messages. If the requirements change or need to be However, XML by itself does not ensure effortless com- adjusted, then the composition will have to be respecified munication. The applications need standard formats and and recreated by possible interlinking additional or protocols that allow them to properly interpret the XML. modified service interfaces. This approach leads to a Hence, the following XML-based technologies have proliferation of badly specified service operations and emerged as the de facto standards for Web services: results in unmanageable and cluttered solutions. In this • Simple Object Access Protocol (SOAP) establishes a case, the needs of service developers that want to reuse common format for addressing messages and defines a the design and implementation of existing Web services standard communications protocol for Web services. only by extension or restriction, without developing them • Web Services Description Language (WSDL) defines a from scratch, cannot be satisfied. standard mechanism to describe a Web service. An equally important problematic situation arises also • Universal Description, Discovery and Integration from the fact that unlike a traditional telecommunications (UDDI) provide a standard and uniform mechanism to enterprise network, many different providers share the register and discover Web services. multi-layered network and software infrastructure of Web These core Web service technologies define the trans- services. While a particular group of dominant network port, description and discovery mechanisms respectively operators (telcos) provide backbone and last-mile wireline in the way depicted in Table 1, and have a close relation- network services, other providers contribute server ship with a strong semantic underpinning. As most Web management, data storage, edge cacheing, security, VPN service configurations suggest, the three core functional and wireless services, and several other ancillary services. architecture components (transport, description, and dis- Therefore, creating an integrated, end-to-end application covery) are implemented using SOAP, WSDL, and delivery infrastructure incorporated into a Web service UDDI, respectively, forming the Web Services Architec- requires close cooperation between all the interconnected, ture (WSA) that can be seen in Figure 2. A UDDI registry autonomous participants (providers and enterprises). has the role of a service broker. The register and find op- It is evident that as Web services become more so- erations are implemented using the UDDI Inquiry and phisticated and more global in reach and capacity, it be- UDDI Publish APIs. A WSDL document describes the comes increasingly important to provide additional assis- service contract and is used to bind the client to the ser- tance to service developers in order to ensure the effective vice. All transport functions are performed using SOAP. encounter of the above mentioned problems and the effi- The Web Services Architecture (WSA) provides the cient support of commercial-grade application functional- necessary means to create Web services for the coverage ity by Web services in an incremental manner, with little of an infinite variety of needs and to dynamically risk and at low cost. Recognising these needs, the Web combine them to satisfy more specialized business re- service development methodology of Figure 3 is pro- quirements at any point in time, by knitting together posed. This methodology “covers” in a systematic and micro-services (individual process components) into a structured manner the entire Web service creation process broader application entity offering enriched functionality. through a requirements capture and analysis phase, a Web However, such Web service creation activities can be service analysis phase, a Web service design phase, a extremely risky and difficult as Web services can be Web service implementation phase, and a Web service relatively simple, like the delivery of a currency converter validation and testing phase. It recognises the inefficiency or stock quotes to a cell phone, but also very complex, of current general-purpose software engineering method- like a payment processing service where millions of euros ologies to address successfully Web service engineering are being transferred in individual transactions from one matters and proposes a novel Web service creation proc- account to another. ess based on fundamental object-oriented analysis and design concepts and on important results of service crea- specification: JWSDL (the Java API for WSDL), JAX- tion research regarding the development of telematic ser- RPC (the Java API for XML based RPC), JAXM (the vices upon distributed object platforms utilising SOAs. Java API for XML Messaging), SAAJ (the SOAP with The novel character of the proposed methodology is rein- Attachments API) and JAXR (the Java API for XML forced by the adoption of an incremental and iterative use Registries). Although J2EE is an open standard, there are case driven approach, by the consideration of the special several competing J2EE development environments needs imposed by the Web Services Architecture, by the (Jboss+Tomcat, BEA WebLogic, IBM WebSphere, Sy- careful incorporation of the Unified Modelling Language base EAServer). It is evident that due to the increased (UML) notation and the XML technology throughout the capabilities of these platforms and their continual im- service creation process, by the exploitation of specially provement the selection process is a challenging task . constructed design patterns, and by the promotion of re- usability and dynamic Web service compositions. 4. The importance of service grids - Define Web Service Development Plan Requirements - Define Web Service Requirements Refinement - Define Use Cases (high level & essential) - Define Draft Conceptual Model - Consider the Application of Rapid Prototyping - Define Draft Architecture Layers A distributed Web services infrastructure will be re- Web Service Development quired before Web services technology can be broadly - Define Essential Use Cases deployed to support mission critical applications within Cycle 1 Web Service - Define Web Service Conceptual Models Requirements Analysis - Define Web Service Sequence Diagrams and across enterprises. The difference between traditional Capture and - Define Web Service Operation Contracts Analysis - Define XML Schemas Web Service - Define Web Service State Diagrams Development Cycle 2 Web content and Web services originates from the addi- - Define Real Use Cases Web Service Web Service Design - Define User Interface Aspects - Define Web Service Interaction Diagrams tion of process – the sequence of events that need to hap- Formation - Refine XMLSchemas - Define Web Service Design Class Diagrams - Define Web Service Composition Scenarios pen in order to produce a result. The fact that the users / participants of a Web service are distributed across the Web and need to complete certain processes adds Web Service - Implement Service Scripts & HTML Code Optimisation Web Service - Implement Service Classes & Interfaces Implementation - Implement Graphical User Interface Web Service Development - Consider Interworking / Interoperability Matters - Implement Database Schema important new operating requirements, such as con- Cycle n - Integrate Implementation Work sistency, authenticity, timeliness, integrity, and per- Web Service - Apply Test Scemes - Check Web Service Composition Matters sistence . The distributed Web services infrastructure must sup- Validation and Testing - Consider Artifact Synchronisation Figure 3. Outline of the proposed Web service port these requirements. Service grids constitute a key development methodology component of this infrastructure, especially as its scope Unlike other SOA systems, Internet middleware does expands beyond the boundaries of the enterprise to en- not define a specific invocation mechanism. It simply compass a broad range of business partners. Service grids defines the communication protocols (XML, SOAP, etc). provide a set of enabling utilities and ancillary services to The specifics of how Web services interact with SOAP support more robust connections between providers and and WSDL have been left as an exercise to the service users of Web services. This enabling functionality offered developer’s community. Since the WSA is based on stan- by service grids is distinct from application functionality dard XML, Web services can be implemented by using that is directly useful to end-users. It focuses on support- the pervasive XML processing techniques that are sup- ing the application logic with functionality like security, ported by a variety of software tools, together with ad hoc routing of messages across Web services or data trans- invocation implementation patterns. However, efficiency formation so that one Web service can access data from can be greatly improved by using specialized Web ser- another Web service. It can be considered as the equiva- vices platforms, which provide a ready-made foundation lent of the supporting functionality provided by object- for building and deploying Web services, based on a set oriented middleware in SOAs, with the difference that in of carefully selected invocation mechanisms. The advan- this case it is delivered as a set of managed services, tage of using a Web services platform is that developers rather than installed in the computing infrastructure com- don’t need to be concerned with constructing or inter- municating at either end of the connection . preting SOAP messages. They simply write the service The full value of the proposed framework for the code (application logic) and rely on the Internet middle- development of Web services is realized when it is used ware to do the rest. in combination with a carefully created service grid in an The two most prominent Web services platforms cur- integrated manner. This will also require the enhancement rently are Microsoft’s .NET and Sun’s J2EE. More spe- of the proposed methodology in order to take into account cifically, Microsoft has defined a set of standard pro- the availability of the managed services offered by the gramming interfaces and class libraries for the Visual service grid, especially during the specification of non- Studio .NET languages within the .NET framework, and functional requirements. the Microsoft SOAP Toolkit provides support for COM- Although service grids are still at a very early stage of based applications written in Visual Basic and Visual development, there is no doubt that the adoption of Web C++. On the other hand, the Java Community Process’ services technology will be significantly affected by the (JCP) has recently defined a set of standard programming pace and scope of service grid deployments. Nevertheless, interfaces for Java Web services, as part of the J2EE significant initiatives are already taking place leading to the emergence of early generations of service grids and alternative implementations of this Web service are being specialized service grid utilities. constructed (using Microsoft’s .NET and Sun’s J2EE) and special emphasis is placed on Web service composition 5. Conclusions and future work matters, as the training material can originate by a variety of providers, and on the incorporation of session tracking, Web service engineering provide a sound basis for de- as the maintenance of state information for the students veloping and deploying interoperable Web services, al- by the Web service improves the overall performance, lowing the gradual transformation of the Internet to a simplifies program development and provides for a more global common information networking platform where intuitive user interface. This validation attempt aims to organizations and individuals communicate with each provide tangible evidence about the correctness, the effi- other to carry out various commercial activities and to ciency and the true practical value of the proposed meth- provide value-added functionality. With the emergence of odology. All these efforts treat the proposed framework as Web services the Internet has ceased to be solely a con- a conceptual “umbrella” for Web service engineering tent transmission network. It has become a computing activities and gradually transform it to a more precise and execution network, processing commercial transactions concrete construct. and business applications. Web services constitute undoubtfully a promising However, many of the standards required for Web technology that will increasingly assist the integration of services are not yet fully defined. The SOAP, WSDL and heterogeneous islands of application logic (objects on the UDDI specifications that underpin current Web services Web) to homogeneous component-based solutions (a web technology form a de facto standard infrastructure with of objects), especially when supported by robust service little endorsement by official standards organizations. For grids. However, developers should keep in mind that Web this reason, the existing specifications contain a number services are still a fast moving target and an immature of ambiguities and inconsistencies, and address only basic technology. Nonetheless, Web services technology pro- Web services communications. Two standards groups are vide the appropriate solution for the agility requirements currently working on the definition of official Web that software engineering must cope with today and per- services standards: The World Wide Web Consortium haps will encounter increasingly in the future. Existing (W3C) and the Organisation for the Advancement of object-oriented middleware such as COM+/.NET, Structured Information Standards (OASIS). W3C focuses CORBA, and EJB/RMI may be still necessary to imple- on core infrastructure specifications and OASIS focuses ment sophisticated back-end services, but Web services on higher-level functionality. claim a prominent role when these functionality islands In general, Web services computing poses significant must be connected to fully operational networked theoretical and engineering challenges as developers de- systems. termine how to leverage emerging technologies to auto- mate semantically rich application domains and to create References software entities with an open interoperable character, based on cross-organisational, heterogeneous software  D.X. Adamopoulos, G. Pavlou, and C.A. Papandreou, components. The proposed framework for the develop- “Advanced Service Creation Using Distributed Object ment of Web services aims to address this movement to- Technology”, IEEE Communications Magazine, Vol. 40, No. 3, March 2002, pp. 146-154. wards Web-enabled service-oriented computing, where  J.-Y. Chung, K.-J. Lin, and R.G. Mathieu, “Web Services application logic is offered as a set of services both within Computing: Advancing Software Interoperability”, IEEE and across enterprises. Regarding this framework, it is Computer, Vol. 36, No. 10, October 2003, pp. 35-37. currently attempted to examine it and specify it in greater  F. Curbera, R. Khalaf, N. Mukhi, S. Tai, and S. Weer- detail, focusing especially on the Web service develop- awarana, “The Next Step in Web Services”, Communications ment methodology, as it presents increased research inter- of the ACM, Vol. 46, No. 10, October 2003, pp. 29-33. est and practical value. Furthermore, the validation and  D. Fensel and C. Bussler, “The Web Service Modeling evaluation of the proposed methodology is considered by Framework WSMF”, Electronic Commerce: Research and applying it to the development (from requirements elici- Applications, Vol. 1, 2002, pp. 113-137.  J. Hagel and J.S. Brown, “Service Grids: The Missing Link tation up to actual implementation) of a complex repre- in Web Services”, White Paper, 2002. sentative Web service (eXtended e-Learning Interactive  P. Wainewright, “Web Services Infrastructure: The Global eXperience using Internet Services, eXeLIXIS). This Utility for Real-Time Business”, White Paper, 2002. Web service enables students to specify their learning  Web Services Architecture Working Group, “Web Services objectives and learning preferences, attend specially de- Architecture Requirements”, W3C Working Draft, Aug. 19, signed e-classes that satisfy their needs, participate in 2002[http://www.w3.org/TR/2002/WD-wsa-reqs-20020819]. training multiplayer games that enhance their under-  J. Williams, “The Web Services Debate: J2EE vs. .NET”, standing and test their knowledge, getting feedback in Communications of the ACM, Vol. 46, No. 6, June 2003, pp. order to amend or enrich their learning objectives. Two 59-63.
Pages to are hidden for
"Web Services Computing Beyond Component-Based Architectures"Please download to view full document