BPEL: Composing WebServices

Business Process Execution Language (BPEL) is an XML-based standard for composing WebServices to create processes. In the stack of WebServices standards it sits on top of WSDL, SOAP and XML Schema. WSDL documents of a WebService defines the execution and behavior–parameters, types, returns, error conditions, invocation etc. BPEL interconnects two or more WSDLs. BPEL as a standard defines the notation and semantics of composing two or more individual services in order to create a process.
Why a standard for composing WebService? Why not write a program in Java, C# to integrate two WebServices ?
The answer is loose-coupling–the same reason why we have WSDL for fine-grained services. Its abstraction. The loose-coupling allows for run time typing and invocation from the WSDL to the fine-grained service. Same holds true for modelling the integration of services using BPEL. BPEL proposes the notations as to how the individual services could be executed.
On a different note–While BPEL is being developed under OASIS, parallel efforts are underway:

  • WSCI. Developed at W3C (Authored by HP, SUN, BEA, SAP, etc.)
  • WSCL. Submitted by HP to W3C
  • WSFL. Proposed by IBM (pdf)
  • BPML
  • .Hosted at BPMI.org (Members–BEA, IBM, Fujistu, SAP, etc.)

  • BPSS. Hosted at ebXML.org

Comments are closed.