2. Transaction Processing for Internet Applications

This section covers several different approaches to Internet (esp., Web) applications and associated transaction processing models. The section is based on papers found by searching the Web and various research indexes using terms such as "Web transactions", "Web service transactions", "Atomic Web transactions", and so on. Much of the work is described under the term "Web service composition". The organisation is very arbitrary, reflecting the immaturity of the topic, and may be improved over time.

2.1 (Semantic) Web services

See this lecture for a summary of Web services and the Semantic Web. The lecture includes the following two definitions of a Web service.

"A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards."
-- W3C Web Services Architecture Note (WSAN)

"Web services, in the general meaning of the term, are services offered by one application to other applications via the World Wide Web. Clients of these services can aggregate them to form an end-user application, enable business transactions, or create new Web services. In a typical Web services scenario, a business application sends a request to a service at a given URL using the SOAP protocol over HTTP. The service receives the request, processes it, and returns a response."
-- Java Web Services Tutorial (Introduction to Web Services)

Required standards in the W3C model of a Web service are SOAP (syntax for messages and RPCs), WSDL (for describing the syntactic interface to Web services) and UDDI (for listing available Web services).

The lecture omits reference to emerging Web service coreography languages such as:

These languages are related to other work on "workflows" and rely on compensating transactions to handle failure of long-lived, asynchronous transactions. This need for compensation in long-lived asynchronous transactions goes back a long way, e.g., "Definition: A compensating transaction semantically undoes the partial effect of a transaction T without performing cascading aborts of dependent transactions, restoring the system to a consistent state." - T. Strandanaes and R. Karlsen, Transaction Compensation in Web Services, 2002. The following articles gives a practical description of how to use compensation-based transactions using some specific technologies:

2.2 Relevant conferences

  1. IEEE International Conference on Web Services, e.g., 2005, 2006.
  2. International World Wide Web Conferences, e.g., 2005, 2006.
  3. International Conference on Service Oriented Computing, e.g., 2005.

2.3 Other references and projects

  1. D. Kaye, Web-Services Transactions, at xml.sys-com.com (Feb. 2004).

    A good, informal description of how loosely-coupled, long-lived, distributed, asynchronous, Web service transactions differ from traditional centralised database transactions, and require reliable messaging and compensation to be implemented correctly. Provides several motivating examples, including (cancelled) flight reservations, (interrupted) theatre bookings, etc. Based on "Loosely Coupled - The Missing Pieces of Web Services" (2003).

  2. B. Srivastava and Jana Koehler, Web Service Composition: Current Solutions and Open Problems, ICAPS 2003 Workshop on Planning for Web Services, pages 28 - 35. Available here.

    Abstract Abstract: Composition of Web services has received much interest to support business-to-business or enterprise application integration. On the one side, the business world has developed a number of XML-based standards to formalize the specification of Web services, their flow composition and execution. This approach is primarily syntactical: Web service interfaces are like remote procedure call and the interaction protocols are manually written. On the other side, the Semantic Web community focuses on reasoning about web resources by explicitly declaring their preconditions and effects with terms precisely defined in ontologies. For the composition of Web services, they draw on the goal-oriented inferencing from planning. So far, both approaches have been developed rather independently from each other. We compare these approaches and discuss their solutions to the problems of modeling, composing, executing, and verifying Web services. We discuss what makes the Web service composition so special and derive challenges for the AI planning community.

    This paper provides a more detailed but still informal description of the role of transactions in Web service composition. It distinguishes between static workflows and more dynamic workflows that require an element of real-time (AI) planning.

  3. Nikola Milanovic, Miroslaw Malek. "Current Solutions for Web Service Composition," IEEE Internet Computing, vol. 08, no. 6, pp. 51-59, November/December, 2004.

    Abstract Web service composition lets developers create applications on top of service-oriented computing's native description, discovery, and communication capabilities. Such applications are rapidly deployable and offer developers reuse possibilities and users seamless access to a variety of complex services. There are many existing approaches to service composition, ranging from abstract methods to those aiming to be industry standards. The authors describe four key issues for Web service composition.

  4. C. Laneve and G. Zavaratto, Foundations of web transactions, in Fossacs'05, LNCS 3441, pp.282-298, 2005. Available here.

    Introduces a timed extension of the \pi-calculus and timed bisimilarity to model Web transactions (from a Web Services viewpoint).

  5. D. Berardi et al., Automatic Composition of Transition-based Semantic Web Services with Messaging, Proc. 31st VLDB Conf. (2005).

    Introduces the Colombo framework in which Web Services are characterized. Deveplops (i) a technique for handling the data in a finite symbolic way, and (ii) a technique to automatically synthesize composite web services, based on propositional dynamic logic. Potentially useful bibliography.

  6. R. Hull, Web Services Composition: A Story of Models, Automata, and Logics. Keynote talks, EDBT 2004, ICWS 2005. Available from Hull's home page.

  7. R. Hull and J. Su, “Tools for Composite Web Services: A Short Overview”, ACM SIGMOD Record, Volume 34, Number 2, June 2005. (Many references are available here.)

  8. D. Berardi et al., Basis for Automatic Service Composition. Tutorial at WWW 2005.

  9. L. Bocchi, C. Laneve, G. Zavattaro, A Calculus for Long Running Transactions, in FMOODS'03, Paris, December 2002. LNCS 2884.

  10. A. Deutsch, L. Sui and V. Vianu, Specification and Verification of Data-Driven Web Services, in Proc. PODS 2004, 71-82.

    A good paper discussing the decidability and complexity of proving properties of fairly traditional database-backed Web sites.

  11. C. Gutierrez, C. Hurtada and A.O. Mendelzon, Foundations of semantic web databases, in Proc. PODS 2004, 95-106.

  12. G. Alonso et al., Web Services: Concepts, Architectures and APplications. Springer, 2004.

  13. The ASTRO project at the University of Trente, Italy, including P. Traverso, M. Pistore and others.

  14. The Meteor-S project at University of Georgia, including A. Sheth and others, including pointers to WSDL-S activities.

  15. W. Du, J. Davis and M.-C. Shan, Flexible Specification of Workflow Compensation Scopes, ACM GROUP 97, Phoenix, AZ (1997), 309-316.

  16. F. Casati and M.-C. Shan, Dynamic and adaptive composition of e-services>, Information Systems 26, 3 (May 2001), 143-162.