1 / 25

Web Service Composition

Web Service Composition. Prepared by Robert Ma February 5, 2007. Web Services. Consider the following set of web services. Web Services (2). What about between organizations?. Overview. Businesses today requires to quickly adapt to customer needs and market conditions

arawn
Télécharger la présentation

Web Service Composition

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Web Service Composition Prepared by Robert Ma February 5, 2007

  2. Web Services • Consider the following set of web services ECE 1770 –Web Service Composition

  3. Web Services (2) • What about between organizations? ECE 1770 –Web Service Composition

  4. Overview • Businesses today requires to quickly adapt to customer needs and market conditions • EAI and B2B interactions (through web services) • Needs to be flexible internally and externally • Without a common set of standard, each organization is left to build their own set of proprietary business protocols • Leaving little flexibility for true web services collaboration ECE 1770 –Web Service Composition

  5. Web Service Composition • Definition: • Provides an open, standards-based approach for connecting web services together to create higher-level business processes. • Standards are designed to reduce the complexity required to compose web services, hence reducing time and costs, and increase overall efficiency in businesses ECE 1770 –Web Service Composition

  6. Web Service Composition (2) ECE 1770 –Web Service Composition

  7. Basic Requirements • Ability to invoke services in a asynchronous manner • Achieve reliability, scalability, and adaptability required by Today’s IT environment • Manage exception and transactional integrity • Studies shown nearly 80% of the time spent in building business processes are spent in exception management • Provide dynamic, flexible, and adaptable framework • Provide a clear separation between the process logic and the web services used • Able to compose higher-level services from existing processes ECE 1770 –Web Service Composition

  8. Standards • BPEL4WS (a.k.a. BPEL) – Business Process Execution Language for Web Services • IBM and Microsoft • WSCI – Web Services Choreography Interface • Sun, SAP, BEA, and Intalio • BPML – Business Process Management Language • BPMI.org (chartered by Intarlio, Sterling Commerce, Sun, CSC, and others) ECE 1770 –Web Service Composition

  9. BPEL4WS • XML-Based language • It describes the control logic for web services coordination in a business process • Interpreted and executed by a BPEL engine ECE 1770 –Web Service Composition

  10. BPEL - Overview • Use Web Services Standard as a base • Every BPEL is exposed as a web service using WSDL. And the WSDL describes the public entry and exit points of the process • Interacts through WSDL interfaces with external web services • WSDL data types are used to describe information flow within the BPEL process ECE 1770 –Web Service Composition

  11. BPEL - Process Overview ECE 1770 –Web Service Composition

  12. BPEL - Process Models • Provides support for two business process models • Executable • Models the behavior of participants in a specific business interaction, a private workflow • Abstract • Business protocols in BPEL, specify the public message exchanges between parties ECE 1770 –Web Service Composition

  13. BPEL - Activities • Basic Activities: • Interacts with external services • <invoke>, <receive>, and <reply> • Structured Activities: • Internal process control flow • sequential flow, conditional branching, looping, and etc. ECE 1770 –Web Service Composition

  14. BPEL - Containers and Partners • Containers • Data exchanges in the message flow • e.g. WSDL messageType • Partners • Any services that the process invokes OR any services that the invokes the process <partners> <partner name=”buyer” … myRole=”agent”/> <partner name=”supplier” … myRole=”requestor” partnerRole=”supplier”/> </partners> <containers> <container name=”request” messageType=”tns:orderRequest”/> <container name=”response” messageType=”tns:orderResponse”/> </containers> ECE 1770 –Web Service Composition

  15. BPEL - Code • A sequence <sequence> <receive partner=”buyer” … operation=”sendOrder” container=”request”/> <invoke partner=”supplier” … operation=”request” container=”order”/> <reply partner=”buyer” … operation=”response” container=”proposal”/> </sequence> ECE 1770 –Web Service Composition

  16. BPEL - Others • Transactions and Exceptions • Building on top of WS-Coordination and WS-Transaction specifications • Transaction • A set of activities can be grouped in a single transaction through the <scope> tag • Can specify compensation handlers (rollback) if there is an error • Exception Handling • Through the use of throw and catch (similar to Java) ECE 1770 –Web Service Composition

  17. BPEL – Example Process ECE 1770 –Web Service Composition

  18. WSCI • XML-based language • Defines the choreography describing the messages between web services that participate in a collaborative exchange • Only describes the observable behavior between web services • No single controlling process managing the interaction ECE 1770 –Web Service Composition

  19. WSCI - Actions • Actions <action> represents a unit of work and would typically map to a specific WSDL operation • WSDL describes the entry points of each service • WSCI describes the interactions among these operations • External services are invoked through <call> tag • Supports transaction and exception handling ECE 1770 –Web Service Composition

  20. WSCI - Snippet <process name=”Purchase” instantiation=”message”> <sequence> <action name=”ReceiveOrder” role=”Agent” operation=”tns:Order”> </action> <action name=”Confirm” role=”Agent” operation=”tns:Confirm”> <correlate correlation=”tns:ordered”/> <call process=”tns:Purchase”/> </action> </sequence> </process> • Note: this WSCI is from the perspective of the “Agent”, there would also be WSCI file for other parties in the process ECE 1770 –Web Service Composition

  21. BPML • XML-based language • Incorporates WSCI into the standard • WSCI used to describe public interactions • BPML used to develop private logic implementations • Provides similar process flow constructs and activities as BPEL • Transactional support and exception handling ECE 1770 –Web Service Composition

  22. Summary • BPEL and BPML focuses on creation of business processes • Describe an executable process from the partner’s perspective • WSCI focuses on public message exchanges between web services • Each participant in message exchange defines a WSCI interface ECE 1770 –Web Service Composition

  23. Summary ECE 1770 –Web Service Composition

  24. Some Open/Closed Source Engines • BPEL • IBM • WebSphere Process Server + WebSphere Integration Developer • $5014 for a 12-month license • Microsoft • BizTalk Server • Standard Ed. for $8499 USD and Enterprise Ed. for $29999 USD • http://www.microsoft.com/biztalk/howtobuy/default.mspx • Open Source • Twister • $0 • Eclipse - SOA Tools Platform • $0 ECE 1770 –Web Service Composition

  25. Discussion • Security in Web Service Composition and Web Service in general • A number of standards like XML Digital Signatures and Encryption, WS-Security • Provide authentication and authorization of users, and for securing the XML message itself • But composition standards do not offer direct support for security! • In BPEL, how do the roles defined for each partner relate the existing authentication standards? ECE 1770 –Web Service Composition

More Related