chapter 13: process specifications
DESCRIPTION
Chapter 13: Process Specifications. Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005. Highlights of this Chapter. Processes Describing Dynamics with UML Workflows Business Process Languages BPEL4WS (WS-BPEL) ebXML RosettaNet - PowerPoint PPT PresentationTRANSCRIPT
Chapter 13:Process Specifications
Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005
Chapter 13 2Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Highlights of this Chapter Processes Describing Dynamics with UML Workflows Business Process Languages
BPEL4WS (WS-BPEL) ebXML RosettaNet
PSL: Process Specification Language
Chapter 13 3Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Processes and Workflows
BPEL4WSOWL-S ServiceModel
ebXMLCPA
Process and workfloworchestrations
QoS: Servicedescriptions and bindings
Contracts andagreements
XLANGWSCL
WSDL ebXMLCPP
ebXMLBPSS
XML, DTD, and XML Schema
HTTP, FTP, SMTP, SIP, etc.
SOAP ebXMLmessaging
OWL
UDDI ebXMLRegistries
WSCLWSCI
WS-Coordination
WS-AtomicTransaction and WS-BusinessActivity
OWL-S ServiceGrounding
OWL-S ServiceProfile
BTP
BPML
Discovery
Messaging
Transport
QoS: Conversations
QoS: Choreography
QoS: Transactions
Encoding
WS-Policy
WS-Security
WS-ReliableMessaging
PSL
RDF
Chapter 13 4Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
A Process Is … [Abstractions]
Orchestration: A partial order of actions (activity graph, script) under the control of a central conductor; akin to a workflow [Global view; central]Workflow: narrower concept than process; emphasizes
control and data flows from a central perspective; usually tool-specific and focused on human tasks
Choreography: An exchange of messages among participants; akin to a conversation as described by WSCL, WS-CDL, ebBP [Global view; distributed]
Collaboration: A joint set of activities among business partners [Local views; distributed]
Chapter 13 5Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Telecommunications Order Processing
Takesevicerequest
Checkhardwareavailability
&Scheduleservice
installation
Installservice
Stop&Createbillingrecord
Checkcredit
(Ok)
(Available)
Older workflow tools support specialized (ad hoc) notations
Chapter 13 6Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Describing Dynamics with UMLUML Activity Diagrams are practically identical to
BPMN (Business Process Modeling Notation) and WS-BPEL (Business Process Execution Language)
Sequence: a transition from one activity to the next
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
Chapter 13 7Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
UML Activity DiagramReceive PO
Get Items from InventoryUpdate Customer Profile
Compute Subtotal
Compute Shipping Cost
Compute Export Tax
Compute International Shipping
Compute Total
[ship within US] [ship outside US]
Ship Order
Fork
Join
Branch
Merge
Implementation of a vendor’s purchase process
Chapter 13 8Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Flow Interoperability Patterns
Process 1 Process 2
Process 1 Process 2Process 2Process 1
ActionState 1
ActionState 2
ActionState A
Chained Interoperability
ActionState 1
ActionState 2
ActionState A
Nested Interoperability
ActionState 1
ActionState 2
ActionState C
Synchronized Interoperability
ActionState 3
ActionState B
ActionState A
ActionState 3
Among others: Chained Nested Synchronize
d
What guarantees would you obtain from each pattern?
How would you accommodate exceptions in each pattern?
Chapter 13 9Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
WS-BPEL Metamodel-name-property
CorrelationSetCompensationHandler
-nameProcess Activity
-myRole-serviceLinkType-name
Partner
-messageType-name
Container
-faultContainer-faultName
FaultHandler Reply
Chapter 13 10Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Process as a Composite Web Service
Web Service
portType
portType
portType
<receive>
<receive>
<reply>
<reply>
BPEL4WSProcess
Chapter 13 11Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Stock Quote Service in WS-BPEL<process name="simple" targetNamespace="urn:stockQuoter" xmlns:tns="urn:stockQuoter"
xmlns:sqp="http://tempuri.org/services/stockquote" xmlns=&BPEL;/> <containers> <container name="request" messageType="tns:request"/> <container name="response" messageType="tns:response"/> <container name="invocationRequest" messageType="sqp:GetQInput"/> <container name="invocationResponse" messageType="sqp:GetQOutput"/> </containers> <partners> <partner name="caller" serviceLinkType="tns:StockQuoteSLT"/> <partner name="provider" serviceLinkType="tns:StockQuoteSLT"/> </partners>
<sequence name="sequence"> <receive name="receive" partner="caller" portType="tns:StockQuotePT" operation="wantQuote" container="request" createInstance="yes"/> <assign> <copy> <from container="request" part="symbol"/> <to container="invocationRequest" part="symbol"/> </copy> </assign> <invoke name="invoke" partner="provider" portType="sqp:StockQuotePT" operation="getQuote" inputContainer="invocationRequest"
outputContainer="invocationResponse"/> <assign> <copy> <from container="invocationResponse" part="quote"/> <to container="response" part="quote"/> </copy> </assign> <reply name="reply" partner="caller" portType="tns:StockQuotePT" operation="wantQuote"
container="response"/> </sequence></process>
Chapter 13 12Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Electronic 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
Chapter 13 13Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
ebXML 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
Chapter 13 14Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Design of an ebXML SystemBusiness
Organization A
ebXML ProcessSpecification
Document
ImplementebXML
CPA and CPPSpecifications
ebXML BusinessService Interface
Configuration
Publish Collaboration
Protocol Profile
Request ebXMLSpecs
Receive ebXMLInfo
BusinessProcess
BusinessScenarios
BusinessProfiles
ebXML Repository
Business Processand Information
Model(UMM or PSL)
BusinessOrganization B
ebXML ProcessSpecification
Document
ImplementebXML
CPA and CPPSpecifications
ebXML BusinessService Interface
Configuration
Business Processand Information
Model(UMM or PSL)
Request ebXMLSpecs
Receive ebXMLInfo
Publish Collaboration
Protocol Profile
CPA Information
Chapter 13 15Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Discover Partner Information and Negotiate
RequestInformation onOranization B
BusinessOrganization A
NegotiateTerms
BusinessOranization B
NegotiateTerms
Request Oranization B’sProfiles, Scenarios
Receive Organization B’sInformation
BusinessProcess
BusinessScenarios
BusinessProfiles
ebXML RepositoryExchange Partner Agreement
(CPA)Accept Partner
Agreement
Chapter 13 16Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Implementing 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
Chapter 13 17Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Business Service Interface
Interfaces with the legacy system to have it play a role in a specific protocol (e.g., vendor in 3A4)
Is aware of its own Collaborative Protocol Profile
Handles transactions based on all current agreements (CPAs)
ebXML World LegacyApplication
TransformLayer
BusinessServiceInterface
MessageLayer
(TR & P)
CPADocument
BusinessProcess
Chapter 13 18Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
RosettaNet PIP for Creating a Purchase Order: The Content for ebXML
Back-end application
Create Order Log order confirmation
Order instance(object)
Semantic Web enabled RosettaNet
Semantic Web enabled RosettaNet
Send PO Receive POA
PO instance POA instance
Create PO Request Analyze POA
PO instance POA instance
Receive PO Send POA
Analyze PO Create POA
Back-end application
Confirm PO (some or all lineitems may be rejected)
Ontologies ofdata structures,business logicand message
exchangeprotocols
Mediation ofdata structures,business logicand message
exchangeprotocol
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
Chapter 13 19Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Exercise: 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?
1. Recordregistrationinformation
2. Check forprerequisites
3. Verifystudent in
goodstanding
4. Issue billfor tuitionand fees
5. Recordfee payment
6. Recordstudent asregistered
Studentsubmitscourse
registrationinformation
Studentpays fees
Graduatecoordinator
Courseenrollment DB
Studentrecords DB
Billing DB
Chapter 13 20Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Chapter 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)