In February and April, I introduced two BPM Languages: BPEL (Business Process Execution Language) and BPML (Business Process Modeling Language). This month I will cover a third BPM language: Business Process Specification Schema (BPSS) for ebXML.

ebXML Business Process Specification Schema

BPSS is part of ebXML, which has decades of experience in electronic data interchange (EDI) behind its Specification.1

BPSS differs from BPEL and BPML. It defines a business process for physical business interchanges between parties for collaboration and for transactions to be carried out between commercial business partners.2 It is designed to work in conjunction with the ebXML Collaboration Protocol Profile (CPP) and Collaboration Protocol Agreement (CPA), both defined in the ebXML Specifications. In contrast, the other BPM languages are generic to Web services: they do not provide explicit commercial semantics (or terms) as discussed next, nor do they have the intent of a trading partner agreement as does ebXML.

A Web service may have to be designed for internal and external uses. For this reason, internal-use Web services can be described in the other BPM languages, while external-use Web services may require further specification described with commercial terms for business collaboration using ebXML BPSS.

For example, if a supplier accepts a purchase order from a customer, this acceptance is a binding legal agreement for the supplier to deliver the requested products or services to the customer at an agreed price and time, and for the customer to pay the supplier following delivery. The various messages and interactions sent between these external businesses constitute a binding contract between both parties. BPSS therefore includes the concepts of time periods for business response, plus non-repudiation: neither party can deny its legal obligations to the other party once the purchase order has been issued and accepted.

A company may want to wrap its implementation of a given role in external-use BPSS collaboration and additionally also as an internal-use Web service. To achieve this, it can describe the Web service in any BPM language; there is nothing in the specifications that prevent either of these two scenarios. However, neither BPSS nor the other BPM specifications have been designed with the other approaches in mind.

BPSS also specifies how models are used to generate XML-based BPSS definitions. It describes the XML-generation concepts using UML (Unified Modeling Language) class diagrams and action diagrams. With its start in 1999, the specification of ebXML BPSS is several years ahead of the other BPM languages.

The ebXML Business Process Specification Schema provides a standard framework for business process specification. It works with the Collaboration Protocol Profile (CPP) and Collaboration Protocol Agreement (CPA) of the ebXML Specifications to bridge the gap between business process modeling and ebXML compliant e-commerce software, such as ebXML Business Service Interface (BSI) software.

The architecture of the ebXML Business Process Specification Schema consists of the following functional components:


  • UML version of the Business Process Specification Schema;
  • XML version of the Business Process Specification Schema;
  • Production Rules defining the mapping from the UML version of the Business Process Specification Schema to the XML version;
  • Business Signal Definitions (that acknowledge receipt of messages).

Together, these components allow complete specification of the runtime aspects of a business process model.Business Process Specification Schema is the machine-interpretable runtime business process specification that is needed by ebXML Business Service Interface software. The BPSS code is incorporated with or referenced by the ebXML trading partner CPP and CPA. Each CPP declares its support for one or more Roles within the Business Process Specification, documented by UML Use Case diagrams. Within these CPP profiles and CPA agreements are added further technical parameters that result in a full specification of the runtime by ebXML Business Service Interface software at each trading partner.

To illustrate the generation of BPSS, Figure 1 shows business document and receipt document flows that are acknowledged business signals. The request requires business signal acknowledgement of the receipt and acceptance, while the response requires receipt acknowledgement.


Figure 1: Document Flows and Signals, with Sequence (Source: ebXML BPSS Specifications)

Figure 2 shows a UML Class Diagram for the document flow in Figure 1. Using this, the BPSS XML code in Figure 3 has been generated automatically from the Class Diagram in Figure 2. The BPSS Specification provides full guidance for automatic generation by UML modeling tools of XML-based BPSS code from class diagrams and action diagrams.


Figure 2: UML Class Diagram for Document Flow in Figure 1 (Source: ebXML BPSS Specifications)

Figure 3 shows the BPSS definition for a Create Order business transaction. To define the commercial and legal nature of this transaction, the RequestBusinessActivity attribute shows: isNonRepudiationRequired="true" with the timeToAcknowledgeReceipt="P2D" and timeToAcknowledgeAcceptance="P3D" (where "P2D" is a W3C Schema syntax standard that means Period=2 Days; P3D means Period=3 Days). These periods are all measured from the original sending of the request.


Figure 3: Partial BPSS XML Syntax for Document Flows in Figure 1 (Source: ebXML BPSS Specifications)

In time, it is expected that the other BPM languages - or a consolidated version of them - will evolve along similar lines to BPSS, but with broad applicability to all applications -- not just for EDI and ebXML-based applications. In fact, BPSS is a clear pointer to a future when application development will be based on automatic generation of XML-based languages directly from workflow or other process models.  

References:


  1. The full ebXML Specifications on http://www.ebxml.org/ and also htpp://www.xml.org/ should be read in conjunction with the discussion of ebXML BPSS Specification in this section.
  2. The ebXML.org Web site at http://www.ebxml.org/ and also OASIS at htpp://www.xml.org/ both provide full documentation of the ebXML Business Process Specification Schema (BPSS).

Register or login for access to this item and much more

All Information Management content is archived after seven days.

Community members receive:
  • All recent and archived articles
  • Conference offers and updates
  • A full menu of enewsletter options
  • Web seminars, white papers, ebooks

Don't have an account? Register for Free Unlimited Access