Title: Chapter 13: Process Specifications
1- Chapter 13Process Specifications
Service-Oriented Computing Semantics, Processes,
Agents Munindar P. Singh and Michael N. Huhns,
Wiley, 2005
2Highlights of this Chapter
- Processes
- Describing Dynamics with UML
- Workflows
- Business Process Languages
- BPEL4WS
- BPML
- ebXML
- RosettaNet
- PSL Process Specification Language
3Processes and Workflows
4Process Abstractions
- Orchestration views a process as a partial order
of actions under the control of a central
conductor akin to a workflow - Choreography views a process as an exchange of
messages among participants akin to a
conversation as described by WSCL and WSCI - Collaboration views a process as a joint set of
activities among business partners - Workflow a narrower concept than a process,
which emphasizes control flows and data flows
from a central perspective
5Describing Dynamics with UML
- UML provides graphical constructs that can be
used to describe (1) actions and activities, and
(2) their temporal precedences and flows of
control. The allowable control constructs are - Sequence, which is a transition from one activity
to the next in time - Branch, which is a decision point among
alternative flows of control - Merge, where two or more alternative flows of
control rejoin - Fork, which is a splitting of a flow of control
into two or more concurrent and independent flows
of control - Join, which is a synchronization of two or more
concurrently executing flows of control into one
flow
6UML Activity Diagram
7Example Workflow for Telecommunications Order
Processing
8Workflow Interoperability Patterns
9BPEL4WS Metamodel
10A BPEL4WS process is a composite Web service with
a WSDL description
11Example BPEL4WS Specification for Stock Quotation
Composite Service
- ltprocess name"simple" targetNamespace"urnstockQ
uoter" xmlnstns"urnstockQuoter"
xmlnssqp"http//tempuri.org/services/stockquote"
xmlnsBPEL/gt - ltcontainersgt
- ltcontainer name"request" messageType"tnsreq
uest"/gt - ltcontainer name"response" messageType"tnsre
sponse"/gt - ltcontainer name"invocationRequest"
messageType"sqpGetQInput"/gt - ltcontainer name"invocationResponse"
messageType"sqpGetQOutput"/gt - lt/containersgt
- ltpartnersgt
- ltpartner name"caller" serviceLinkType"tnsSt
ockQuoteSLT"/gt - ltpartner name"provider" serviceLinkType"tns
StockQuoteSLT"/gt - lt/partnersgt
- ltsequence name"sequence"gt
- ltreceive name"receive" partner"caller"
portType"tnsStockQuotePT" - operation"wantQuote"
container"request" createInstance"yes"/gt - ltassigngt ltcopygt
- ltfrom container"request"
part"symbol"/gt - ltto container"invocationRequest"
part"symbol"/gt - lt/copygt lt/assigngt
12Electronic Business Extensible Markup Language
(ebXML)
- Established by UN-CEFACT (United Nations Centre
for Trade Facilitation and Electronic Business)
and OASIS (Organization for the Advancement of
Structured Information Standards) - Provides specifications to define standard
business processes, exchange business messages
and enter into trading agreements - Motivations
- Global standard for companies of all sizes
- Automate finding business partners
13ebXML Vocabulary
- Unified Modeling Methodology (UMM)
- Specialized UML for Business Processes
- Collaboration Protocol Profile (CPP)
- Describes a businesss profile, i.e., which
business processes it supports, its roles in
those processes, the messages exchanged, and the
transport mechanism for the messages (e.g.,
HTTPS) - Collaborative Partner Agreement (CPA)
- An intersection of two CPPs
- Technical agreement between two or more partners
- May be legally binding
14Design of an ebXML System
15Discover Partner Information and Negotiate
16Implementing ebXML
- ebXML is a set of specifications of
collaborations and repositories for discovering
business partners - Build and deploy its custom ebXML-compliant
application to implement necessary roles in
different collaborations - Use COTS ebXML compliant applications and
components (from ERP vendors) - Business Service Interface (BSI) a wrapper that
enables a given party to participate properly in
an ebXML exchange
17Business Service Interface
- Interfaces with the legacy system, e.g., to make
it vendor in a specific protocol such as 3A4 - Is aware of its own Collaborative Protocol
Profile - Handles transactions based on all the current
agreements (CPAs)
18RosettaNet PIP for Creating a Purchase Order The
Content for ebXML
19Exercise Exceptions in Workflows
- This workflow is for recording student
registration. Assume that each database
management system can implement the 2PC protocol
for transactions. When a student registers, Task
2 is a check with the Graduate Coordinator to
verify that he has completed the necessary
prerequisites for the courses for which he is
registering. Assume that Tasks 3, 4, and 5
succeed, but that Task 2 fails. - As the system administrator, what operations
would you have to perform in order to restore
consistency to your system? - How would you modify the workflow in order to
prevent problems such as this from occurring in
the future?
20Chapter 13 Summary