SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
This Presentation Courtesy of the
                          International SOA Symposium
                          October 7-8, 2008 Amsterdam Arena
                          www.soasymposium.com
                          info@soasymposium.com


                                       Founding Sponsors




Platinum Sponsors




Gold Sponsors       Silver Sponsors
Web Services and Transactions


                    Dr Mark Little
       Technical Development Manager, Red Hat
Overview

• Fault tolerance
• Transaction fundamentals
  – What is a transaction?
  – ACID properties
• The Web Service effect on transactions
• What characteristics do we really need?
• Is this specific to Web Services?




   2                                   Red Hat
Fault tolerance

• Machines and software fail
      – Fundamental universal law (entropy increases)
      – Things get better with each generation, but still
        statistically significant
• Failures of centralized systems difficult to
  handle
• Failures of distributed systems are much
  more difficult




  3                                                   Red Hat
Fault tolerance techniques

• Replication of resources
        – Increase availability
            • Probability is that a critical number of resources remain
              operational
            • “Guarantee” forward progress
        – Tolerate programmer errors by heterogeneous
          implementations
• Spheres of control
     – “Guarantee” no partial completion of work in the presence of
       failures
•   Often a duality
        – “Understanding the Role of Atomic Transactions and Group
          Communications in Implementing Persistent Replicated”,
          Proceedings of the 8th International Workshop on
          Persistent Object Systems, California, USA,1998

    4                                                                 Red Hat
What is a transaction?

• Mechanistic aid to achieving correctness
• Provides an “all-or-nothing” property to
  work that is conducted within its scope
     – Even in the presence of failures
• Ensures that shared resources are
  protected from multiple users
• “Guarantees” the notion of shared global
  consensus
     – Different parties in different locales have the same view of
       the transaction outcome




 5                                                           Red Hat
Two-phase commit



          Phase 1                        Phase 2

    COMMIT ?         A   RDBMS
                                              A    RDBMS
                                     COMMIT
               YES
C
               YES               C

    COMMIT ?
                     B   RDBMS       COMMIT
                                              B    RDBMS




6                                                  Red Hat
Transactions for Web Services

• Business-to-business interactions may be
  complex
      – involving many parties
      – spanning many different organisations
      – potentially lasting for hours or days
• Cannot afford to lock resources on behalf of an
  individual indefinitely
• May need to undo only a subset of work
• So the search has been on, because …




  7                                             Red Hat
ACID-ic Web Services?

• ACID transactions implicitly assume
      – Closely coupled environment
         • All entities involved in a transaction span a LAN, for
           example.
      – Short-duration activities
         • Must be able to cope with resources being locked for
           periods
• Therefore, do not work well in
   – Loosely coupled environments!
   – Long duration activities!




  8                                                           Red Hat
However …

• Web Services are about interoperability
      – Much less about “Web”
• In the short term Web Services
  transactions will be about interoperability
  between existing TP systems




  9                                     Red Hat
What characteristics are right?

 • Need to be able to relax the strict ACID properties
 • Need to put control of some into hands of service
   developer
     – Is consistency (or consensus) important?
 • May need a notion of a central coordinator
     – But may not!
     – Or something with a fuzzy idea of whatʼs going on
 • “A comparison of Web services transaction
   protocols”, IBM Developer Works, 2003.




10                                                         Red Hat
Relaxing isolation

 • Internal isolation of resources should be a
   decision for the service provider
     – E.g., commit early and define compensation activities
     – However, it does impact applications
        • Some users may want to know a priori what isolation policies
          are used
 • Undo can be whatever is required
     – Before and after image
     – Entirely new business processes
     – Not guaranteed to really undo




11                                                                  Red Hat
Relaxing atomicity

 • Sometimes it may be desirable to cancel some
   work without affecting the remainder
     – E.g., prefer to get airline seat now even without travel
       insurance
 • Similar to nested transactions
     – Work performed within scope of a nested transaction is
       provisional
     – Failure does not affect enclosing transaction




12                                                                Red Hat
Structuring transactions

 • Could structure transactional applications from
   short-duration transactions
     – Release locks early
     – Resulting application may still be required to appear to have
       “ACID” properties
         • May require application specific means to restore consistency
 • A transactional workflow system could be used
   to script the composition of these transactions
     – But you still need a reliable “coordinator”
         • Something that knows the state of the flow
         • Participants also need to know/remember their state
 • Recovery!
     – Workflows without (automatic) recovery can be a PITA


13                                                                   Red Hat
Relaxation of consistency

 • ACID transactions (with two-phase commit) are
   all about strong global consistency
     – All participants remain in lock-step
     – Same view of transaction outcome
 • But that does not scale
     – Replication developers have known about this for years
         • Weak consistency replication protocols developed for large
           scale (number of replicas and physical deployment)
         • Merging of caching and replication protocols
             – Local domains of consistency
         • Cannot “stop the world” and enforce global consistency
     – Some transaction research into this, but industry pushing
       global consistency
         • Starting to see a change


