A model and language for business-aware transactions

Business-to-Business (B2B) e-business is undeniably becoming increasingly important for organizations. Organizations successfully engaging in B2B e-business benefit from reduced lead times, lower inventory levels and improved customer loyalty. However, to be successful in B2B e-business, organizations face several challenges. One of the key challenges is to reliably execute business transactions occurring as part of B2B e-business interactions. A business transaction is a contractually agreed-upon commercial reciprocal exchange of assets between two or more parties that potentially has a long duration. Reliability, as in assuring that promises are kept in a predictable, correct, consistent and, if necessary, recoverable fashion and at an acceptable service quality level, is a crucial factor when conducting e-business. This factor is currently not sufficiently addressed by traditional reliability technology from the IT domain, as provided by databases, workflow systems or service oriented computing platforms. To facilitate the reliable execution of business transactions this dissertation presents a model and language for the business-aware transaction concept. A business-aware transaction is a contract-driven IT transaction in service-oriented computing environments that facilitates the failure resilient and consistent coordination of a possibly long-running, multi-party business transaction. It also incorporates business-level reliability expectations of business partners in a B2B e-business context. On the basis of the requirements for business-aware transactions, this dissertation defines the Business-aware Transaction Model (BTM). The BTM incorporates and combines (1) existing IT reliability and support mechanisms, like failure resilience, from system-level transactions in the IT domain and (2) business concepts, like contractual agreements and unconventional atomicity. The BTM is operationalised by means of a language, the Business-aware Transaction Language (BTL), from a structural and behavioral perspective. The syntax of the BTL to specify business-aware transactions is provided in XML Schema. The operational behavior is formally specifi ed using Timed Extended Finite State Machines for the control flow and Computation Tree Logic for the transactional semantics. Verification of the BTL behavioral semantics and its correctness together with the simulation of executions of business-aware transactions are performed by means of model checking techniques in UPPAAL using a case study from the automotive industry. This work also provides a mapping of the BTL to existing coordination protocols from the service-oriented computing domain.