Transcription

IbmWeb ServicesConceptual Architecture(WSCA 1.0)May 2001By Heather KregerIBM Software Group

IBM Software GroupFront MatterNoticeThe authors have utilized their professional expertise in preparing this report. However, neitherInternational Business Machines Corporation nor the authors make any representation orwarranties with respect to the contents of this report. Rather, this report is provided on an AS ISbasis, without warranty, express or implied, INCLUDING A FULL DISCLAIMER OF THE IMPLIEDWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.Web Services Conceptual Architectureii

IBM Software GroupFront MatterContentsNotice.iiContents.iiiFigures .ivPreface. vAbstract . vTarget Audience . vComments . vWeb Services Overview. 6Web Services: The Next Horizon for e-business. 6Definition of Web Services . 6The Web Services Model. 7Roles in a Web Services Architecture. 7Operations in a Web Service Architecture. 8Artifacts of a Web Service. 8Web Services Development Lifecycle . 8Architecture Overview . 10The Web Services Stack . 10The Network. 12XML Messaging-Based Distributed Computing . 13Service Description: From XML Messaging to Web Services. 15The Basic Service Description. 15The Complete Web Service Description. 17Publication and Discovery of Service Descriptions . 19Service Publication. 19Service Discovery . 21Web Services for Real e-business . 22Security. 22Quality of Service and Reliable Messaging . 25Systems and Application Management . 27Service Context . 28Conversations and Activities. 29Intermediaries . 30Portals and Portlets . 31Business Processes, Workflows and Web Services. 33A Simple Web Services Workflow . 34e-business Services and Enabling Services. 34Composed Workflows, and Public and Private Workflows . 36Business Process Hierarchy of Workflows . 37Hierarchical Workflows and Peer-to-Peer Workflows. 39Web Services Workflows Today and Tomorrow. 39Related Information. 40Web Sites. 40Other Papers . 40Web Services Conceptual Architectureiii

IBM Software GroupFront MatterFiguresFigure 1. Web Services roles, operations and artifacts. 7Figure 2. Web Services conceptual stack. 10Figure 3. Interoperable base Web Services stack . 11Figure 4. XML messaging using SOAP . 14Figure 5. Basic service description . 16Figure 6. Complete Web Services description stack . 17Figure 7. Basic UDDI data structures. 18Figure 8. Service discovery continuum . 21Figure 9. Intermediaries. 30Figure 10. Portals and portlets. 32Figure 11. Simple workflow. 34Figure 12. More complex workflow. 35Figure 13. Composed workflow . 36Figure 14. Further composition of workflows. 37Figure 15. Business process hierarchy . 38Web Services Conceptual Architectureiv

IBM Software GroupFront MatterPrefaceAbstractThis paper describes the architecture for Web Services from the point of view of components,interactions and application development patterns. This architecture is the blueprint for an IBMinstantiation of the Web Services approach. It is a framework for the building and deployment ofWeb Services applications.The architecture presented in this paper includes high-level descriptions of the components andfunctions required for Web Services, and requirements on the tools and middleware toimplement these components and functions. Some functionality exists today in products such asthe IBM XML and Web Services Development Environment, the IBM Web Services Toolkit andIBM WebSphere Application Server. These and other products will implement additionalfunctions in the future. However, the presence of a component, function or requirement in thispaper does not guarantee that it will be implemented in future IBM products.Target Audience Early adopters and implementers of Web Services. External technical reviewers evaluating the IBM Web Services approach. Reviewersshould read the Introducing Dynamic e-business: Concepts and Value paper thatexplains the value of Web Services.CommentsPlease send any feedback, technical or editorial, to Web Services at [email protected] orwebservices/Raleigh/[email protected] Services Conceptual Architecturev

IBM Software GroupWeb Services OverviewWeb Services OverviewThis section briefly reviews Web Services as an application integration technology, defines theterm web service and describes the Web Services model.Web Services: The Next Horizon for e-businessWhat the Web did for program-to-user interactions, Web Services are poised to do for programto-program interactions. Web Services allow companies to reduce the cost of doing e-business,to deploy solutions faster and to open up new opportunities. The key to reaching this newhorizon is a common program-to-program communications model, built on existing andemerging standards such as HTTP, Extensible Markup Language (XML), Simple Object AccessProtocol (SOAP), Web Services Description Language (WSDL) and Universal Description,Discovery and Integration (UDDI).Web Services allow applications to be integrated more rapidly, easily and less expensively thanever before. Integration occurs at a higher level in the protocol stack, based on messagescentered more on service semantics and less on network protocol semantics, thus enablingloose integration of business functions. These characteristics are ideal for connecting businessfunctions across the Web both between enterprises and within enterprises. They provide aunifying programming model so that application integration inside and outside the enterprisecan be done with a common approach, leveraging a common infrastructure. The integration andapplication of Web Services can be done in an incremental manner, using existing languagesand platforms and by adopting existing legacy applications. Moreover, Web Servicescompliment Java 2 Platform, Enterprise Edition (J2EE), Common Object Request BrokerArchitecture (CORBA) and other standards for integration with more tightly coupled distributedand nondistributed applications. Web Services are a technology for deploying and providingaccess to business functions over the Web; J2EE, CORBA and other standards are technologiesfor implementing Web Services.Although early use of Web Services is peer-wise and ad hoc, it still addresses the completeproblem of program-to-program communications including describing, publishing and findinginterfaces. And, as the use of Web Services grows and the industry matures, more dynamicmodels of application integration will develop. Eventually systems integration through WebServices will happen dynamically at runtime. Just-in-time integration will herald a new era ofbusiness-to-business integration over the Internet.Definition of Web ServicesA Web service is an interface that describes a collection of operations that are networkaccessible through standardized XML messaging. A Web service is described using astandard, formal XML notion, called its service description. It covers all the details necessary tointeract with the service, including message formats (that detail the operations), transportprotocols and location. The interface hides the implementation details of the service, allowing itto be used independently of the hardware or software platform on which it is implemented andalso independently of the programming language in which it is written. This allows andencourages Web Services-based applications to be loosely coupled, component-oriented,cross-technology implementations. Web Services fulfill a specific task or a set of tasks. They canbe used alone or with other Web Services to carry out a complex aggregation or a businesstransaction.Web Services Conceptual Architecture6

IBM Software GroupWeb Services OverviewThe Web Services ModelThe Web Services architecture is based upon the interactions between three roles: serviceprovider, service registry and service requestor. The interactions involve the publish, find andbind operations. Together, these roles and operations act upon the Web Services artifacts: theWeb service software module and its description. In a typical scenario, a service provider hostsa network-accessible software module (an implementation of a Web service). The serviceprovider defines a service description for the Web service and publishes it to a servicerequestor or service registry. The service requestor uses a find operation to retrieve the servicedescription locally or from the s