14                                                                      Red Hat
Heisenbergʼs Uncertainty
           Principle
 • Cannot accurately measure both position and
   momentum of sub-atomic particles
     – Can know one with certainty, but not the other
     – Non-deterministic measurements
 • Large-scale/loosely-coupled transactional
   applications suffer the same effect
     – Can know that all services will eventually see same state,
       just not when
     – Or at known time can determine state within
       model/application specific degree of uncertainty
 • Or another way of thinking about it …
     – No such thing as simultaneity in data space as there isn't in
       space-time
         • “Data on the Outside vs. Data on the Inside”, by Pat Helland

15                                                                    Red Hat
No global consensus

 • Split transactions into domains of consistency
     – Strong consistency within domains
     – Some level of (known) consistency between domains
         • See “A method for combining replication and caching”,
           Proceedings of International Workshop on Reliable Middleware
           Systems, October 1999.
         • OASIS WS-BusinessProcess specification, part of OASIS WS-
           CAF, 2003.
     – Resolve inconsistencies at the business level
         • Don’t try and run consensus protocols between domains
 • Consistency related to isolation
     – Put into the control of the service and application developers




16                                                                 Red Hat
Web Services or scale?

 • Problems with transactions pre-date Web
   Services
     – “Restructure your application to remove transactions”
 • Current issues with database technologies are
   not Web Services specific either
 • Problems are two-fold
     – Scalability (size and geographic distributed nature)
     – Control over the infrastructure/services
         • Trust comes into this too
 • Much research in the 1990ʼs
 • SOA (and Web Services) bring this to the
   foreground
     – REST would be just as appropriate
         • Yes, people really do want atomic updates across Web servers


17                                                                 Red Hat
OASIS WS-TX Goals

 • 4th attempt at standardising
 • Support range of use cases
 • “One-size does not fit all”
     – “Make each program do one thing well; to do a new job,
       build afresh rather than complicate old programs by adding
       new features”, Doug McIlroy, inventory Unix pipes
     – Therefore a single protocol cannot cope with all
       requirements
 • Interoperability with existing transaction
   infrastructures




18                                                             Red Hat
WS-AT/WS-BA

 • Specifications released by Arjuna, BEA, IBM,
   IONA and Microsoft
     – Now OASIS standard
 • Separate coordination from transactions
     – WS-Coordination
 • Define two transaction models
     – AtomicTransaction
         • Closely coupled, interoperability
     – Business Activities
         • Compensation based, for long duration activities




19                                                            Red Hat
Web Services Coordination

 • Coordination is more fundamental than
   transactions
     – Transactions, security, workflow, replication, …
     – But each use may require different protocol
        • Two-phase, three-phase, QoS specific, …
 • Define separate coordination service
     – Allow customisation for different protocols




20                                                       Red Hat
WS-Coordination

 • Defines typical roles of coordinator and
   participant
     – Coordinator split into two roles
        • Activation service
           – Context
        • Registration service
     – Participant interface is implied by specific protocol




21                                                      Red Hat
WS-AtomicTransaction

 •   Assume ACID transactions
     –   High degree of trust
     –   Isolation for duration of transaction
     –   Backward compensation techniques
     –   Does not allow heuristic outcomes
 •   Integration with existing transaction systems
     – Important to leverage investments
 •   Interoperability between transaction systems
     – Something of a holy grail to date




22                                                   Red Hat
WS-BusinessActivity

 •   Workflow-like coordination and management
 •   Business activity can be partitioned into tasks
     – Parent and child relationships
         • Select subset of children to complete
         • Parent can deal with child failures without compromising forward
           progress
 •   Tasks can dynamically exit a business activity
 •   Tasks can indicate outcome earlier than termination
     – Up-calls rather than just down-calls




23                                                                            Red Hat
WS-BA example

                   coordinator


                       BA


     Child BA 1     Child BA 2      Child BA 3
     Supplier 1     Supplier 2      Supplier 3

        Buy                            Buy
                      Buy Tie
        Suit                          Shoes




                  Shopping Portal

                    Buy Outfit




                     Customer
                    Application



24                                               Red Hat
Compensating BA

                                                       coordinator

                          begin                                                   BA
                                                                        faulted
                                  completed   begin
                                                                                   begin
             Child BA 1                                Child BA 2                          Child BA 4   Child BA 3
             Supplier 1                                Supplier 2                          Supplier 4   Supplier 3
begin           Buy                                                                                        Buy
                                                         Buy Tie                            Buy Tie
                Suit                                                                                      Shoes




                                                      Shopping Portal

                                                         Buy Outfit




                                                         Customer
                                                        Application




        25                                                                                                           Red Hat
OASIS Business Process

 • All parties reside within business domains
     – Recursive structure is allowed
     – May represent a different transaction model
     – No required notion of consistency between domains
 • Business process is split into business tasks
     – Execute within domains
     – Compensatable units of work
        • Forward compensation during activity is allowed
            – Keep business process making forward progress
 • Consistency is application (service) dependent
 • Atomicity (or lack thereof) in the “large” is taken
   for granted


