Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2008 Progress Software Corporation1 SOA-33: Transactions in a SOA World What happens next? Flight Booking Hotel Booking Car Booking (3) Calls (2) Change.

Similar presentations


Presentation on theme: "© 2008 Progress Software Corporation1 SOA-33: Transactions in a SOA World What happens next? Flight Booking Hotel Booking Car Booking (3) Calls (2) Change."— Presentation transcript:

1 © 2008 Progress Software Corporation1 SOA-33: Transactions in a SOA World What happens next? Flight Booking Hotel Booking Car Booking (3) Calls (2) Change DB (5) Calls (6) Fails Client (1) Calls (4) Change DB

2 SOA-33: Transactions in an SOA World (Practical Examples) Mike Ormerod Applied Architect

3 © 2008 Progress Software Corporation3 SOA-33: Transactions in a SOA World Definition : Transaction “A transaction is a set of related changes to the database that the database either completes in its entirety or discards, leaving no modification to the database.” OpenEdge ® Development: ABL Handbook

4 © 2008 Progress Software Corporation4 SOA-33: Transactions in a SOA World ACID Properties  Atomic – All or nothing  Consistent – Start & End in a Consistent state  Isolated – transactions appear isolated from all other operations  Durable – once notified, the transaction will persist

5 © 2008 Progress Software Corporation5 SOA-33: Transactions in a SOA World Definition : Distributed Transaction “A distributed transaction is a single transaction that updates two or more databases.” OpenEdge Data Management: Database Admin

6 © 2008 Progress Software Corporation6 SOA-33: Transactions in a SOA World SOA Transactions  Functionality separated into Services Application comprises many Services  Services as a separate platform  System Independent Entities

7 © 2008 Progress Software Corporation7 SOA-33: Transactions in a SOA World SOA Transaction Issues  Multiple services resulting in multiple endpoints  Loosely coupled systems Maintaining Txn’s only possible in closely coupled systems  Services based on any platform  Resources can’t be kept in a locked state  Alternate Recover methods ARCH-13: Transactions in an SOA World

8 © 2008 Progress Software Corporation8 SOA-33: Transactions in a SOA World What’s needed  Uniquely identify transaction across services  Guarantee that data is delivered and notifications sent  Some form of compensation for when it goes wrong  Handle errors in asynchronous services

9 © 2008 Progress Software Corporation9 SOA-33: Transactions in a SOA World Possible Solutions 1.Compensation 2.Transaction Coordinator

10 © 2008 Progress Software Corporation10 SOA-33: Transactions in a SOA World Definition : Compensation “Compensation is an action taken when something goes wrong or when there is a change of plan.” IBM Systems Journal– April 2002

11 © 2008 Progress Software Corporation11 SOA-33: Transactions in a SOA World Compensation Flight Booking Hotel Booking Car Booking (3) Calls (2) Change DB (5) Calls (6) Fails (7) Error/Exception thrown (8) Return error (9) Call Compensation (10) Apply Compensation (14) Return Failure Client (1) Calls (4) Change DB (11) Return Error (12) Call Compensation (10) Apply Compensation

12 © 2008 Progress Software Corporation12 SOA-33: Transactions in a SOA World Compensation Issues  Asynchronous services  Where to store state details

13 © 2008 Progress Software Corporation13 SOA-33: Transactions in a SOA World Definition : Transaction Coordination “Orchestration of transactions through a transaction manager or process coordinator.” SOA Systems – Feb 2007

14 © 2008 Progress Software Corporation14 SOA-33: Transactions in a SOA World Coordination Advantages  Fixes Asynchronous issues of Compensation  Manages state & service information  Central management of transaction & compensation

15 © 2008 Progress Software Corporation15 SOA-33: Transactions in a SOA World Coordination Service Service 1 Service 2 Service 3 Coordinator Service (2) Call (5) Call (6) Change DB (7) Return(8) Call (9) Fails (10) Return Fail (11) Call Compensation (12) Apply Compensation (13) Return (16) Return Client (1) Call (3) Change DB (15) Apply Compensation (4) Return (14) Call Compensation (17) Return Fail

16 © 2008 Progress Software Corporation16 SOA-33: Transactions in a SOA World OpenEdge Reference Architecture Presentation Business Components Data Access Data Sources Common Infrastructure Enterprise Services

17 © 2008 Progress Software Corporation17 SOA-33: Transactions in a SOA World Vacation Booking - ABL Flight Booking Hotel Booking Car Booking Coordinator Service (2) Call (5) Call (6) Change DB (7) Return(8) Call (9) Fails (10) Return Fail (11) Call Compensation (12) Apply Compensation (13) Return (16) Return Client (1) Call (3) Change DB (15) Apply Compensation (4) Return (14) Call Compensation (17) Return Fail Business Component s Data Access Business Component s Data Access Business Component s Data Access Business Workflow

18 © 2008 Progress Software Corporation18 SOA-33: Transactions in a SOA World Vacation Booking - ESB Service 1 Service 2 Service 3 Coordinator Service (2) Call (5) Call (6) Change DB (7) Return(8) Call (9) Fails (10) Return Fail (11) Call Compensation (12) Apply Compensation (13) Return (16) Return Client (1) Call (3) Change DB (15) Apply Compensation (4) Return (14) Call Compensation (17) Return Fail Enterprise Service Bus

19 © 2008 Progress Software Corporation19 SOA-33: Transactions in a SOA World Vacation Booking - BPEL Service 1 Service 2 Service 3 Coordinator Service (2) Call (5) Call (6) Change DB (7) Return(8) Call (9) Fails (10) Return Fail (11) Call Compensation (12) Apply Compensation (13) Return (16) Return Client (1) Call (3) Change DB (15) Apply Compensation (4) Return (14) Call Compensation (17) Return Fail Enterprise Service Bus BPEL Service

20 © 2008 Progress Software Corporation20 SOA-33: Transactions in a SOA World In Summary  ACID is good, taken in short doses!  Plan, Design & Architect for target implementation  Choose the appropriate transaction model for you  Consider ESB & BPEL

21 © 2008 Progress Software Corporation21 SOA-33: Transactions in a SOA World Questions ?

22 © 2008 Progress Software Corporation22 SOA-33: Transactions in a SOA World Thank You

23 © 2008 Progress Software Corporation23 SOA-33: Transactions in a SOA World


Download ppt "© 2008 Progress Software Corporation1 SOA-33: Transactions in a SOA World What happens next? Flight Booking Hotel Booking Car Booking (3) Calls (2) Change."

Similar presentations


Ads by Google