Emailing EY Digital Supply Chain Its All About That Data Final
Emailing EY Digital Supply Chain Its All About That Data Final
Elena Ivanova
Standards for orchestration of web services are considered. Brief overview of such technologies is presented. The main
characteristics of available software tools for orchestration are derived and described. A case study about particular
service orchestration software suits is presented.
INTRODUCTION
Standards and technological solutions for orchestration appeared as a natural growth of web
service technologies. They arose out of the need for composing several services into one and thus
forming more complex services and business processes. There is another term and group of
technologies, relevant to composing of services – choreography. Choreography refers to global,
multiparty, peer-to-peer collaborations where the component entities interact in long-lived stateful
and coordinated way regardless of any programming model or supporting platform used.
Choreography languages (examples are WSCI, WS-CDL, etc) are mainly descriptive and cannot be
directly executed. These languages are necessary to be mapped to an orchestration language in
order to be executed. Orchestration focuses on the behaviour of the composed services as a whole.
Orchestration languages (e.g. BPLM, BPEL, XPDL, BPELJ, jPDL, etc) are executable languages
and define a runtime environment for their execution.
The paper is focused on orchestration and is organized as follows. The next section is devoted
to the standards and technologies, related to orchestration of web services. After that the attention is
paid on the software tools providing means for orchestration. The next is a case study about
particular service orchestration software suits. The paper finishes with some concluding remarks.
– –
Table 1
Standard Description
BEPLJ (BPEL for Java) It is a combination of BPEL and Java, proposed by IBM and BEA, which
URL: www.ibm.com allows sections of Java code (snippets) to be included in BPEL process
definitions. Snippets are expressions or small blocks of Java code, used
for: loop conditions, branching conditions, variable initialization, Web
service message preparation, etc. BPELJ introduces a few minor changes
to BPEL as well as several extensions in order to fit BPEL and Java
conveniently together.
BPEL (Business Process This is a convergence of WSFL and XLANG, written by developers from
Execution Language) BEA, IBM, SAP, Siebel and Microsoft. It is an XML-based language,
URL: www.oasis- depending on WSDL, XML-Schema and XPath, providing a language for
open.org the formal specification of business processes and interaction protocols.
It supports both abstract and executable processes. In BPEL, a business
process is composed of elements ("activities") that define activity
behaviors, including the ability to invoke Web services and control flow,
and to compensate when errors occur. The resulting business process is
exposed as one or more Web services.
BPML (Business This is a textual service-oriented process modelling language, based on
Process Modelling XML, XML-NS, XML-S, XPath and WSDL. It provides an abstracted
Language) execution model for collaborative and transactional business processes. It
URL: www.bpmi.org is a strict superset of BPEL, although BPEL have been endorsed by for
BPMI phase 2.0 instead of BPML.
BPSS (Business Process BPSS provides a standard framework (language) for business process
Specification Schema) specification. As such, it works with the ebXML Collaboration Protocol
URL: www.ebxml.org Profile (CPP) and Collaboration Protocol Agreement (CPA)
specifications to bridge the gap between Business Process Modeling and
the configuration of ebXML compliant e-commerce software.
jPDL (jBPM Process It is an XML based process execution language running in the Open
Definition Language) Source JBoss jBPM (Java Business Process Management) workflow
URL: jbpm.org management system. Java actions can be triggered from the language.
JSR 207 (Java This is an initiative of the Java Community Process (JCP) that
Specification Request) standardizes how to automate business processes on a J2EE server. The
URL: basic model of this JSR is to define a special type of ejb session bean that
www.jcp.org/en/jsr/ acts as the interface for a business process.
Orch This is a programming language and system for orchestrating distributed
URL: services. The Orc model [3] assumes that basic services, like sequential
www.cs.utexas.edu/users computation and data manipulation, are implemented by primitive sites.
/wcook/projects/orc/ Orc provides constructs to orchestrate the concurrent invocation of sites
to achieve a goal – while managing time-outs, priorities, and failure of
sites or communication.
XLANG It is an extension of WSDL, providing both the model of an orchestration
URL: of services and collaboration contracts between orchestrations. XLANG,
www.microsoft.com like BPML, were designed with an explicit -calculus theory foundation.
XPDL (XML Process It is an XML-based language from the Workflow Management Coalition
Definition Language) (WfMC) for defining business processes. XPDL was based around a
URL: www.wfmc.org common set of functions for work distribution found in most workflow
products. The XPDL’s syntax is specified by an XML Schema.
WSFL (Web Services It is an XML language, from IBM, for the description of Web Services
Flow Language) compositions as part of a business process definition. It relies and
URL: www.ibm.com complements existing specifications - SOAP, WSDL, XMLP, and UDDI.
– –
The chronological developments of these languages are tried to be represented on fig.1.
Available orchestration technologies can be divided into three groups, according to their basic
language: XML based, programming language based (mostly java based), and other based. This
classification is represented on the following figure 2.
Orchestration Technologies
– –
• deployment – deploying the process onto the appropriate server location;
• execution – executing of the deployed processes;
• administration and monitoring – managing and monitoring of the running processes.
There are tools, supporting all these functions, and others, supporting only the first or/and the
second function. Thus, service orchestrating products can be divided into three categories,
according to their major functionality: editors (supporting mainly the first function – specification
and/or simulation), engines (supporting mainly the second function – deployment and execution)
and complex tools (supporting all aforementioned functions).
It can be made another classification of the examined tools, according to the supported
orchestration standard: BPEL and XPDL, the most widely used standards. Some of the relevant
tools are given in the tables below.
Among the more than 90 found products, approximately 16% of them are based upon XPDL
standard, approximately 24% of them are based upon BPEL standard, 4% of them are based on
other standard (like WSFL and jPDL), and the rest are based on other (proprietary) technology. The
most commercial tools are based on BPEL standard.
CASE STUDY
A case study in this section will illustrate the described functionalities of particular service
orchestration tools: ActiveBPEL Designer and ActiveBPEL Enterprise, the products of Active
Endpoints [4, 5], one of the leading companies in this area.
ActiveBPEL Designer is a comprehensive visual tool (editor) for creating, testing and
deploying composite applications, based on the BPEL standard. It is a plug-in to the Eclipse
(www.eclipse.org) integrated development environment. Having in mind the five specific functions
of orchestrating tools, outlined above, the tool covers three of them - specification, simulation and
deployment of executable complex business processes.
Specification. Processes are built by choosing partners, services and operations, and defining
how data flows among those entities. It is done by organizing icons on the Process Editor canvas,
and at the same time the tool constructs valid BPEL code. Figure 3 presents a typical picture of an
ActiveBPEL process on the left hand side, and the corresponding BPEL code snippet as generated
by ActiveBPEL Designer on the right hand side.
Simulation. The created process is simulated by using sample data and setting break points.
Deployment. The necessary files for deployment are automatically packaged and deployed
onto the appropriate server location.
– –
Fig.3 ActiveBPEL process
CONCLUDING REMARKS
In this paper, a brief overview of orchestration standards as well as software tools providing
means for orchestration was presented. A case study, describing functionalities of the particular
service orchestration products: ActiveBPEL Designer and ActiveBPEL Enterprise, was illustrated.
As can been seen, many technologies are involved in the area of service orchestration. Two of
them - BPEL and XPDL, have found wide acceptance, having in mind the software products, which
are based on them. The list of software tools, supporting service orchestration, is quite long, and
shows the importance of the developments in such application area. There are at least five major
functional characteristics, specific to such kind of products – specification, simulation, deployment,
execution and administration of executable processes.
REFERENCES
[1] WfMC: Workflow Reference Model; available at http://www.wfmc.org/standards/model.htm
[2] Hollingworth D.; The Workflow Reference Model –10 Years On; Workflow handbook 2004
[3] Misra J.and W. Cook, 2004, Computation Orchestration: A Basis for Wide-Area Computing,
Lecture Notes for NATO summer school, held at Marktoberdorf in August 2004
[4] http://www.active-endpoints.com/
[5] http://www.activebpel.org/
Contacts:
Assistant prof. Elena Ivanova, Department “Hierarchical Systems”, Istitute of Computer and
Communication Systems, BAS, Е-mail: [email protected]
This research is partly supported by the European Commission, project №FP6-027178, and
National Scientific Fund of Bulgaria, project № ВУ-МИ-108/2005.
– –