26                                                            Red Hat
Transaction example

 • REST transactions by HP in 2000
     – Yes, customers want to coordinate business interactions,
       even if only atomically
 • http://<machine>/transaction-coordinator
   Performing a GET returns a list of all transactions
   know to the coordinator (active and recovery)
 • http://<machine>/transaction-
   coordinator/begin?<ClientID>
   Performing a PUT will start a new transaction and
   return a URL /transaction-coordinator/<id>




27                                                            Red Hat
Conclusions

 • Transactions are important in mission critical
   environments
     – Definition of “transaction” needs to be re-thought for Web
       Services
     – But ACID transactions still important
 • OASIS WS-TX defines the standard for Web
   Services Transactions
     – Multiple protocols for different use cases
     – Demonstrated interoperability between
         •   Red Hat/Jboss
         •   IBM
         •   Microsoft
         •   IONA Technologies



28                                                             Red Hat

Más contenido relacionado

Destacado

Sven Hakan Olsson Composability Index V2
Sven Hakan Olsson    Composability  Index V2Sven Hakan Olsson    Composability  Index V2
Sven Hakan Olsson Composability Index V2SOA Symposium
 
Thomas Rischbeck Real Life E S B
Thomas  Rischbeck    Real  Life  E S BThomas  Rischbeck    Real  Life  E S B
Thomas Rischbeck Real Life E S BSOA Symposium
 
Anne Thomas Manes S O A Fatigue
Anne  Thomas Manes    S O A  FatigueAnne  Thomas Manes    S O A  Fatigue
Anne Thomas Manes S O A FatigueSOA Symposium
 
David Chappel S O A Grid
David  Chappel    S O A  GridDavid  Chappel    S O A  Grid
David Chappel S O A GridSOA Symposium
 
Art Ligthart Service Identification Techniques
Art  Ligthart    Service  Identification  TechniquesArt  Ligthart    Service  Identification  Techniques
Art Ligthart Service Identification TechniquesSOA Symposium
 
Hans De Visser The Business Operations Imperative
Hans De  Visser    The  Business  Operations  ImperativeHans De  Visser    The  Business  Operations  Imperative
Hans De Visser The Business Operations ImperativeSOA Symposium
 
Radovan Janecek R E S Tor S O A Pv1
Radovan  Janecek    R E S Tor S O A Pv1Radovan  Janecek    R E S Tor S O A Pv1
Radovan Janecek R E S Tor S O A Pv1SOA Symposium
 
Audience
AudienceAudience
Audiencelcmedia
 
Prakash Narayan Killer S O Aapps Using J2 E E
Prakash  Narayan   Killer S O Aapps Using J2 E EPrakash  Narayan   Killer S O Aapps Using J2 E E
Prakash Narayan Killer S O Aapps Using J2 E ESOA Symposium
 
Audience
AudienceAudience
Audiencelcmedia
 
Mohamad Afshar Moving Beyond Project Level S O A
Mohamad  Afshar    Moving Beyond Project Level S O AMohamad  Afshar    Moving Beyond Project Level S O A
Mohamad Afshar Moving Beyond Project Level S O ASOA Symposium
 
Paul C Brown S O A Governance
Paul  C  Brown    S O A  GovernancePaul  C  Brown    S O A  Governance
Paul C Brown S O A GovernanceSOA Symposium
 
Media Pitch
Media PitchMedia Pitch
Media Pitchlcmedia
 

Destacado (15)

Sven Hakan Olsson Composability Index V2
Sven Hakan Olsson    Composability  Index V2Sven Hakan Olsson    Composability  Index V2
Sven Hakan Olsson Composability Index V2
 
Thomas Rischbeck Real Life E S B
Thomas  Rischbeck    Real  Life  E S BThomas  Rischbeck    Real  Life  E S B
Thomas Rischbeck Real Life E S B
 
Anne Thomas Manes S O A Fatigue
Anne  Thomas Manes    S O A  FatigueAnne  Thomas Manes    S O A  Fatigue
Anne Thomas Manes S O A Fatigue
 
David Chappel S O A Grid
David  Chappel    S O A  GridDavid  Chappel    S O A  Grid
David Chappel S O A Grid
 
Memes
MemesMemes
Memes
 
Art Ligthart Service Identification Techniques
Art  Ligthart    Service  Identification  TechniquesArt  Ligthart    Service  Identification  Techniques
Art Ligthart Service Identification Techniques
 
Hans De Visser The Business Operations Imperative
Hans De  Visser    The  Business  Operations  ImperativeHans De  Visser    The  Business  Operations  Imperative
Hans De Visser The Business Operations Imperative
 
Radovan Janecek R E S Tor S O A Pv1
Radovan  Janecek    R E S Tor S O A Pv1Radovan  Janecek    R E S Tor S O A Pv1
Radovan Janecek R E S Tor S O A Pv1
 
Audience
AudienceAudience
Audience
 
Prakash Narayan Killer S O Aapps Using J2 E E
Prakash  Narayan   Killer S O Aapps Using J2 E EPrakash  Narayan   Killer S O Aapps Using J2 E E
Prakash Narayan Killer S O Aapps Using J2 E E
 
Audience
AudienceAudience
Audience
 
