Web Services Business Process Execution Language

From LIMSWiki
Revision as of 19:14, 19 August 2014 by Shawndouglas (talk | contribs) (Created stub record. Saving and adding more.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

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."[1]

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.[2][3]

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

  • 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.

External links

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

References

  1. 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. 
  2. 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. 
  3. 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. 
  4. 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.