Difference between revisions of "Web Services Business Process Execution Language"

From LIMSWiki
Jump to navigationJump to search
(Created stub record. Saving and adding more.)
 
(Added content. Saving and adding more.)
Line 1: Line 1:
'''Web Services Business Process Execution Language''' ('''WS-BPEL''', sometimes referred to as '''Business Process Execution Language''' or '''BPEL''') is an XML-based language used in the specification of executable and abstract business processes. WS-BPEL enables "users to describe business process activities as Web services and define how they can be connected to accomplish specific tasks."<ref name="CP_BPEL4WS">{{cite web |url=http://xml.coverpages.org/bpel4ws.html |title=Business Process Execution Language for Web Services (BPEL4WS) |author=Cover, Robin |work=Cover Pages |date=01 July 2008 |accessdate=19 August 2014}}</ref>
'''Web Services Business Process Execution Language''' ('''WS-BPEL''', sometimes referred to as '''Business Process Execution Language''' or '''BPEL''') is an XML-based language used in the specification of executable and abstract business processes.<ref name="ManascoBPEL">{{cite web |url=http://www.zdnet.com/blog/service-oriented/new-view-of-bpel/124 |title=New view of BPEL |author=Manasco, Britton |publisher=ZDNet |date=11 January 2005 |accessdate=19 August 2014}}</ref> WS-BPEL enables "users to describe business process activities as Web services and define how they can be connected to accomplish specific tasks."<ref name="CP_BPEL4WS">{{cite web |url=http://xml.coverpages.org/bpel4ws.html |title=Business Process Execution Language for Web Services (BPEL4WS) |author=Cover, Robin |work=Cover Pages |date=01 July 2008 |accessdate=19 August 2014}}</ref>


BPEL is an orchestration language and not a choreography language. Orchestration languages specify an executable process that involves message exchanges with other systems, such that the message exchange sequences are controlled by the orchestration designer. A choreography language specifies a protocol for peer-to-peer interactions, defining for example the legal sequences of messages exchanged with the purpose of guaranteeing interoperability. Such a protocol is not directly executable; it simply allows many different processes to comply with it. Choreography can be realized by writing an orchestration for each peer involved in it.<ref name="ReynoldsOC">{{cite web |url=https://weblogs.java.net/blog/johnreynolds/archive/2006/01/service_orchest.html |title=Service Orchestration vs. Service Choreography |author=Reynolds, John |work=Java.net |publisher=Oracle |date=19 January 2006 |accessdate=19 August 2014}}</ref><ref name="DijkmanServ">{{cite journal |url=http://eprints.qut.edu.au/622/ |journal=International Journal of Cooperative Information Systems |title=Service-oriented Design: A Multi-viewpoint Approach |author=Dijkman, Remco; Dumas, Marlon |volume=13 |issue=4 |year=2004 |pages=337–378 |doi=10.1142/S0218843004001012 |accessdate=19 August 2014}}</ref>
BPEL is an orchestration language and not a choreography language. Orchestration languages specify an executable process that involves message exchanges with other systems, such that the message exchange sequences are controlled by the orchestration designer. A choreography language specifies a protocol for peer-to-peer interactions, defining for example the legal sequences of messages exchanged with the purpose of guaranteeing interoperability. Such a protocol is not directly executable; it simply allows many different processes to comply with it. Choreography can be realized by writing an orchestration for each peer involved in it.<ref name="ReynoldsOC">{{cite web |url=https://weblogs.java.net/blog/johnreynolds/archive/2006/01/service_orchest.html |title=Service Orchestration vs. Service Choreography |author=Reynolds, John |work=Java.net |publisher=Oracle |date=19 January 2006 |accessdate=19 August 2014}}</ref><ref name="DijkmanServ">{{cite journal |url=http://eprints.qut.edu.au/622/ |journal=International Journal of Cooperative Information Systems |title=Service-oriented Design: A Multi-viewpoint Approach |author=Dijkman, Remco; Dumas, Marlon |volume=13 |issue=4 |year=2004 |pages=337–378 |doi=10.1142/S0218843004001012 |accessdate=19 August 2014}}</ref>
Line 11: Line 11:
* a scoping system to allow the encapsulation of logic with local variables, fault-handlers, compensation-handlers, and event-handlers; and
* a scoping system to allow the encapsulation of logic with local variables, fault-handlers, compensation-handlers, and event-handlers; and
* serialized scopes to control concurrent access to variables.
* serialized scopes to control concurrent access to variables.
==History==
By March 2001, IBM and Microsoft had each already defined their own, fairly similar "programming in the large" languages: WSFL (Web Services Flow Language) and XLANG, respectively.<ref name="WSFLNew">{{cite web |url=http://www.infoworld.com/articles/hn/xml/01/05/03/010503hnworkflow.html |archiveurl=https://web.archive.org/web/20090306224354/http://www.infoworld.com/articles/hn/xml/01/05/03/010503hnworkflow.html |title=WWW10: IBM readies Web services workflow proposal |author=Lawson, Stephen |work=InfoWorld |publisher=IDG Network |date=03 May 2001 |archivedate=06 March 2009 |accessdate=19 August 2014}}</ref><ref name="XLANGNew">{{cite web |url=http://www.entmag.com/displayarticle.asp?ID=11220072307AM |archiveurl=https://web.archive.org/web/20010421152412/http://www.entmag.com/displayarticle.asp?ID=11220072307AM |title=Talking in XLANG |author=Anderson, Eric Binary |work=ENT Online |publisher=101 Communications |date=22 November 2000 |archivedate=21 April 2001 |accessdate=19 August 2014}}</ref><ref name="BPELHist">{{cite web |url=https://www.oasis-open.org/committees/download.php/23068/WS-BPEL%20Technical%20Overview%20for%20Developers%20and%20Architects%20-%20Part%201%20%28Frank%20Ryan%29.pdf |format=PDF |title=WS-BPEL 2.0 |author=Ryan, Frank |publisher=OASIS |date=2007 |accessdate=19 August 2014}}</ref> Both companies, however, decided in July 2002 to combine these languages into a new language, BPEL4WS, submitting .<ref name="BPELHist" />
In April 2003, BEA Systems, IBM, Microsoft, SAP, and Siebel Systems submitted BPEL4WS 1.1 to OASIS for standardization via the Web Services BPEL Technical Committee.<ref name="OASISBPEL">{{cite web |url=http://www.infoworld.com/article/03/04/15/HNbpel_1.html |archiveurl=https://web.archive.org/web/20080724032537/http://www.infoworld.com/article/03/04/15/HNbpel_1.html |title=OASIS to get BPEL4WS jurisdiction |author=Krill, Paul |work=InfoWorld |publisher=IDG Network |date=15 April 2003 |archivedate=24 July 2008 |accessdate=19 August 2014}}</ref> Although "BPEL4WS" appeared as both a 1.0 and 1.1 version, the OASIS WS-BPEL technical committee voted on September 14, 2004 to name their spec "WS-BPEL 2.0."<ref name="ChorHist">{{cite web |url=http://www.choreology.com/external/WS_BPEL_issues_list.html#Issue98 |archiveurl=https://web.archive.org/web/20070721002815/http://www.choreology.com/external/WS_BPEL_issues_list.html#Issue98 |title=WS BPEL issues list |publisher=Choreology Ltd |date=28 August 2006 |archivedate=21 July 2007 |accessdate=19 august 2014}}</ref>
In June 2007, Active Endpoints, Adobe Systems, BEA, IBM, Oracle, and SAP published the BPEL4People and WS-HumanTask specifications, which describe how human interaction in BPEL processes can be implemented.


==External links==
==External links==

Revision as of 20:22, 19 August 2014

Web Services Business Process Execution Language (WS-BPEL, sometimes referred to as Business Process Execution Language or BPEL) is an XML-based language used in the specification of executable and abstract business processes.[1] WS-BPEL enables "users to describe business process activities as Web services and define how they can be connected to accomplish specific tasks."[2]

BPEL is an orchestration language and not a choreography language. Orchestration languages specify an executable process that involves message exchanges with other systems, such that the message exchange sequences are controlled by the orchestration designer. A choreography language specifies a protocol for peer-to-peer interactions, defining for example the legal sequences of messages exchanged with the purpose of guaranteeing interoperability. Such a protocol is not directly executable; it simply allows many different processes to comply with it. Choreography can be realized by writing an orchestration for each peer involved in it.[3][4]

In addition to providing facilities to enable sending and receiving messages, the BPEL programming language was initially created to also support and/or provide[5]:

  • a property-based message correlation mechanism;
  • XML and WSDL typed variables;
  • an extensible language plug-in model to allow writing expressions and queries in multiple languages;
  • structured-programming constructs, including if-then-else, if-else, while, sequence, and flow;
  • a scoping system to allow the encapsulation of logic with local variables, fault-handlers, compensation-handlers, and event-handlers; and
  • serialized scopes to control concurrent access to variables.

History

By March 2001, IBM and Microsoft had each already defined their own, fairly similar "programming in the large" languages: WSFL (Web Services Flow Language) and XLANG, respectively.[6][7][8] Both companies, however, decided in July 2002 to combine these languages into a new language, BPEL4WS, submitting .[8]

In April 2003, BEA Systems, IBM, Microsoft, SAP, and Siebel Systems submitted BPEL4WS 1.1 to OASIS for standardization via the Web Services BPEL Technical Committee.[9] Although "BPEL4WS" appeared as both a 1.0 and 1.1 version, the OASIS WS-BPEL technical committee voted on September 14, 2004 to name their spec "WS-BPEL 2.0."[10]

In June 2007, Active Endpoints, Adobe Systems, BEA, IBM, Oracle, and SAP published the BPEL4People and WS-HumanTask specifications, which describe how human interaction in BPEL processes can be implemented.

External links

Note: Some of the links at Cover Pages may need to be run through the Internet Archive's Wayback Machine.

References

  1. Manasco, Britton (11 January 2005). "New view of BPEL". ZDNet. http://www.zdnet.com/blog/service-oriented/new-view-of-bpel/124. Retrieved 19 August 2014. 
  2. Cover, Robin (1 July 2008). "Business Process Execution Language for Web Services (BPEL4WS)". Cover Pages. http://xml.coverpages.org/bpel4ws.html. Retrieved 19 August 2014. 
  3. Reynolds, John (19 January 2006). "Service Orchestration vs. Service Choreography". Java.net. Oracle. https://weblogs.java.net/blog/johnreynolds/archive/2006/01/service_orchest.html. Retrieved 19 August 2014. 
  4. Dijkman, Remco; Dumas, Marlon (2004). "Service-oriented Design: A Multi-viewpoint Approach". International Journal of Cooperative Information Systems 13 (4): 337–378. doi:10.1142/S0218843004001012. http://eprints.qut.edu.au/622/. Retrieved 19 August 2014. 
  5. Webber, Jim; Little, Mark (August 2003). "Introducing BPEL4WS 1.0". Web Services Journal (SYS-CON Publications) 3 (8). Archived from the original on 29 August 2003. https://web.archive.org/web/20030829222907/http://www.sys-con.com/webservices/article.cfm?id=622. Retrieved 19 August 2014. 
  6. Lawson, Stephen (3 May 2001). "WWW10: IBM readies Web services workflow proposal". InfoWorld. IDG Network. Archived from the original on 06 March 2009. https://web.archive.org/web/20090306224354/http://www.infoworld.com/articles/hn/xml/01/05/03/010503hnworkflow.html. Retrieved 19 August 2014. 
  7. Anderson, Eric Binary (22 November 2000). "Talking in XLANG". ENT Online. 101 Communications. Archived from the original on 21 April 2001. https://web.archive.org/web/20010421152412/http://www.entmag.com/displayarticle.asp?ID=11220072307AM. Retrieved 19 August 2014. 
  8. 8.0 8.1 Ryan, Frank (2007). "WS-BPEL 2.0" (PDF). OASIS. https://www.oasis-open.org/committees/download.php/23068/WS-BPEL%20Technical%20Overview%20for%20Developers%20and%20Architects%20-%20Part%201%20%28Frank%20Ryan%29.pdf. Retrieved 19 August 2014. 
  9. Krill, Paul (15 April 2003). "OASIS to get BPEL4WS jurisdiction". InfoWorld. IDG Network. Archived from the original on 24 July 2008. https://web.archive.org/web/20080724032537/http://www.infoworld.com/article/03/04/15/HNbpel_1.html. Retrieved 19 August 2014. 
  10. "WS BPEL issues list". Choreology Ltd. 28 August 2006. Archived from the original on 21 July 2007. https://web.archive.org/web/20070721002815/http://www.choreology.com/external/WS_BPEL_issues_list.html#Issue98. Retrieved 19 august 2014.