Mohamad Afshar Moving Beyond Project Level S O A
Mohamad  Afshar    Moving Beyond Project Level S O AMohamad  Afshar    Moving Beyond Project Level S O A
Mohamad Afshar Moving Beyond Project Level S O A
 
Salary Review
Salary ReviewSalary Review
Salary Review
 
Paul C Brown S O A Governance
Paul  C  Brown    S O A  GovernancePaul  C  Brown    S O A  Governance
Paul C Brown S O A Governance
 
Media Pitch
Media PitchMedia Pitch
Media Pitch
 

Similar a Mark Little Web Services And Transactions

Mark Little R E S Tand W S Star
Mark  Little    R E S Tand W S StarMark  Little    R E S Tand W S Star
Mark Little R E S Tand W S StarSOA Symposium
 
MarkLittle_EnterpriseMiddlewareForThe21stCentury
MarkLittle_EnterpriseMiddlewareForThe21stCenturyMarkLittle_EnterpriseMiddlewareForThe21stCentury
MarkLittle_EnterpriseMiddlewareForThe21stCenturyKostas Mavridis
 
Grinding the java monolith
Grinding the java monolithGrinding the java monolith
Grinding the java monolithMichael Nygard
 
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedInJay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedInLinkedIn
 
The Stratification of Data Center Responsibilities
The Stratification of Data Center ResponsibilitiesThe Stratification of Data Center Responsibilities
The Stratification of Data Center Responsibilitiessflaig
 
Cloud Computing: The Hard Problems Never Go Away
Cloud Computing: The Hard Problems Never Go AwayCloud Computing: The Hard Problems Never Go Away
Cloud Computing: The Hard Problems Never Go AwayZendCon
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDBFoundationDB
 
As fast as a grid, as safe as a database
As fast as a grid, as safe as a databaseAs fast as a grid, as safe as a database
As fast as a grid, as safe as a databasegojkoadzic
 
Big iron 2 (published)
Big iron 2 (published)Big iron 2 (published)
Big iron 2 (published)Ben Stopford
 
CAP Theorem - Theory, Implications and Practices
CAP Theorem - Theory, Implications and PracticesCAP Theorem - Theory, Implications and Practices
CAP Theorem - Theory, Implications and PracticesYoav Francis
 
VMworld 2014: Virtualize Active Directory, the Right Way!
VMworld 2014: Virtualize Active Directory, the Right Way!VMworld 2014: Virtualize Active Directory, the Right Way!
VMworld 2014: Virtualize Active Directory, the Right Way!VMworld
 
Rightscale Webinar: Building Blocks for Private and Hybrid Clouds
Rightscale Webinar: Building Blocks for Private and Hybrid CloudsRightscale Webinar: Building Blocks for Private and Hybrid Clouds
Rightscale Webinar: Building Blocks for Private and Hybrid CloudsRightScale
 
We are drowning in complexity—can we do better?
We are drowning in complexity—can we do better?We are drowning in complexity—can we do better?
We are drowning in complexity—can we do better?Jonas Bonér
 
CQRS + Event Sourcing
CQRS + Event SourcingCQRS + Event Sourcing
CQRS + Event SourcingMike Bild
 
Managing Performance in the Cloud
Managing Performance in the CloudManaging Performance in the Cloud
Managing Performance in the CloudDevOpsGroup
 
Rightscale webinar-key-design-considerations-private-hybrid-clouds
Rightscale webinar-key-design-considerations-private-hybrid-cloudsRightscale webinar-key-design-considerations-private-hybrid-clouds
Rightscale webinar-key-design-considerations-private-hybrid-cloudsRightScale
 
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...Andrew Miller
 
Architectural Tactics for Large Scale Systems
Architectural Tactics for Large Scale SystemsArchitectural Tactics for Large Scale Systems
Architectural Tactics for Large Scale SystemsLen Bass
 
Modernizing Applications with Microservices
Modernizing Applications with MicroservicesModernizing Applications with Microservices
Modernizing Applications with MicroservicesMarkus Eisele
 
Ultra-scale e-Commerce Transaction Services with Lean Middleware
Ultra-scale e-Commerce Transaction Services with Lean Middleware Ultra-scale e-Commerce Transaction Services with Lean Middleware
Ultra-scale e-Commerce Transaction Services with Lean Middleware WSO2
 

Similar a Mark Little Web Services And Transactions (20)

Mark Little R E S Tand W S Star
Mark  Little    R E S Tand W S StarMark  Little    R E S Tand W S Star
Mark Little R E S Tand W S Star
 
MarkLittle_EnterpriseMiddlewareForThe21stCentury
MarkLittle_EnterpriseMiddlewareForThe21stCenturyMarkLittle_EnterpriseMiddlewareForThe21stCentury
MarkLittle_EnterpriseMiddlewareForThe21stCentury
 
Grinding the java monolith
Grinding the java monolithGrinding the java monolith
Grinding the java monolith
 
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedInJay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
 
The Stratification of Data Center Responsibilities
The Stratification of Data Center ResponsibilitiesThe Stratification of Data Center Responsibilities
The Stratification of Data Center Responsibilities
 
