Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2007 IBM Corporation ® Real-world Considerations and Uses of Web Service Transactions in SOA Ian Robinson Chair OASIS WS-TX Technical Committee IBM Distinguished.

Similar presentations


Presentation on theme: "© 2007 IBM Corporation ® Real-world Considerations and Uses of Web Service Transactions in SOA Ian Robinson Chair OASIS WS-TX Technical Committee IBM Distinguished."— Presentation transcript:

1 © 2007 IBM Corporation ® Real-world Considerations and Uses of Web Service Transactions in SOA Ian Robinson Chair OASIS WS-TX Technical Committee IBM Distinguished Engineer

2 Real-world uses of transactional Web Services IBM Software Group 2 Web services composeable architecture Management & Composition Transports Messaging Description Quality of Service HTTP/HTTPS SMTP RMI / IIOP XSD WSDL SOAP XMLWS-Addressing WS-Policy WSDM JMS Security WS-ReliableMessaging WS-Transaction WS-BPEL WS-AtomicTransaction WS-BusinessActivity WS-Coordination

3 Real-world uses of transactional Web Services IBM Software Group 3 Brief history of WS-Tx standard  WS-Tx = WS-Coordination +… –WS-AtomicTransaction Atomic commit or rollback; 2PC –WS-BusinessActivity Overall outcome atomic; business compensation  Version 1.0 specs published Aug 2005 –Input for OASIS WS-Tx Technical Committee  OASIS WS-Tx TC V1.1 standard published April 2007

4 Real-world uses of transactional Web Services IBM Software Group 4 WS-Transaction: federating transactions across disparate systems  WS-Tx defines the following concepts: –An XML CoordinationContext that identifies a transaction and which is passed implicitly in Web service messages without this context having to be declared as an explicit message parameter. in the SOAP header for a SOAP binding –A generic Coordination message set –Protocol-specific messages sets that define the AT and BA protocols  This XML context and XML messages are designed for simple transformation within different runtimes to map down to underlying transaction processing technologies. –For example, the J2EE WebSphere platform transforms WS-AT  (JTA-based impl)  XA

5 Real-world uses of transactional Web Services IBM Software Group 5 Coordination Context (I) uuid:33ca57d4-eaab-4939-8177-77351e6e63c7 60000 http://schemas.xmlsoap.org/ws/2004/10/wsat http://wsatserver/wscoor/Registration 246 … Note: Applications don’t see or care about this

6 Real-world uses of transactional Web Services IBM Software Group 6 Coordination Context (II) Flows as a SOAP header on application requests http://tempuri.org/application/action http://server/service/ … Note: Applications don’t see or care about this

7 Real-world uses of transactional Web Services IBM Software Group 7 WS-Transaction architecture Requester runtime Requester application WS-Coordination & (WS-AT, WS-BA) Provider runtime Target Web Service Runtime env e.g. J2EE server begin TX Create CoordinationContext Web service request wscoor:Register WS-Coordination & (WS-AT, WS-BA) commit/close Runtime env e.g..NET server Add context Extract context

8 Real-world uses of transactional Web Services IBM Software Group 8 When is WS-AT useful?  WS-AT enables the scope of ACID behaviour to be distributed between Web service components.  BUT… –Resource locks are held throughout the transaction –Services that share an ACID transaction are not loosely coupled  Primary uses: –transactions between services within a single organization domain –sometimes the only way to distribute an ACID transaction across different software stacks.

9 Real-world uses of transactional Web Services IBM Software Group 9 When is WS-AT useful? Atomic transaction RDBMS Web service WSa Web service WSb App Server 1App Server 2 Transaction Manager Transaction Manager 2PC

10 Real-world uses of transactional Web Services IBM Software Group 10 Engaging transactions

11 Real-world uses of transactional Web Services IBM Software Group 11 When is WS-BA useful?  WS-BA provides a different form of atomicity from WS-AT. Participant are still brought to an atomic outcome but: –there is no isolation of resources –application-level compensation is required instead of resource manager rollback  Also appropriate for longer-running and more loosely-coupled interactions. –but don’t equate compensation with “looser coupling”.  A non-process-oriented approach c.f. WS-BPEL  Primary uses: –business transactions that span organizational boundaries –distributed processes that use non-transactional resources

12 Real-world uses of transactional Web Services IBM Software Group 12 When is WS-BA useful?  Business Tasks execute within the scope of a Business Activity  Updates are exposed before Business Activity completes  Completed participants receive common outcome Web service WSa Web service WSb Business Activity Runtime 1Runtime 2 Business Task Business Task BA participant Compensate

13 Real-world uses of transactional Web Services IBM Software Group 13 What about the “NFRs”? The TX specs define interoperable Web service transaction protocols. They don’t define “non-functional requirements” such as:  Proxies and firewalls  High availability and failover of TX endpoints  Transaction-based workload management affinity These are outside the scope of the specification. But any enterprise-level SOA runtime needs to accommodate these. Where are these considerations factored and do they affect interoperability?

