Section 11.1. Role of Transactions in Web ServicesSOA


11.1. Role of Transactions in Web Services/SOA

Transactions [Bern 1997], [Gray 1993] are a fundamental concept in building reliable distributed applications. A transaction is a mechanism to ensure that all the participants in an application achieve a mutually agreed upon outcome. Traditionally, transactions have provided the following properties:

  • Atomicity The transaction completes successfully, and all the actions that the application performs happen, or the transaction completes unsuccessfully and none of the actions happens.

  • Consistency Transactions produce consistent results and preserve correct transformation of application states at completion.

  • Isolation Intermediate states that are produced while the transaction is executing are invisible to other transactions. Furthermore, transactions appear to execute serially, even if they are executed concurrently. You can achieve this by locking resources for the duration of the transaction so that another transaction cannot acquire them in a conflicting manner.

  • Durability After a transaction successfully completes, the changes are maintained unless a catastrophic failure occurs.

Transactions with these properties (often referred to as ACID) are known as atomic transactions.

In a Web service environment, transactional applications are constructed from the composition of one or more Web services, each of which might manipulate resources, adhere to the properties described earlier, and be party to an agreed overall coordinated outcome. However, in a Web services environment, the services that are the component parts of an application are typically loosely coupled and distributed across various independent systems spanning a network. Therefore, you might have to apply some of the properties of atomic transactions less strictly. You need more flexible forms of outcome coordination processing that have more relaxed forms of transaction to accommodate collaborations, workflow, real-time processing, and so on. Finally, there is a requirement for outcome processing that, although not necessarily requiring transactional behavior, does require the ability to identify operations that are part of the same Web service application.

WS-Coordination defines such a coordination service, and WS-Atomic Transaction and WS-Business Activity provide a starter set of the most common coordination protocols.

Figure 11-1 schematically illustrates where transactions (and the specifications described earlier) fit in the Web services model. Transactions provide a middleware service that augments the core Web services technologies of SOAP, Web Services Description Language (WSDL), and Universal Description, Discovery, and Integration (UDDI), enabling construction of a reliable computing environment.

Figure 11-1. Web services and transaction.




    Web Services Platform Architecture(c) SOAP, WSDL, WS-Policy, WS-Addressing, WS-BP[.  .. ] More
    Web Services Platform Architecture(c) SOAP, WSDL, WS-Policy, WS-Addressing, WS-BP[. .. ] More
    ISBN: N/A
    EAN: N/A
    Year: 2005
    Pages: 176

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net