Business process extraction language for Web services (BPELWS) specifies business processes and interaction protocols. It is an XML-based language facilitating task sharing in distributed computing across multiple organizations using several Web services.
The business process extraction language for Web services combines and replaces the Web service flow language from IBM and XLANG specification from Microsoft. It is also sometimes abbreviated as BPEL4WS. It imports and exports information using web service interfaces.
The business process extraction language program formalizes business protocols and considers the exception it handles with the associated information of product order. It extends Web service interactions enabling support for business transactions, facilitating automated process integration, expansion in business-to-business(B2B) and intra corporate spaces. Thus it succeeds in defining an interoperable integration model.
Web service is generally described as an abstract and an executable business process. The abstract business process specifies the processes not intended to be executed. The executable business process deals with the actual behavior of a participant in any business interaction. Abstract processes hide the operational details and contain more than one use case, with process template and observable behavior in a standardized fashion. This process has information regarding when to send, wait and compensate for messages passed.
Business process extraction language messaging facility depends on using Web services description language(WSDL) 1.1, which describes outgoing and incoming messages. The business process extraction language also supports WSDL and XML typed variables, and XPath 1.0 by default. It encloses a property-based message correlation mechanism and a language plug-in model, which permits writing queries and expressions in multiple languages. It includes structured programming constructs such as while, if then else, sequence and flow. Additionally, it encapsulates logic with compensation handlers, event handlers, local variables and fault handlers. Serialized scope is provided to control concurrent access to variables.
The design goals associated with business process extraction language are:
- Business processes interacting with external entities through web service operations are defined using WSDL 1.1. The dependence of these interactions is based on prototype definitions. They are generally defined using XML language.
- Web service orchestration concepts are defined and meant to be used by external and internal views of business process. Every usage pattern is recognized through specialized extensions.
- Data manipulation functions for simple manipulation of data are provided and required to define process data and control flow.
- Identification mechanisms for process instances are supported. Instance identifiers are defined at the application message level by partners, and might change.
- Long running transactions models are defined on scoping and compensation actions. They support failure recovery of long running business processes.
- Implicit creation and termination of process instances are supported.
- Web services are used as a model for assembly and process decomposition.