14 Real-world uses of transactional Web Services IBM Software Group 14 WS-Addressing EndpointReferences  The TX endpoints exchanged are WS-Addressing EndpointReferences: –A “++” XML pointer. –Contains an address URI for the endpoint service –Contains a set of opaque “ReferenceParameter” tokens that augment the address with anything required by the target service or its runtime environment. http://wsgw.fabrikam.com/_IBMSYSAPP/wsat/services/Participant 111-222-333 475639400084265978327593

15 Real-world uses of transactional Web Services IBM Software Group 15 WS-TX and intermediary nodes Server A Server B Intermediary node for server B Application Requests WS-TX Protocol Requests DMZ in firewall for Server B Intermediary node for server A HTTP reverse proxy for server A sA.myserv.com sB.yourserv.com gw.myserv.com gw.yourserv.com http://gw.yourserv.com/_IBMSYSAPP/wsat/services/Participant 111-222-333 475639400084265978327593 http://gw.myserv.com/_IBMSYSAPP/wsat/services/Coordinator … Participant service Coordinator service

16 Real-world uses of transactional Web Services IBM Software Group 16 High availability failover of protocol endpoints Edge of network HTTP Proxy AppServer Node EPRs from each server contain a virtual host address mapped by the proxy. RefParams in the EPR are used by WLM plug-in to “follow” HA failover. WebService Environment WS-Tx Coordinator WLM WS-Tx plugin Server Cluster HA failover of EPR based on RefParams wsat:Commit WS-Tx Participant service WS-Tx Participant service EPR’ wsat:Commit wsba:Close s1.fabrikam.com s2.fabrikam.com wsgw.fabrikam.com

17 Real-world uses of transactional Web Services IBM Software Group 17 High availability failover of protocol endpoints Edge of network HTTP Proxy AppServer Node WebService Environment WS-Tx Coordinator Server Cluster HA failover of EPR based on RefParams wsat:Commit WS-Tx Participant service WS-Tx Participant service wsat:Commit wsba:Close http://wsgw.fabrikam.com/_IBMSYSAPP/wsat/services/Participant 111-222-333 475639400084265978327593 EPR’ WLM WS-Tx plugin wsgw.fabrikam.com

18 Real-world uses of transactional Web Services IBM Software Group 18 Transaction-based affinity routing Edge of network HTTP Proxy AppServer Node Web service provider AppServer Node Web service provider WLM transaction affinity constraints. All requests to WLM-able EPRs within the same WS-Tx context targeted to the same server. WebService Environment Global Tran WLM WS-Tx plugin Server Cluster Affinity based on CoordinationContext App msgs WS-Tx Coordinator begin Requester commit

19 Real-world uses of transactional Web Services IBM Software Group 19 Transaction-based affinity routing Edge of network HTTP Proxy AppServer Node Web service provider AppServer Node Web service provider WebService Environment Global Tran Server Cluster Affinity based on CoordinationContext App msgs WS-Tx Coordinator begin Requester commit uuid:33ca57d4-eaab-4939-8177-77351e6e63c7 http://docs.oasis-open.org/ws-tx/wsat/2006/06 … … WLM WS-Tx plugin

20 Real-world uses of transactional Web Services IBM Software Group 20 Order Management Application: HA WS-AT deployment DB2 Database WAS Node A WAS Node B Shared File System Order Service TM (WS-AT) XA JDBC Order Service TM (WS-AT) XA JDBC DB2 Database WAS Node X WAS Node Y Shared File System Inventory Service TM (WS-AT) XA JDBC Inventory Service TM (WS-AT) XA JDBC Cell 1, Cluster 1 Cell 2, Cluster 2 WLM WS-AT protocol messages App Messages HA Failover WS-AT protocol messages HA Failover Distributed transaction WAS v6.1 on AIX

21 Real-world uses of transactional Web Services IBM Software Group 21 Online Banking: Proxied/WLM’d WS-BA deployment WAS v6.1 on zOS Payment Service Sysplex Credit Adapter Deposit Adapter HTTP Proxy WLM Sysplex Distributor CICS Transaction Gateway Payment Service Credit Adapter Deposit Adapter HTTP Proxy CRED CICS DPST TM (WS-BA) Online Banking WAS (AIX/Linux/Win ) TM (WS-BA) TM (WS-BA) App WS-BA App WS-BA WLM App WS-BA App Messages Distributed transaction WAS v6.1 on zOS

22 Real-world uses of transactional Web Services IBM Software Group 22 Summary  WS-Transaction defines a generic framework for Web service coordination protocols, as well as two concrete protocols for atomic and compensating transactions.  Usage of transactions needs to be considered carefully. But using them is very simple.  The “non-functional requirements” that are typically necessary for enterprise deployments can be provided in a transparent and interoperable fashion.  Applications that use WS-AT and WS-BA and exploit these enterprise qualities of service have been successfully deployed and demonstrate the viability of these advanced technologies in the real world.

23 Real-world uses of transactional Web Services IBM Software Group 23


Download ppt "© 2007 IBM Corporation ® Real-world Considerations and Uses of Web Service Transactions in SOA Ian Robinson Chair OASIS WS-TX Technical Committee IBM Distinguished."

Similar presentations


Ads by Google