Agile Engineering of B2B Automation Systems
by Kuldar Taveter
The Plug-and-Trade (PaT) B2B Electronic Commerce project was carried out at VTT Information Technology between March 2003 and April 2004. The project aimed to develop rapid and flexible automation of business-to-business (B2B) processes. In the automation system created in the project, a graphically described model of a business process type is transformed into XML-based representations, which are interpreted by software agents representing the parties in the process.
Because of the development of the Internet and the increasing need to improve the efficiency of inter-organisational business processes, business process automation is gaining momentum. Business processes can be automated based on existing standards for e-commerce, such as RosettaNet. These define a business process type in terms of the types and structure of messages exchanged, as well as the order of their exchange. Since new business process types emerge and old ones frequently change, specifications of B2B automation systems are in constant flux, which complicates their development. The PaT project took a step towards the agile design and implementation of B2B automation systems, in which software agents interpret XML-based descriptions of business process types generated by the graphical editor.
The overall architecture of the solution worked out in the PaT project is represented in Figure 1. In the architecture shown in Figure 1, software agents, shown as circles, represent companies. Agents communicate with each other using messages in an agent communication language (ACL) based on speech acts. Each agent has a virtual knowledge base (VKB), which represents the internal information systems of the company. In Figure 1, Company B and Bank X have outsourced their agents to the Operator to be held in the Operators agent pool. The outsourced agents communicate with each other and with the agents outside through the Operators own agent.
|Figure 1: The architecture of the PaT solution.
In the prototype application (see Figure 2), inter-organisational business process types, the interfaces between them, and the internal information systems of the companies involved, are described by means of the graphical Agent-Object-Relationship Modelling Language (AORML) which has been extended by the author. The modelling is done using the Integrated Business Process Editor. The latter has been developed within the project as an extension to the CONE Ontology Editor of VTT Information Technology. A business process type is modelled from the perspectives of the parties involved. For example, the business process types quoting and ordering are modelled from the perspectives of Seller and Buyer. Figure 3 shows a snapshot of the model of the RosettaNet-based business process type quoting. It has been modelled from the perspective of Seller. The model specifies that after receiving a request for a quote message, the corresponding business activity of the type process quote request commences with the request for a quote as a parameter. This activity includes a loop that checks in the companys product database for the availability of each product item requested, and accordingly changes the status of the corresponding quote line item to either isBid or isNoBid.
|Figure 2: The business process automation system.
The Integrated Business Process Editor enables graphical descriptions of business process types expressed in the extended AORML to be transformed into their representations in XML. The representations are based on the XML-schema that was created in the project. Even though the XML-based representations of a business process type are generated automatically, some manual tailoring of process-specific interfaces must be performed as a rule. This occurs between the Business Process Interpreter and internal information systems of the company. Internal information systems can include the Enterprise Resource Planning (ERP), Customer Relationship Management (CRM), and Enterprise Application Integration (EAI) systems shown in Figure 2. After the generation and tailoring have been accomplished, a business process type is ready to be interpreted by the Business Process Interpreter, which works in cooperation with the software agent representing the corresponding party. The latter has been implemented using the JADE (Java Agent DEvelopment Framework) agent platform. As Figure 2 illustrates, an agent representing a party firstly invokes the Business Process Interpreter to read the description of the business process type, as requested by the agents human user, and to create its internal representation of the business process type. Thereafter, when the agent receives a message or perceives an input by a human user through the GUI, the agent invokes the Business Process Interpreter to act according to the process type description. When the Business Process Interpreter acts, it, in turn, invokes the JADE agent and displays messages through the agents GUI.
There are plans to propose that the XML schema, which was developed in the project for describing business process types, would be adopted as part of the Rule Markup Initiative (RuleML) standard draft. The prototype system described in this paper is just the first step towards a more flexible approach/system with a looser integration between models of business process types and actual business process instances carried out between agents. This would enable a software agent, possibly assisted by a human, to select from numerous alternatives at each step of a business process the most appropriate actions to be performed.