Cloud Computing: The Hard Problems Never Go Away
Cloud Computing: The Hard Problems Never Go AwayCloud Computing: The Hard Problems Never Go Away
Cloud Computing: The Hard Problems Never Go Away
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDB
 
As fast as a grid, as safe as a database
As fast as a grid, as safe as a databaseAs fast as a grid, as safe as a database
As fast as a grid, as safe as a database
 
Big iron 2 (published)
Big iron 2 (published)Big iron 2 (published)
Big iron 2 (published)
 
CAP Theorem - Theory, Implications and Practices
CAP Theorem - Theory, Implications and PracticesCAP Theorem - Theory, Implications and Practices
CAP Theorem - Theory, Implications and Practices
 
VMworld 2014: Virtualize Active Directory, the Right Way!
VMworld 2014: Virtualize Active Directory, the Right Way!VMworld 2014: Virtualize Active Directory, the Right Way!
VMworld 2014: Virtualize Active Directory, the Right Way!
 
Rightscale Webinar: Building Blocks for Private and Hybrid Clouds
Rightscale Webinar: Building Blocks for Private and Hybrid CloudsRightscale Webinar: Building Blocks for Private and Hybrid Clouds
Rightscale Webinar: Building Blocks for Private and Hybrid Clouds
 
We are drowning in complexity—can we do better?
We are drowning in complexity—can we do better?We are drowning in complexity—can we do better?
We are drowning in complexity—can we do better?
 
CQRS + Event Sourcing
CQRS + Event SourcingCQRS + Event Sourcing
CQRS + Event Sourcing
 
Managing Performance in the Cloud
Managing Performance in the CloudManaging Performance in the Cloud
Managing Performance in the Cloud
 
Rightscale webinar-key-design-considerations-private-hybrid-clouds
Rightscale webinar-key-design-considerations-private-hybrid-cloudsRightscale webinar-key-design-considerations-private-hybrid-clouds
Rightscale webinar-key-design-considerations-private-hybrid-clouds
 
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
 
Architectural Tactics for Large Scale Systems
Architectural Tactics for Large Scale SystemsArchitectural Tactics for Large Scale Systems
Architectural Tactics for Large Scale Systems
 
Modernizing Applications with Microservices
Modernizing Applications with MicroservicesModernizing Applications with Microservices
Modernizing Applications with Microservices
 
Ultra-scale e-Commerce Transaction Services with Lean Middleware
Ultra-scale e-Commerce Transaction Services with Lean Middleware Ultra-scale e-Commerce Transaction Services with Lean Middleware
Ultra-scale e-Commerce Transaction Services with Lean Middleware
 

Más de SOA Symposium

Thomas Erl Introducing S O A Design Patterns
Thomas  Erl    Introducing  S O A  Design  PatternsThomas  Erl    Introducing  S O A  Design  Patterns
Thomas Erl Introducing S O A Design PatternsSOA Symposium
 
Radovan Janecek Avoiding S O A Pitfalls
Radovan  Janecek   Avoiding  S O A  PitfallsRadovan  Janecek   Avoiding  S O A  Pitfalls
Radovan Janecek Avoiding S O A PitfallsSOA Symposium
 
Natasja Paulssen S A P M D M And E S O A At Philips
Natasja  Paulssen    S A P  M D M And E S O A At  PhilipsNatasja  Paulssen    S A P  M D M And E S O A At  Philips
Natasja Paulssen S A P M D M And E S O A At PhilipsSOA Symposium
 
Anthony Carrato S O A Business Architecture
Anthony  Carrato    S O A  Business  ArchitectureAnthony  Carrato    S O A  Business  Architecture
Anthony Carrato S O A Business ArchitectureSOA Symposium
 
Johan Kumps Federal E S B
Johan  Kumps    Federal  E S BJohan  Kumps    Federal  E S B
Johan Kumps Federal E S BSOA Symposium
 
Laurent Tarin B P M Ilog
Laurent  Tarin    B P M  IlogLaurent  Tarin    B P M  Ilog
Laurent Tarin B P M IlogSOA Symposium
 
Jim Webber Guerrilla S O A With Web Services
Jim Webber    Guerrilla  S O A With  Web  ServicesJim Webber    Guerrilla  S O A With  Web  Services
Jim Webber Guerrilla S O A With Web ServicesSOA Symposium
 
Robert Schneider What Every Developer
Robert  Schneider    What Every DeveloperRobert  Schneider    What Every Developer
Robert Schneider What Every DeveloperSOA Symposium
 
Robert Schneider 10 Strategies
Robert  Schneider   10  StrategiesRobert  Schneider   10  Strategies
Robert Schneider 10 StrategiesSOA Symposium
 
Stefan Pappe Making S O A Operational
Stefan  Pappe    Making  S O A  OperationalStefan  Pappe    Making  S O A  Operational
Stefan Pappe Making S O A OperationalSOA Symposium
 
Paul Brown Org Man Issues
Paul  Brown    Org  Man  IssuesPaul  Brown    Org  Man  Issues
Paul Brown Org Man IssuesSOA Symposium
 
