Efficient: A Framework for Animating and Validating e-Business Transactions
by Bertrand Grégoire, Christophe Incoul, Sophie Ramel, Michael Schmitt, Laurent Gautheron, Pierre Brimont and Eric Dubois
To support the modelling and validation of new ebXML transactions, the CRP Henri Tudor is developing a tool set within the context of the EFFICIENT project supported by the National Research Fund (FNR) in collaboration with the University of Luxembourg and the CRP Gabriel Lippmann.
ebXML (Electronic Business using eXtensible Markup Language) is becoming the new international standard for the specification and deployment of complex B2B transactions, progressively replacing EDI (Electronic Data Interchange). Such transactions are inherently distributed, involving many players exchanging XML messages according to complex flows and rules. This complexity hampers validation of the correctness of a modelled business transaction by business experts. To alleviate this problem, scientists at CRP Henri Tudor, Luxembourg, have developed a tool set, consisting of a CASE tool for modelling ebXML transactions and an animator for validating the modelled transactions. The animator tool allows business experts to understand and 'play' business transactions before they are implemented.
The tool set consists of an extension of a commercial UML-based CASE tool that supports the modelling of ebXML business transactions, and an animator tool based on a workflow engine that supports the execution of the above UML models. The animator allows business experts to cooperatively validate transaction models at the time they are built, that is, before their implementation has begun. Rather than simulation, we prefer to use the word 'animation' since the validation is done in an interactive way, with each business expert playing a role and participating in the execution of the transaction by receiving messages and sending answers. By doing this, business experts can validate the transaction by playing out a variety of possible scenarios that include different messages.
In our project, we use a four-layered approach (see Figure). The top two layers are extensions that we are investigating regarding the ebXML standard, while the other layers are fully compatible with the proposed standard in terms of UML models and of XML schemas produced.
|The four-layered model of a B2B transaction.
The value layer provides the global business view, which gives an understanding of the context of the transaction and allows its viability to be evaluated from the benefits it provides to the parties involved. Understanding the business requires knowledge about different elements, including the customer demands a business is willing to address, the products proposed to fulfil these demands, the activities required to produce these products and the infrastructure underlying the production requirements, including partnerships and some risk-management considerations.
The business layer gives a general overview of the business transactions between organisations. In this layer, the global structure of each business transaction is depicted with UML diagrams. A Use Case diagram specifies the global structure of the business processes underlying the business transaction, introducing its main actions. A class diagram then specifies the information manipulated in the business transaction, called the business domain. In addition, business rules can be specified in natural language. At this level, the concept of message does not yet exist.
The specification layer details the message-based structure of a business transaction. This detailed specification is needed to support the B2B automation of business transactions. The flow of the business transaction is specified with a UML activity diagram. The content of each message is specified within a class diagram. The activity diagram refines the Use Case diagram at the business layer. Each class diagram is a particular view of the global class diagram at the business layer. The message may have attached to it a business rule defined at the business layer in order to constrain the message's content, as well as new rules relating the messages to each other. All these rules are expressed in a formal way.
At the technical layer, the business transaction is executed using the animator. The infrastructure used at the technical layer (workflow engine, interfaces, XML messages, rules checker) is automatically configured and fully generated from the UML models developed at the specification layer.
The animator architecture is distributed and Internet-based, allowing business experts from different sites to participate in the animation of the same business transactions using a simple Web browser. The animator automatically checks the business rules de&Mac222;ned upon the message content.
Our technological choices have followed two principles: choose open-source tools wherever possible, and follow standards when they exist. As a result, we use:
- WMFOpen, an open-source workflow engine, to animate the transactions (configured using the XML Process Definition Language (XPDL) standard definitions)
- SOAP, as the core messaging protocol
- XML:DB API (http://www.xmldb.org/), to access the eXist XML database (http://exist.sourceforge.net)
- W3C XMLSchema, for the description of messages
- Chiba, based upon the XForms recommendation of the W3C, for the display of the messages.
This choice to respect standards and use open-source technology allows us a greater flexibility and interoperability.
In conclusion, the animator, tightly integrated with state-of-the-art XML technology, shows the feasibility of business transactions, possibly implemented in ebXML compliant infrastructures.
CRP Henri Tudor, Luxembourg