Business Process Modeling Language
||This article is written like a personal reflection or opinion essay rather than an encyclopedic description of the subject. (July 2008)|
Business Process Modeling Language (BPML) is a language for business process modeling. BPML was a proposed language, but now the BPMI has dropped support for this in favor of BPEL4WS (Business Process Execution Language for Web Services). As of 2008, BPML has also been reported to have been deprecated in favor of BPDM (Business Process Definition Metamodel). BPMI took this decision when it was acquired by OMG in order to gain access to its popular specification, BPMN (Business Process Model and Notation). This notation was useful to OMG in order to enrich UML with process notation.
BPML, a superset of BPEL, was implemented by early stage vendors, such as Intalio Inc., but incumbents such as IBM and Microsoft did not implement BPML in their existing workflow and integration engine implementations (BizTalk, Websphere etc.). Hence, they pushed for a simpler language, BPEL. Today, open source implementations of BPML still exceed the capability of these commercial products. This led some to say that BPML versus BPEL was a case of VHS versus Betamax. The analogy is not quite correct. For VHS and Betamax both let you watch video - even if one implementation won out. That is not the case with BPML and BPEL. BPML was designed as a formally complete language, able to model any process, and, via a BPMS (business process management system), deployed as an executable software process without generation of any software code. This is not possible with BPEL, since BPEL is not a complete process language. To illustrate this, note that BPEL is often used in conjunction with Java to fill in the "missing" semantics. In addition, BPEL is often tied to proprietary implementations of workflow or integration broker engines. Whereas, BPML was designed, and implemented, as a pure concurrent and distributed processing engine.
Ironically, the most complete implementation of BPEL today, is Intalio's open BPMS, which also completes the semantics by fulfilling the spirit of the BPML specification. Maybe in future BPML will be seen in other BPEL implementations. The only difference in the future will be syntax, not semantics. In this sense, BPML cannot be avoided, since it was designed to be semantically complete according to the Pi-calculus formal representation of computational processes.
The battle between BPML and BPEL is widely viewed as an example of the power of IBM and Microsoft over early stage startups to complete a core technology stack at the heart of their business model.
BPEL and BPML are examples of a trend towards process-oriented programming. BPEL and BPML herald the concept of a BPMS as an IT capability for management of business processes, playing a role similar to a RDBMS for business data.
- Business Process Execution Language (BPEL)
- Business Process Model and Notation (BPMN)
- Business process modeling
- workflow engine
- BPML at ebPML