Arnaud Simon Flight Data Processing
Arnaud  Simon    Flight  Data ProcessingArnaud  Simon    Flight  Data Processing
Arnaud Simon Flight Data ProcessingSOA Symposium
 
Paul Butterworth Policy Based Approach
Paul  Butterworth    Policy  Based  ApproachPaul  Butterworth    Policy  Based  Approach
Paul Butterworth Policy Based ApproachSOA Symposium
 
S Ven Hakan Olsson Compos Index
S Ven  Hakan  Olsson    Compos IndexS Ven  Hakan  Olsson    Compos Index
S Ven Hakan Olsson Compos IndexSOA Symposium
 
Mohamad Afshar Moving Beyond Project Level S O A V1
Mohamad  Afshar    Moving Beyond Project Level S O A V1Mohamad  Afshar    Moving Beyond Project Level S O A V1
Mohamad Afshar Moving Beyond Project Level S O A V1SOA Symposium
 
Brian Loesgen An Early Look At Oslo
Brian  Loesgen    An  Early  Look At  OsloBrian  Loesgen    An  Early  Look At  Oslo
Brian Loesgen An Early Look At OsloSOA Symposium
 
Chris Riley S O A Modeling
Chris  Riley    S O A ModelingChris  Riley    S O A Modeling
Chris Riley S O A ModelingSOA Symposium
 
Prakash Narayan Building Social Web V1
Prakash  Narayan    Building  Social  Web V1Prakash  Narayan    Building  Social  Web V1
Prakash Narayan Building Social Web V1SOA Symposium
 
Anne Thomas Manes Using User Experience
Anne  Thomas Manes    Using User ExperienceAnne  Thomas Manes    Using User Experience
Anne Thomas Manes Using User ExperienceSOA Symposium
 
Anish Karmakar S C A
Anish  Karmakar    S C AAnish  Karmakar    S C A
Anish Karmakar S C ASOA Symposium
 

Más de SOA Symposium (20)

Thomas Erl Introducing S O A Design Patterns
Thomas  Erl    Introducing  S O A  Design  PatternsThomas  Erl    Introducing  S O A  Design  Patterns
Thomas Erl Introducing S O A Design Patterns
 
Radovan Janecek Avoiding S O A Pitfalls
Radovan  Janecek   Avoiding  S O A  PitfallsRadovan  Janecek   Avoiding  S O A  Pitfalls
Radovan Janecek Avoiding S O A Pitfalls
 
Natasja Paulssen S A P M D M And E S O A At Philips
Natasja  Paulssen    S A P  M D M And E S O A At  PhilipsNatasja  Paulssen    S A P  M D M And E S O A At  Philips
Natasja Paulssen S A P M D M And E S O A At Philips
 
Anthony Carrato S O A Business Architecture
Anthony  Carrato    S O A  Business  ArchitectureAnthony  Carrato    S O A  Business  Architecture
Anthony Carrato S O A Business Architecture
 
Johan Kumps Federal E S B
Johan  Kumps    Federal  E S BJohan  Kumps    Federal  E S B
Johan Kumps Federal E S B
 
Laurent Tarin B P M Ilog
Laurent  Tarin    B P M  IlogLaurent  Tarin    B P M  Ilog
Laurent Tarin B P M Ilog
 
Jim Webber Guerrilla S O A With Web Services
Jim Webber    Guerrilla  S O A With  Web  ServicesJim Webber    Guerrilla  S O A With  Web  Services
Jim Webber Guerrilla S O A With Web Services
 
Robert Schneider What Every Developer
Robert  Schneider    What Every DeveloperRobert  Schneider    What Every Developer
Robert Schneider What Every Developer
 
Robert Schneider 10 Strategies
Robert  Schneider   10  StrategiesRobert  Schneider   10  Strategies
Robert Schneider 10 Strategies
 
Stefan Pappe Making S O A Operational
Stefan  Pappe    Making  S O A  OperationalStefan  Pappe    Making  S O A  Operational
Stefan Pappe Making S O A Operational
 
Paul Brown Org Man Issues
Paul  Brown    Org  Man  IssuesPaul  Brown    Org  Man  Issues
Paul Brown Org Man Issues
 
Arnaud Simon Flight Data Processing
Arnaud  Simon    Flight  Data ProcessingArnaud  Simon    Flight  Data Processing
Arnaud Simon Flight Data Processing
 
Paul Butterworth Policy Based Approach
Paul  Butterworth    Policy  Based  ApproachPaul  Butterworth    Policy  Based  Approach
Paul Butterworth Policy Based Approach
 
S Ven Hakan Olsson Compos Index
S Ven  Hakan  Olsson    Compos IndexS Ven  Hakan  Olsson    Compos Index
S Ven Hakan Olsson Compos Index
 
Mohamad Afshar Moving Beyond Project Level S O A V1
Mohamad  Afshar    Moving Beyond Project Level S O A V1Mohamad  Afshar    Moving Beyond Project Level S O A V1
Mohamad Afshar Moving Beyond Project Level S O A V1
 
Brian Loesgen An Early Look At Oslo
Brian  Loesgen    An  Early  Look At  OsloBrian  Loesgen    An  Early  Look At  Oslo
Brian Loesgen An Early Look At Oslo
 
