Difference between revisions of "Web Services Business Process Execution Language"
Shawndouglas (talk | contribs) (Created stub record. Saving and adding more.) |
Shawndouglas (talk | contribs) (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
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ 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.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.
- ↑ 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.
- ↑ "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.