Unformatted text preview:

Web Services: Concepts, Architecture and Applications Part 8: Web services extensions Extending basic Web servicesWS-CoordinationWS-CoordinationBasics of WS-Coordination (1)Basics of WS-Coordination (2)Basics of WS-Coordination (3)Basics of WS-Coordination (4)Basics of WS-Coordination (5)Messages and interfacesWS-Coordinator in XMLWS-TransactionsWS-TransactionsCoordination protocol for 2PCBusiness agreementBusiness agreement with completionWS-TransactionsCORBA transactions (1)CORBA transactions (2)WS-SecurityWS-SecurityExample of tokenEncrypting a body blockWeb services extensionsWeb Services: Concepts, Architecture and ApplicationsPart 8: Web services extensions Gustavo Alonso and Cesare PautassoComputer Science DepartmentETH Zü[email protected]://www.inf.ethz.ch/~alonso©ETH Zürich Part 8: Extensions 2Extending basic Web services SOAP, WSDL and UDDI provide the basic infrastructure for Web services. In real applications, however, additional functionality is needed Currently, there are literally several dozen proposals on different extensions to Web services covering almost every conceivable aspect. These proposals are evolving very quickly and disappear,merge, or change too rapidly to really influence actual systems Looking at these extensions provides a good idea of the mind setof some of the vendors pushing for Web services and where they hope to get an advantage over competitors As examples of some of these existing proposals, we will brieflyreview:ÄWS-CoordinationÄWS-TransactionsÄWS-Security©ETH Zürich Part 8: Extensions 3WS-Coordination©ETH Zürich Part 8: Extensions 4WS-Coordination WS-Coordination is intended as a generic infrastructure to implement coordination protocols between Web services Its main goal is to serve as a generic platform for implementing advanced transaction models but it can be used to implement a wide variety of coordination protocols between services (including some forms of conversations) WS-Coordination encompasses a set of behaviors and APIs which enable a module to extend Web services with coordination capabilities It mirrors the behavior of transactional services in conventional middleware platformsCOORDINATORActivationserviceRegistration serviceCoord.ProtocolACoord.ProtocolB...Start a coordinationprotocolRegister for acoordinationprotocolOperations ofcoordinationprotocolOperations ofcoordinationprotocol©ETH Zürich Part 8: Extensions 5Basics of WS-Coordination (1)ActivationserviceRegistrationservice ACoord.Protocol YaCOORDINATOR AActivationserviceRegistrationservice BCoord.Protocol YbCOORDINATOR BAPPLICATIONACreateCoordinationContextfor coordination type QAPPLICATIONBContext (Ca)activity identifier A1coordination type Q supporting protocol YportReference for the registration service A©ETH Zürich Part 8: Extensions 6Basics of WS-Coordination (2)ActivationserviceRegistrationservice ACoord.Protocol YaCOORDINATOR AActivationserviceRegistrationservice BCoord.Protocol YbCOORDINATOR BAPPLICATIONAAPPLICATIONBAPPLICATION MESSAGE (e.g., SOAP message)HTTP POSTSOAP EnvelopeHeader: Context Ca Body©ETH Zürich Part 8: Extensions 7Basics of WS-Coordination (3)ActivationserviceRegistrationservice ACoord.Protocol YaCOORDINATOR AActivationserviceRegistrationservice BCoord.Protocol YbCOORDINATOR BAPPLICATIONAAPPLICATIONBCreateCoordinationContextCaContext (Cb)activity identifier A1coordination type Q supporting protocol YportReference for the registration service B©ETH Zürich Part 8: Extensions 8Basics of WS-Coordination (4)ActivationserviceRegistrationservice ACoord.Protocol YaCOORDINATOR AActivationserviceRegistrationservice BCoord.Protocol YbCOORDINATOR BAPPLICATIONAAPPLICATIONBApplication Bregisters for coordination protocol Yand passes portReference to the protocol©ETH Zürich Part 8: Extensions 9Basics of WS-Coordination (5)ActivationserviceRegistrationservice ACoord.Protocol YaCOORDINATOR AActivationserviceRegistrationservice BCoord.Protocol YbCOORDINATOR BAPPLICATIONAAPPLICATIONBRegistration service B forwards the registration ofapplication B to the registration service A alongwith information about coordination protocol YbThe registration service A can the link both ends of the coordination protocol©ETH Zürich Part 8: Extensions 10Messages and interfaces The coordinator defined by WS-Coordination is described using WSDL and offers a number of services to the application. The application accesses these services by sending, e.g., SOAP messages to the coordinator which then responds with new SOAP messages. Interactions with the protocol would then also be in terms of SOAP messages (but other protocols are possible, one simply needs to provide alternative bindings for the coordinator services) The example shown considers the case where application B decides to use its own coordinator. Application B could also decide to use the same coordinator as application A but in the cases where A and B are independent services, provided by different organizations, a coordinator per application makes more sense WS-Coordination is an attempt at standardizing:Ä the use of SOAP headers for coordination protocolsÄ the basic operations for most coordination protocolsÄ the functionality a Web service middleware platform must support for allowing coordination protocols to be implemented©ETH Zürich Part 8: Extensions 11WS-Coordinator in XMLACTIVATION SERVICE:<wsdl:portType name="ActivationCoordinatorPortType"><wsdl:operation name="CreateCoordinationContext"><wsdl:input message="wscoor:CreateCoordinationContext"/></wsdl:operation></wsdl:portType>RESPONSE ACTIVATION SERVICE<wsdl:portType name="ActivationRequesterPortType"><wsdl:operation name="CreateCoordinationContextResponse"><wsdl:input message="wscoor:CreateCoordinationContextResponse"/></wsdl:operation><wsdl:operation name="Error"><wsdl:input message="wscoor:Error"/></wsdl:operation></wsdl:portType>From Web Services Coordination (WS-Coordination) 9 August 2002©ETH Zürich Part 8: Extensions 12WS-Transactions©ETH Zürich Part 8: Extensions 13WS-Transactions WS-Transactions builds directly upon WS-Coordination to specify different coordination protocols related to transaction processingÄatomic transactions (governed by 2 Phase Commit)Äbusiness activities (transactional but based on compensation activities)• business agreement• business agreement with complete WS-Transactions specify the coordination protocol to be used as


View Full Document

MTU SSE 3200 - Web services extensions

Download Web services extensions
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Web services extensions and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Web services extensions 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?