Chris Riley S O A Modeling
Chris  Riley    S O A ModelingChris  Riley    S O A Modeling
Chris Riley S O A Modeling
 
Prakash Narayan Building Social Web V1
Prakash  Narayan    Building  Social  Web V1Prakash  Narayan    Building  Social  Web V1
Prakash Narayan Building Social Web V1
 
Anne Thomas Manes Using User Experience
Anne  Thomas Manes    Using User ExperienceAnne  Thomas Manes    Using User Experience
Anne Thomas Manes Using User Experience
 
Anish Karmakar S C A
Anish  Karmakar    S C AAnish  Karmakar    S C A
Anish Karmakar S C A
 

Último

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Último (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

Mark Little Web Services And Transactions

  • 1. This Presentation Courtesy of the International SOA Symposium October 7-8, 2008 Amsterdam Arena www.soasymposium.com info@soasymposium.com Founding Sponsors Platinum Sponsors Gold Sponsors Silver Sponsors
  • 2. Web Services and Transactions Dr Mark Little Technical Development Manager, Red Hat
  • 3. Overview • Fault tolerance • Transaction fundamentals – What is a transaction? – ACID properties • The Web Service effect on transactions • What characteristics do we really need? • Is this specific to Web Services? 2 Red Hat
  • 4. Fault tolerance • Machines and software fail – Fundamental universal law (entropy increases) – Things get better with each generation, but still statistically significant • Failures of centralized systems difficult to handle • Failures of distributed systems are much more difficult 3 Red Hat
  • 5. Fault tolerance techniques • Replication of resources – Increase availability • Probability is that a critical number of resources remain operational • “Guarantee” forward progress – Tolerate programmer errors by heterogeneous implementations • Spheres of control – “Guarantee” no partial completion of work in the presence of failures • Often a duality – “Understanding the Role of Atomic Transactions and Group Communications in Implementing Persistent Replicated”, Proceedings of the 8th International Workshop on Persistent Object Systems, California, USA,1998 4 Red Hat
  • 6. What is a transaction? • Mechanistic aid to achieving correctness • Provides an “all-or-nothing” property to work that is conducted within its scope – Even in the presence of failures • Ensures that shared resources are protected from multiple users • “Guarantees” the notion of shared global consensus – Different parties in different locales have the same view of the transaction outcome 5 Red Hat
  • 7. Two-phase commit Phase 1 Phase 2 COMMIT ? A RDBMS A RDBMS COMMIT YES C YES C COMMIT ? B RDBMS COMMIT B RDBMS 6 Red Hat
  • 8. Transactions for Web Services • Business-to-business interactions may be complex – involving many parties – spanning many different organisations – potentially lasting for hours or days • Cannot afford to lock resources on behalf of an individual indefinitely • May need to undo only a subset of work • So the search has been on, because … 7 Red Hat
  • 9. ACID-ic Web Services? • ACID transactions implicitly assume – Closely coupled environment • All entities involved in a transaction span a LAN, for example. – Short-duration activities • Must be able to cope with resources being locked for periods • Therefore, do not work well in – Loosely coupled environments! – Long duration activities! 8 Red Hat
  • 10. However … • Web Services are about interoperability – Much less about “Web” • In the short term Web Services transactions will be about interoperability between existing TP systems 9 Red Hat
  • 11. What characteristics are right? • Need to be able to relax the strict ACID properties • Need to put control of some into hands of service developer – Is consistency (or consensus) important? • May need a notion of a central coordinator – But may not! – Or something with a fuzzy idea of whatʼs going on • “A comparison of Web services transaction protocols”, IBM Developer Works, 2003. 10 Red Hat
  • 12. Relaxing isolation • Internal isolation of resources should be a decision for the service provider – E.g., commit early and define compensation activities – However, it does impact applications • Some users may want to know a priori what isolation policies are used • Undo can be whatever is required – Before and after image – Entirely new business processes – Not guaranteed to really undo 11 Red Hat
  • 13. Relaxing atomicity • Sometimes it may be desirable to cancel some work without affecting the remainder – E.g., prefer to get airline seat now even without travel insurance • Similar to nested transactions – Work performed within scope of a nested transaction is provisional – Failure does not affect enclosing transaction 12 Red Hat
  • 14. Structuring transactions • Could structure transactional applications from short-duration transactions – Release locks early – Resulting application may still be required to appear to have “ACID” properties • May require application specific means to restore consistency • A transactional workflow system could be used to script the composition of these transactions – But you still need a reliable “coordinator” • Something that knows the state of the flow • Participants also need to know/remember their state • Recovery! – Workflows without (automatic) recovery can be a PITA 13 Red Hat
  • 15. Relaxation of consistency • ACID transactions (with two-phase commit) are all about strong global consistency – All participants remain in lock-step – Same view of transaction outcome • But that does not scale – Replication developers have known about this for years • Weak consistency replication protocols developed for large scale (number of replicas and physical deployment) • Merging of caching and replication protocols – Local domains of consistency • Cannot “stop the world” and enforce global consistency – Some transaction research into this, but industry pushing global consistency • Starting to see a change 14 Red Hat
  • 16. Heisenbergʼs Uncertainty Principle • Cannot accurately measure both position and momentum of sub-atomic particles – Can know one with certainty, but not the other – Non-deterministic measurements • Large-scale/loosely-coupled transactional applications suffer the same effect – Can know that all services will eventually see same state, just not when – Or at known time can determine state within model/application specific degree of uncertainty • Or another way of thinking about it … – No such thing as simultaneity in data space as there isn't in space-time • “Data on the Outside vs. Data on the Inside”, by Pat Helland 15 Red Hat
  • 17. No global consensus • Split transactions into domains of consistency – Strong consistency within domains – Some level of (known) consistency between domains • See “A method for combining replication and caching”, Proceedings of International Workshop on Reliable Middleware Systems, October 1999. • OASIS WS-BusinessProcess specification, part of OASIS WS- CAF, 2003. – Resolve inconsistencies at the business level • Don’t try and run consensus protocols between domains • Consistency related to isolation – Put into the control of the service and application developers 16 Red Hat
  • 18. Web Services or scale? • Problems with transactions pre-date Web Services – “Restructure your application to remove transactions” • Current issues with database technologies are not Web Services specific either • Problems are two-fold – Scalability (size and geographic distributed nature) – Control over the infrastructure/services • Trust comes into this too • Much research in the 1990ʼs • SOA (and Web Services) bring this to the foreground – REST would be just as appropriate • Yes, people really do want atomic updates across Web servers 17 Red Hat
  • 19. OASIS WS-TX Goals • 4th attempt at standardising • Support range of use cases • “One-size does not fit all” – “Make each program do one thing well; to do a new job, build afresh rather than complicate old programs by adding new features”, Doug McIlroy, inventory Unix pipes – Therefore a single protocol cannot cope with all requirements • Interoperability with existing transaction infrastructures 18 Red Hat
  • 20. WS-AT/WS-BA • Specifications released by Arjuna, BEA, IBM, IONA and Microsoft – Now OASIS standard • Separate coordination from transactions – WS-Coordination • Define two transaction models – AtomicTransaction • Closely coupled, interoperability – Business Activities • Compensation based, for long duration activities 19 Red Hat
  • 21. Web Services Coordination • Coordination is more fundamental than transactions – Transactions, security, workflow, replication, … – But each use may require different protocol • Two-phase, three-phase, QoS specific, … • Define separate coordination service – Allow customisation for different protocols 20 Red Hat
  • 22. WS-Coordination • Defines typical roles of coordinator and participant – Coordinator split into two roles • Activation service – Context • Registration service – Participant interface is implied by specific protocol 21 Red Hat
  • 23. WS-AtomicTransaction • Assume ACID transactions – High degree of trust – Isolation for duration of transaction – Backward compensation techniques – Does not allow heuristic outcomes • Integration with existing transaction systems – Important to leverage investments • Interoperability between transaction systems – Something of a holy grail to date 22 Red Hat
  • 24. WS-BusinessActivity • Workflow-like coordination and management • Business activity can be partitioned into tasks – Parent and child relationships • Select subset of children to complete • Parent can deal with child failures without compromising forward progress • Tasks can dynamically exit a business activity • Tasks can indicate outcome earlier than termination – Up-calls rather than just down-calls 23 Red Hat
  • 25. WS-BA example coordinator BA Child BA 1 Child BA 2 Child BA 3 Supplier 1 Supplier 2 Supplier 3 Buy Buy Buy Tie Suit Shoes Shopping Portal Buy Outfit Customer Application 24 Red Hat
  • 26. Compensating BA coordinator begin BA faulted completed begin begin Child BA 1 Child BA 2 Child BA 4 Child BA 3 Supplier 1 Supplier 2 Supplier 4 Supplier 3 begin Buy Buy Buy Tie Buy Tie Suit Shoes Shopping Portal Buy Outfit Customer Application 25 Red Hat
  • 27. OASIS Business Process • All parties reside within business domains – Recursive structure is allowed – May represent a different transaction model – No required notion of consistency between domains • Business process is split into business tasks – Execute within domains – Compensatable units of work • Forward compensation during activity is allowed – Keep business process making forward progress • Consistency is application (service) dependent • Atomicity (or lack thereof) in the “large” is taken for granted 26 Red Hat
  • 28. Transaction example • REST transactions by HP in 2000 – Yes, customers want to coordinate business interactions, even if only atomically • http://<machine>/transaction-coordinator Performing a GET returns a list of all transactions know to the coordinator (active and recovery) • http://<machine>/transaction- coordinator/begin?<ClientID> Performing a PUT will start a new transaction and return a URL /transaction-coordinator/<id> 27 Red Hat
  • 29. Conclusions • Transactions are important in mission critical environments – Definition of “transaction” needs to be re-thought for Web Services – But ACID transactions still important • OASIS WS-TX defines the standard for Web Services Transactions – Multiple protocols for different use cases – Demonstrated interoperability between • Red Hat/Jboss • IBM • Microsoft • IONA Technologies 28 Red Hat