1.	History of WS-BPEL
1.1.	Design Goals
o	Goal 1:  Define business processes that interact with external entities through Web service operations defined using WSDL 1.1 and that manifest themselves as Web services defined using WSDL 1.1.  The interactions are “abstract” in the sense that the dependence is on portType definitions, not on port definitions.  
o	Goal 2:  Define business processes using an XML based language. Do not define a graphical representation of processes or provide any particular design methodology for processes.
o	Goal 3:  Define a set of Web service orchestration concepts that are meant to be used in common by both the external (abstract) and internal (executable) views of a business process. Such a business process defines the behavior of a single autonomous entity, typically operating in interaction with other similar peer entities. It is recognized that each usage pattern (i.e. abstract view and executable view) will require a few specialized extensions, but these extensions are to be kept to a minimum and tested against requirements such as import/export and conformance checking that link the two usage patterns.
o	Goal 4:  Provide both hierarchical and graph-like control regimes, and allow their usage to be blended as seamlessly as possible. This should reduce the fragmentation of the process modeling space.
o	Goal 5 : Provide limited data manipulation functions that are sufficient for the simple manipulation of data that is needed to define process relevant data and control flow.
o	Goal 6: Support an identification mechanism for process instances that allows the definition of instance identifiers at the application message level.  Instance identifiers should be partner defined and may change over time.
o	Goal 7: Support the implicit creation and termination of process instances as the basic lifecycle mechanism. Advanced lifecycle operations like suspend, resume may be added in future releases for enhanced lifecycle management.
o	Goal 8: Define a long-running transaction model that is based on practically proven techniques like compensation actions and scoping to support failure recovery for parts of long-running business processes.
o	Goal 9: Use Web services as the model for process decomposition and assembly. 
o	Goal 10: Build on compatible Web services standards and standards proposals as much as possible in a composable and modular manner. 
1.2.	XLANG and WSFL
The Business Process Execution Language for Web Services (BPEL4WS) was first conceived in July, 2002 with the release of the BPEL4WS 1.0 specification, a joint effort by IBM, Microsoft, and BEA. This document proposed an orchestration language inspired by previous variations, such as IBM’s Web Services Flow Language (WSFL) and Microsoft’s XLANG specification.
Joined by other contributors from SAP and Siebel Systems, version 1.1 of the BPEL4WS specification was released less than a year later, in May of 2003. This version received more attention and vendor support, leading to a number of commercially available BPEL4WS-compliant orchestration engines. Just prior to this release, the BPEL4WS specification was submitted to an OASIS technical committee so that the specification could be developed into an official, open standard.