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 (WS-BPEL)
- ebXML
- RosettaNet
- PSL Process Specification Language
3Processes and Workflows
4Process Abstractions
- Orchestration A process is a partial order of
actions (activity graph, script) under the
control of a central conductor akin to a
workflow Global central - Choreography A process is an exchange of
messages among participants akin to a
conversation as described by WSCL, WS-CDL, ebBP
Global distributed - Collaboration A process is a joint set of
activities among business partners Local
distributed - Workflow narrower concept than process
emphasizes control and data flows from a central
perspective usually tool-specific and focused on
human tasks
5Telecommunications Order Processing
Older workflow tools support specialized (ad hoc)
notations
6Describing Dynamics with UML
- Practically identical to BPMN (Business Process
Modeling Notation) and WS-BPEL (Business Process
Execution Language) - Sequence a transition from one activity to the
next in time - Branch a decision point among alternative flows
of control - Merge where two or more alternative flows of
control rejoin - Fork a splitting of a flow of control into two
or more concurrent and independent flows of
control - Join a synchronization of two or more
concurrently executing flows of control into one
flow
7UML Activity Diagram
Implementation of a vendors purchase process
8Flow Interoperability Patterns
- Among others
- Chained
- Nested
- Synchronized
- What guarantees would you obtain from each?
- How would you accommodate exceptions in each?
9WS-BPEL Metamodel
10Process as a Composite Web Service
11Stock Quote Service in WS-BPEL
- 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 jointly by
- UN-CEFACT (United Nations Centre for Trade
Facilitation and Electronic Business) - OASIS (Organization for the Advancement of
Structured Information Standards) - Provides specification languages for business
processes, business messages to facilitate
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 business with respect to its roles in
specified processes, the messages it exchanges,
and the transport mechanism (e.g., HTTPS) - Collaborative Partner Agreement (CPA)
- Intuitively, like 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
- PIP Partner Interface Process an interaction
protocol - ebXML BPSS language for specifying PIPs
- Two-party protocols
- Request-response only
- No specification of the meanings of the messages
exchanged
19Exercise Exception in a Process
- Recording student registration
- Assume that each database management system
supports two-phase commit for transactions - Task 2 checks that the student has completed the
necessary prerequisites for all the courses for
which the student is registering - Consider a scenario where Tasks 3, 4, 5
succeed, but 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 process to prevent
problems such as this from occurring?
20Chapter 13 Summary
- In virtually all serious applications of SOC,
services are composed into processes - Current approaches for process modeling are based
on workflow abstractions - WS-BPEL enables specification of processes
- ebXML also considers the life cycle of processes
- RosettaNet is an application of ebXML
- Flows interact in various ways
- Exceptions in flows can be handled via (extended)
transactions or through application-specific
means (where interesting patterns can arise)