designing and implementing service-oriented business processes · • third-generation information...

256
Designing and Implementing Service-Oriented Business Processes 1 Juha Puustjärvi

Upload: others

Post on 26-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Designing and Implementing

Service-Oriented Business Processes

1

Juha Puustjärvi

Page 2: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Principal Coursebook:

Service-Oriented Computing:

Semantics, Processes, Agents

2

Semantics, Processes, Agents

Munindar P. Singh and Michael N. Huhns

John Wiley & Sons, Ltd., 2005

Page 3: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Contents

• Chapter 1: Introduction to Service Oriented Computing

• Chapter 2: Basic Standards for Web Services

• Chapter 3: Principles of Service-Oriented Computing

• Chapter 4: Transaction Concepts

3

• Chapter 4: Transaction Concepts

• Chapter 5: Coordinating Frameworks for Web Services

• Chapter 6: Business Process Specifications

Page 4: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Chapter 1Introduction to Service Oriented

Computing

• At first we review some key motivations for the

4

• At first we review some key motivations for the

emergence of Web services

– The motivations are quiding some of the emerging standars and

technologies for Web services and provide a basis for evaluating

competing approaches

Page 5: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

The future of the Web

• Today’s Web, although succesful in many ways, also

has a number of limitations

– E.g., most of the information is static and Web sites typically do

not exhibit well structured programmatic behaviour.

– The only kind of programmative behaviour is when a form is

5

– The only kind of programmative behaviour is when a form is

posted to a script running at a specific URL, but these scripts

have rigid interfaces and behaviour, and complicate the tasks of

building and maintaining distributed applications.

Page 6: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Most plausible vision for the future of the Web are based

on the following assumptions:

– The Web is and will be ubiquitous, have no central authority, and

consists of “components” that are heterogeneous and

autonomous.

6

autonomous.

– Today, the components are primarily Web pages, but in future

they will increasingly be programs.

Page 7: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

– Today the Web is dynamic in the sense that its component

being able to change arbitrary.

– However the Web is not dynamic in the sense that the

components can negotiate only a few limited aspects of their

interactions:

7

• Typically, the visual aspects of a page or whether cookies can be

set and retrieved by a browser.

– The Web will begin to support cooperative peer-to-peer (P2P)

interactions, while continuing to support client-server

interactions.

Page 8: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Semantic Web

• Today’s Web is geared for use by people, i.e.,

information is generally marked up for presentation and

is displayed according by a browser.

• Humans can interpret the content of the page because

they have the necessary background knowledge, which

they share with the creator of the page.

8

they share with the creator of the page.

• It is also possible to write so-called screen-scarping

program that for example extracts the price of a book

from a search-results page on amazon.com

– Such programs are heavily ad hoc, e.g., get the seventh cell

from the third row of the second table in the fifth frame

Page 9: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• In the Semantic Web, the page would be marked up not

only with presentation details but also with a separate

representation of the meaning of its content.

• A program instructed to extract the price would find the

price even if the layout of the page was changed .

9

Page 10: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Client Server vs. Peer-to Peer Computing

• Today’s Web is used for interactions in which most of the

information resides on one side (server) and most of the

intelligence on the other (client).

– The asymmetry between the interacting parties means that the

information tends to be aggregated in large servers, which become

significant to the functioning of the entire system.

• The key idea behind peer-to-peer computing (P2P) is that

10

• The key idea behind peer-to-peer computing (P2P) is that

the different components are peers or equals of each

others – each has aspects of being a server and a client.

– Under P2P the Web would consist not of passive pages to be

accessed by programs but of active programs that can

communicate with one another.

– However, current P2P approaches lack semantics, meaning that

the applications must hardcode how they interact, precluding

flexible negotiation.

Page 11: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Processes and Protocols

• Today’s Web is by its nature static and passive, although

it sis possible to invoke programs (e.g., servlets) over it.

• The challenge is to find and correctly invoke the

programs.

11

– This challenge is addressed by the first-generation service

approaches, which provide a means by which the parameters

and outputs of programs can be specified, usually by XML.

– Furthermore, these standards provide a means to locate the

services one might wish to invoke and provide support for how to

invoke those services over the Web, using the HTTP.

Page 12: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

– Services are invoked to carry out business processes, which

also involve high-level interactions among various parties.

– In contrast to service invocations, which are single-shot two-

party interactions, processes are typically long-lived multiparty

interactions.

12

– For this reason, a process-oriented view of services is gaining

prominence.

– Particularly, standards for modeling business processes are

being developed as close extensions of standards for Web

services.

Page 13: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Pragmatic Web• The term Pragmatic Web means that the Web is

understood as being used for processes in context.

– The ramifactions of this term are made clear by the rest of this

course.

– Particularly, this course describes the technologies of Web

services from the perspective of how they could be used to build

large, open information systems.

13

large, open information systems.

• The Pragmatic Web puts together the enabling

technologies for negotiation.

– Though negotiation is common in real life, today’s computer

applications; most negotiations are handled ahead of time by

humans- only the most trivial negotiations are carried automatically.

– This is changing with the emergence of online markets that support

bidding and bartering.

Page 14: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Participating successfully in a negotiation depends upon

modeling the semantics of what is being negotiated,

interacting as a peer, and carrying out long-lived

interactions as part of realistic business process.

– This course does not solve the problems of negotiation that

arise in various applications, because the specific techniques

would depend on the application in question.

14

– However, the course seeks to provide the concepts and

techniques of Web services that would be an integral part of the

solutions in those applications.

Page 15: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Brief History of Information

Technology

• First-generation information systems provide centralized

processing that is controlled and accessed from simple

terminals that have no data-processing capabilities of

their own.

15

• Second-generation information systems are organized

into servers that provide general-purpose processing,

data, files, and applications and clients that interact with

the servers and provide special-purpose processing,

inputs, and outputs.

Page 16: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Third-generation information systems, which include

those termed peer-to-peer, enable each node of a

distributed set of processors to behave as both a client

and a server; they may still use some servers.

16

• Emerging next-generation information systems are

cooperative, where autonomous, active, heterogeneous

components enable the components collectively to

provide solutions.

Page 17: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

System Architectures: Centralized

Terminal3270

Terminal

Terminal

Terminal

17

Mainframe

Terminal

Terminal

Terminal

TerminalTerminal

Terminal

Terminal

Terminal

Page 18: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

System Architectures: Client-Server

PC

Client

PC

Client PC

Client

Workstation

Client

18

E-Mail

ServerWeb

ServerDatabase

Server

Master-Slave

Page 19: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

System Architectures: Peer-to-Peer

Application

ApplicationApplication

19

E-Mail

SystemWeb

SystemDatabase

System

Application

Page 20: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

System Architectures: Cooperative

Application

ApplicationApplication

Agent

Agent

Agent

Agent

20

E-Mail

System

Web

System

Database

System

Application

(Mediators, Proxies, Aides, Wrappers)

Agent

Agent Agent

Agent

Agent

Agent

Page 21: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Open Environments

• The term open implies that the components involved are

autonomous and heterogeneous, and system

configurations can change dynamically.

• Often, we would want to constrain the design an

behavior of components, and thus limit the openness of

21

behavior of components, and thus limit the openness of

the system – however, the system would still have to

deal with the rest of the world, which would remain open.

– E.g., a company might develop an enterprise integration system

that is wholly within the enterprise – yet the system would have

to deal with external parties, e.g., to handle supply and

production chains.

Page 22: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Autonomy

• Autonomy means that the components in an

environment function solely under their own control.

– E.g., an e-commerce site may or may not remove some item

from its catalog.

• Software components are autonomous because they

22

• Software components are autonomous because they

reflect the autonomy of the human and corporate

interests that they represent on the Web,

– i.e., there are sociopolitical reasons for autonomy

• A consequence of autonomy is that updates can occur

only under local control.

Page 23: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Heterogeneity

• Heterogeneity means that the various components of given system are different in their design and construction.

– Often the reasons are historical: components fielded today may have arisen out of legacy systems that were initially constructed for different narrow uses, but eventually expanded in their scopes to participate in the same system.

23

• Heterogeneity can arise at a variety of levels in a system, such as networking protocols, encodings of information, and data formats.

– Clearly, standardization at each level reduces heterogeneity and can improve productivity through enhanced interoperability.

– This is the reason that standards such as the Internet Protocol (IP), HTTP, UCS Transportation Format (UTF-8), and XML have gained currency.

Page 24: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Heterogeneity also arises at the level of semantics and

usage, where it may be hardest to resolve and

sometimes even to detect.

• However, there is a reason why heterogeneity emerges

and should be allowed to persist.

– To remove heterogeneity would involve redesigning and re-

implementing the various components.

24

Page 25: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Dynamism

• An open environment can exhibit dynamism in two main

respects.

– First, because of autonomy, its participants can behave arbitrary.

– Second, they may also join or leave an open environment on a

whim.

25

whim.

Page 26: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

The Challenges of Open Environments

• Open environments pose significant technical

challenges.

• In particular, the developed approaches must

– cope with the scale of the number of participants,

– respect the autonomy, and

26

– respect the autonomy, and

– accommodate the heterogeneity of the various participants,

while maintaining coordination

Page 27: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Services• Just like objects a generation ago, services is now the key

buzzword. However, services mean different things to different people:

– A piece of business logic accessible via the Internet using open standards (Microsoft).

– Encapsulated, loosely coupled, contracted software functions,

27

– Encapsulated, loosely coupled, contracted software functions, offered via standard protocols over the Web (DestiCorp).

– Loosely coupled software components that interact with one another dynamically via standard Internet technologies (Gartner).

– A software application identified by a URL, whose interfaces and binding are capable of being defined, described, and discovered by XML artifacts and supports direct interaction with other software applications using XML-based messages via Internet-based protocols (W3C).

Page 28: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

A historical view of services over the Web

Generation Scope Technology Example

First All Browser Any HTML

page

Second Programmatic Screen Systematically

28

Second Programmatic Screen

scraper

Systematically

generated HTML

content

Third Standardized Web services Formally

described

service

Fourth Semantic Semantic

Web services

Semantically

described

service

Page 29: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Related Standards Bodies

• Since services involve serious work and interactions

among the implementations and systems of diverse

entities, it is only natural that several technologies

related to services would be standardized.

– As in much of computer science, standardization in services

29

– As in much of computer science, standardization in services

often proceeds in a de facto manner, where a standard is

established merely by fact of being adopted by a large number of

vendors and users.

– Standards bodies take the lead in coming up with de jure

standards, and clean up and formalize emerging de facto

standards.

Page 30: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• The following are the most important standards bodies and initiatives for services.

– IETF. The Internet Engineering Task Force is charged with the creation and dissemination of standards dealing with Internet technologies. Besides the TCP/IP suite and URI´s it is responsible for HTTP, Session Initiation Protocol SIP and SMTP.

– OMG. The Object Management Group has been developing standards for modeling, interoperating, and enacting distributed object systems. Its most popular standards include UML and

30

object systems. Its most popular standards include UML and CORBA.

– W3C. The World-Wide Web Consortium is an organization that promotes standards dealing with Web technologies. The W3C has mostly emphasized the representational aspects of the Web, deferring to other bodies for networking and other computational standards, e.g., those involving transactions. W3C’s main standards of interest for services include XML, XML Schema, WSDL, SOAP, and WSCI.

Page 31: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

– OASIS. The Organization for the Advancement of Structured

Information Standards standardizes a number of protocols and

methodologies relevant to Web services including the Universal

Business Language UBL, UDDI and Business Process

Specification Language for Web Services (BPEL4WS), and in

collaboration with UN/CEFACT, ebXML.

– UN/CEFACT. The Nations Center fort Trade Facilitation and

Electronic Business focuses on the facilitation of international

transactions, through the simplification and harmoninization of

31

transactions, through the simplification and harmoninization of

procedures and information flow. ebXML is one of its

development.

– WS-I. The Web Services Interoperability Organization is an

open, industry organization chartered to promote the

interoperability of Web services across platforms, operating

systems, and programming languages. Its primary contribution is

Basic Profile version 1.0 (BP 1.0).

Page 32: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

– BPMI.org. The Business Process Management Initiative is

working to standardize the management of business processes

that span multiple applications, corporate departments, and

business partners. It integrated XLANG (Microsoft) and WSFL

(IBM) into BPEL4WS.

– WFMC. The Workflow Management Coalition develops

standardized models for workflows, and workflow engines, as

well as protocols for monitoring and controlling workflows.

32

– FIPA. The foundation for Intelligent Physical Agents promotes

technologies and specifications that facilitate the end-to-end

interoperation of intelligent agent systems for industrial

applications. Its standards include agent management

technologies and agent communication languages.

Page 33: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Standards for Web Services

• There have been several major efforts to standardize

services and service protocols, particularly for electronic

business.

• The relationship of the different proposed standards and

33

• The relationship of the different proposed standards and

methodologies for automating electronic business is

presented in the following figure.

Page 34: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

34

Page 35: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• The efforts to standardize services and service

protocols, particularly for electronic business, have

resulted the rightmost stack.

• The leftmost stack is the result of development efforts by

the Semantic Web research community in conjunction

with the W3C.

35

• The central stack is primarily the result of standards

efforts led by IBM, Microsoft, BEA, HP, and Sun

Microsystems.

– In general, these have been separate from standards bodies, but

will be ratified eventually by one or more appropriate such

bodies.

Page 36: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Each stack makes use of the following abstraction levels:

– The transport layer provides the fundamental protocols for

communicating information among the components in a

distributed system of services.

– The encoding layer (XML-layer) is the foundation for

interoperation among enterprises and for the envisioned

Semantic Web. The standards of this level describes the

grammars for syntactically well formed data and documents.

36

grammars for syntactically well formed data and documents.

– The messaging layer describes the formats using which

documents and services invocations are communicated.

– The service description and bindings layer describes the

functionality of Web services in terms of their implementations,

interfaces, and results.

Page 37: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

– A conversation is an instance of a protocol of interactions

among services, describing the sequence of documents and

invocations exchanged by an individual service.

– Choreography protocols coordinate collections of Web services

into patterns that provide a desired outcome.

– Transaction protocols specify not only the behavioral

commitments of the autonomous components, but also the

means to rectify the problems that arise when exceptions and

37

means to rectify the problems that arise when exceptions and

commitment failures occur.

– The orchestration layer has protocols for workflows and

business processes, which are composed of more primitive

services and components. Orchestration implies a centralized

control mechanism, whereas choreography does not.

Page 38: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

– Contracts and agreements formalize commitments among

autonomous components in order to automate electronic

business and provide outcomes that have legal force and

consequences.

– The discovery layer specifies the protocols and languages

needed for services to advertise their capabilities and for clients

that need such capabilities to locate and use the services.

38

Page 39: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Chapter 2Basic Standards for Web Services

• The general architectural model for Web services consists of three types of participants:

• Service providers, who create Web services and advertise them to potential users by registering the Web services with

39

them to potential users by registering the Web services with service brokers.

• Service brokers, who maintain a registry of advertised (published) services and might introduce service providers to service requesters.

• Service requesters, who search the registers of service brokers for suitable service providers, and then contact a service provider to use its services.

Page 40: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

The general architectural model for Web services

ServiceBroker

Find or discover

Publish or announce

Registry

40

ServiceProvider

ServiceRequestor

Bind or invoke(SOAP)

discover(UDDI)

announce(WSDL)

Page 41: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

SOAP• SOAP was originally intended to provide networked

computers with-remote-procedure call (RPC) services

written in XML.

• SOAP has since become a simple lightweight protocol

for exchanging XML- messages over the Web using

HTTP, SMTP and SIP

41

HTTP, SMTP and SIP

– However HTTP is the most common transport for SOAP.

• Does not describe bidirectional or n-party interaction

• Character-based, so easy to encrypt/decrypt and thus

easy to secure

• Inefficient due to character, not binary, data and large

headers

Page 42: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Next slide shows an example of SOAP interactions

modeled as methods and as messages.

– In the example, a manufacturing company (say Dell) might

directly invoke a supplier’s (say Intel’s) catalog and order

functions, or might send a purchase order message to the

supplier.

• Note that when services are modeled as methods, then

42

• Note that when services are modeled as methods, then

service composition is achieved via scripts that invoke

methods

Page 43: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Interactions in SOAP

Via MethodsVia Methods Via MessagesVia Messages

CatalogService()CatalogService()invokeinvoke

catalogcatalog

Dell Purchasing Intel Sales

SubmitPO

AckPO

43

Purchasing()Purchasing()

Order()Order()invokeinvoke

catalogcatalog

confirmation #confirmation #

AckPO

SubmitASN

SubmitInvoice

SubmitPayment

A customer can order goods from a supplier directly by method invocations (left)

or Indirectly by sending a purchase order message (right)

Page 44: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Next slide shows an example SOAP message packaged

in an HTTP POST.

– HTTP POST is used rather than HTTP GET due to its ability to

carry a payload.

• The message, sent to www.socwether.com, requests

that the Web service perform the GetTemp procedure

using *Honolulu’ as the value of the City parameter and

44

using *Honolulu’ as the value of the City parameter and

“now” as the value of When parameter.

• The SOAP response message carries the resultant

temperature as the parameter DegreeCelsius with a

value of “30”.

Page 45: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

A SOAP request

POST /temp HTTP/1.1

Host: www.socweather.com

Content-Type: text/xml; charset="utf-8"

Content-Length: xxx

SOAPAction: "http://www.socweather.com/temp"

<!-- The above are HTTP headers -->

<?xml version=“1.0”?>

45

<?xml version=“1.0”?>

<env:Envelope

xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"

env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>

<env:Body>

<m:GetTemp xmlns:m="http://www.socweather.com/temp.xsd">

<m:City>Honolulu</m:City>

<m:When>now</m:When>

</m:GetTemp>

</env:Body>

</env:Envelope>

Page 46: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

A SOAP response corresponding the previous request

HTTP/1.1 200 OK

Content-Type: text/xml; charset="utf-8"

Content-Length: xxx

SOAPAction: "http://www.socweather.com/temp"

<?xml version=“1.0”?>

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"

46

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"

env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>

<env:Body>

<m:GetTempResponse xmlns:m="http://www.socweather.com/temp.xsd">

<DegreesCelsius>30</DegreesCelsius>

</m:GetTempResponse>

</env:Body>

</env:Envelope>

Page 47: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

WSDL: Web Services Description Language

• The architectural model for Web services presupposes

that services can be found and used, which in turn

presupposes accurate descriptions of services.

• The WSDL is an XML language for describing a

programmatic interface to a Web service, including

47

programmatic interface to a Web service, including

– Definitions of data types

– Input and output message formats

– The operations provided by the service

– Network addresses

– Protocol bindings

Page 48: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

WSDL Data Model

defin itions

targetN am espace=th isNam espace

xm ins:tns=thisN am espace

types

m essage nam e=in

m essage nam e=out

portType nam e=foo

operation

input m essage=tns:in

output m essage= tns:out

Types contains data type defin itions

M essages consis t of one or m ore parts

A portType describes an abstract set

of opera tions

48

b inding nam e=foobar

type=tns:foo

[b inding inform ation]

service nam e=foobar Serv ice

Port nam e=foobarPort

b inding=tns:foobar

[endpoint in form ation]

A bind ing describes a concre te set of

fo rm ats and protocols fo r the foo

portTypes

A port describes an im plem entation

of the foobar b inding

Page 49: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

WSDL Example:

<?xml version="1.0"?>

<!-- the root element, wsdl:definitions, defines a set of -->

<!-- related services -->

<wsdl:definitions

name="Temperature"

targetNamespace="http://www.socweather.com/schema"

49

targetNamespace="http://www.socweather.com/schema"

xmlns:ts="http://www.socweather.com/TempSvc.wsdl"

xmlns:tsxsd="http://schemas.socweather.com/TempSvc.xsd"

xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">

Page 50: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

<!-- wsdl:types encapsulates schema definitions of -->

<!-- communication types; here using xsd -->

<wsdl:types>

<!-- all type declarations are expressed in xsd -->

<xsd:schema

targetNamespace="http://namespaces.socweather.com"

xmlns:xsd="http://www.w3.org/1999/XMLSchema">

<!-- xsd def: GetTemp [City string, When string] -->

50

<!-- xsd def: GetTemp [City string, When string] -->

<xsd:element name="GetTemp">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="City" type="string"/>

<xsd:element name="When" type="string"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

Page 51: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

<!-- xsd def: GetTempResponse [DegreesCelsius integer] -->

<xsd:element name="GetTempResponse">

<xsd:complexType>

<xsd:all>

<xsd:element name="DegreesCelsius" type="integer"/>

</xsd:all>

</xsd:complexType>

</xsd:element>

<!-- xsd def: GetTempFault [errorMessage string] -->

51

<!-- xsd def: GetTempFault [errorMessage string] -->

<xsd:element name="GetTempFault">

<xsd:complexType>

<xsd:all>

<xsd:element name="errorMessage" type="string"/>

</xsd:all>

</xsd:complexType>

</xsd:element>

</xsd:schema>

</wsdl:types>

Page 52: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

<!-- wsdl:message elements describe potential transactions -->

<!-- Most messages, as here, have only one part. Multiple -->

<!-- parts provide a way to aggregate complex messages -->

<!-- request GetTempRequest is of type GetTemp -->

<wsdl:message name="GetTempRequest">

<wsdl:part name="body" element="tsxsd:GetTemp"/>

</wsdl:message>

<!-- response GetTempResponse is of type GetTempResponse -->

<wsdl:message name="GetTempResponse">

<wsdl:part name="body" element="tsxsd:GetTempResponse"/>

</wsdl:message>

<!-- wsdl:portType describes messages in an operation -->

52

<!-- wsdl:portType describes messages in an operation -->

<wsdl:portType name="GetTempPortType">

<!-- wsdl:operation describes the entire protocol from -->

<!-- input to output or fault -->

<wsdl:operation name="GetTemp">

<!-- The order of input and output is significant; input -->

<!-- preceding output indicates the request-response -->

<!-- operation type -->

<wsdl:input message="ts:GetTempRequest"/>

<wsdl:output message="ts:GetTempResponse"/>

<wsdl:fault message="ts:GetTempFault"/>

</wsdl:operation>

</wsdl:portType>

Page 53: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

<!-- wsdl:binding states a serialization protocol for -->

<!-- this service -->

<wsdl:binding name="TempSvcSoapBinding" type="ts:GetTempPortType">

<!-- leverage off soap:binding document style -->

<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

<!-- semi-opaque container of network transport details -->

<!-- classed by soap:binding above @@@ -->

<wsdl:operation name="GetTemp">

<soap:operation soapAction="http://www.socweather.com/TempSvc"/>

<!-- further specify that the messages in the -->

<!-- wsdl:operation "GetTemp" use SOAP? @@@ -->

<wsdl:input>

53

<wsdl:input>

<soap:body use="literal" namespace="http://schemas.socweather.com/TempSvc.xsd"/>

</wsdl:input>

<wsdl:output>

<soap:body use="literal" namespace="http://schemas.socweather.com/TempSvc.xsd"/>

</wsdl:output>

<wsdl:fault>

<soap:body use="literal" namespace="http://schemas.socweather.com/TempSvc.xsd"/>

</wsdl:fault>

</wsdl:operation>

</wsdl:binding>

Page 54: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

<!-- wsdl:service names a new service "TemperatureService" -->

<wsdl:service name="TemperatureService">

<wsdl:documentation>socweather.com temperature service

</wsdl:documentation>

<!-- connect it to the binding "TempSvcSoapBinding" above -->

<wsdl:port name="GetTempPort" binding="ts:TempSvcSoapBinding">

<!-- give the binding a network address -->

<soap:address location="http://www.socweather.com/TempSvc"/>

54

<soap:address location="http://www.socweather.com/TempSvc"/>

</wsdl:port>

</wsdl:service>

</wsdl:definitions>

Page 55: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• WSDL specifies

– the name of the service, such as GetTemp,

– the types of the input parameters, such as String,

– the types of output parameters, such as Integer,

– the structures for the inputs and outputs in terms of XML

Schema definitions (from the xsd namespace),

– the operations provided by the service, such as

55

– the operations provided by the service, such as

GetTemp,

– the protocol sequence of each operation from inputs to

either outputs or faults,

– a serialization protocol to be followed for communication,

such as SOAP, and

– network address where the service can be found, in the

form of a URL.

Page 56: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Concepts in WSDL

• Operation – Like a method in programming language,

an atom of functionality.

• Message – A representation of typed data that is input to

or output from an operation. WSDL defines three kinds

of messages: IN, OUT and INOUT (describes data that

56

of messages: IN, OUT and INOUT (describes data that

can function both as input and as output).

• Type – A data type as defined using XML Schema.

SOAP Section 5 Encoding can also be used if desired.

• Port Type - Like a Java interface, a collection of

operations.

Page 57: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Binding – Associates a port type to a protocol and data

format, e.g., binding to SOAP and further identifying its

style (“RPC” or “document”), encoding (“encoded”

meaning SOAP Section 5 or “literal” meaning XML

Schema), and transport (e.g., HTTP). An alternative

binding is to use HTTP with a verb of GET or POST.

This binding does not involve SOAP.

• Port – An endpoint where operations reside: defined by

57

• Port – An endpoint where operations reside: defined by

a network address and binding.

• Service – A collection of ports.

Page 58: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Operation types in WSDL

• WSDL introduces four operation types, which characterize the

behavior of an endpoint

– One-way. Receive a message

– Notification. Send a message

– Request-response. Receive a respond and emit a correlated message.

58

– Solicit-response. Emit a request and receive a correlated response.

• The paired operation types could be based on the undirectional

types, but they are kept because they identify important design

patterns,

– e.g., being the server in RPC corresponds to request-response and

being the client in RPC corresponds to solicit-response.

Page 59: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Of the four operation types, one-way and request-response are the

only ones that are commonly employed.

– These are readily supported by HTTP and by common object-

oriented programming approach.

• WSDL 2.0 offers a richer set of primitives.

– These include receiving or sending multiple responses to a

single query.

59

single query.

Page 60: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Directory Services

• The purpose of a directory service is for components and

participants to be able to locate each other, where the

components and participants might be applications,

agents, Web service providers, Web service requesters,

people, objects, and procedures.

60

people, objects, and procedures.

• Directories collect and organize location and description

information and make it available to any clients that

might need it.

– Directories also function as the primary supporting mechanism

for dynamism, because they the repository for information about

changes that have occurred to their entries.

Page 61: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• There are two general types of directories:

– Name server or “white pages”, where entries are found by their

name, and

– “yellow pages”, where entries are found by their characteristics

and capabilities.

• The implementation of a basic directory is a simple

database-like mechanism that allows participants to

insert descriptions of the service they offer and query for

61

insert descriptions of the service they offer and query for

services offered by other participants.

– A more advanced directory might provide also a brokering or

facilitating service,

– e.g., a participant might request a brokerage service to recruit

one or more agents who can answer a query.

Page 62: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Two major standards for directories are: ebXML

registries and UDDI registries.

– Neither of these standards support semantic descriptions, and

thus neither supports semantic searching on functionality.

– Searches, as a result, can only be based on keywords, such as

service’s name, provider, location, or business category.

– ebXML registries have an advantage over UDDI registries in that

62

– ebXML registries have an advantage over UDDI registries in that

they allow SQL-base queries on keywords.

Page 63: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

UDDI – Universal, Description, Discovery, and

Integration

• UDDI specification describes a mechanism for

registering and locating Web services.

– Defines an online registry where organizations (service

providers) can describe their organization and register their Web

services.

63

services.

– The registry can then be used by service requesters and users to

locate service they need.

• UDDI provides white-pages, yellow pages, and green-

pages services.

Page 64: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Conceptual Model of the UDDI-registry

• UDDI white pages consist of the following information

fields:

– Business name,

– Text description: a list of multilanguage text strings.

64

– Contact information: names, phone numbers, fax numbers, and

Web sites.

– Identifiers that a business may be known by, such as D-U-N-S

or DUNS number (Data Universal Numbering System) and

Thomas Register (Register of American Manufacturers).

Page 65: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• The yellow pages consists of business categories organized as the following three major taxonomies:

– Industry: North American Industry Classification System (NAICS), a six digit code maintained by the US Government for classifying companies.

– Product and services: Ecma International (for classifying information and communication technology systems) and United Nations Standard Products and Services Code (UNSPSC).

– Geographical location: ISO 3166 for country and region codes.

65

– Geographical location: ISO 3166 for country and region codes.

• The yellow pages are implemented as name value pairs to allow any valid taxonomy identifier to be attached to the white page for a business.

• Searches of a yellow pages can be performed to locate businesses that service a particular industry or product category, or are located in a particular geographic region.

Page 66: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• The green pages consist of the information businesses

use to describe how other businesses can conduct

electronic commerce with them.

• Green-page information is a nested model comprising

business processes, service descriptions, and binding

information.

66

Page 67: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Technically UDDI is itself a Web service that is based on

XML and SOAP.

– For example, a business registration is an XML-document.

• A client uses a set of predefined SOAP interfaces to

search the registry for a desired Web service.

• Providers use SOAP interface to register two types of

information:

67

information:

– (1) technical models (Model), which are abstract service

protocols that describe an individual Web service’s behavior, and

– (2) business entities, (businessEntity), which describes a service

implementation and provide descriptions of the specifications of

multiple tModels.

Page 68: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Note that each distinct specification, transport, protocol,

or namespace is represented by a tModel.

• However UDDI registry does not actually store the

specification and such details.

– A UDDI tModel simply contains the addresses (URLs) where

those technical documents can be found, metadata about the

documents, and a key that identifies that tModel.

68

Page 69: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

The yellow, green, and white pages representing a business

entity in a UDDI registry

69

• Note a businessEntity is the top-level structure for all of the

information related to a business

Page 70: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

UML Model for Business Entity in a UDDI Registry

70

Page 71: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

The core data structures and the relationships among them

for a UDDI business entity

b us in essE n tity : In fo rm ation a bo u t the

p arty w ho pu b lishe s in fo rm a tio n ab ou t

a se rv ice

tM o de l: D escrip tio ns o f spe c ifica tion s

fo r se rv ices o r va lue se ts . B as is fo r

te chn ica l fin ge rp rin ts

b us ine ssE n tities co n ta in

b us in essS erv ice s

b ind in gT em p la tes con ta in re fe ren ces

71

bu s ine ssS e rv ice : D escrip tive

in fo rm a tio n ab ou t a pa rticu la r fa m ily o f

te chn ica l se rv ices

b in d ing T em p la te : T e ch n ica l

in fo rm ation ab ou t a se rv ice en try p o in t

an d im p lem en ta tio n sp ecs

bu s ine ssS e rv ices con ta in

b in d ing T e m p la te s

b ind in gT em p la tes con ta in re fe ren ces

to tM o de ls . T he se re fe ren ce s

de s ig na te the in te rface spe c ifica tio ns

fo r a se rv ice

Page 72: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

WSDL �� UDDI Correspondence

• For our purposes, we will be interested mostly in

registering Web services, so we will want to map WSDL

descriptions of Web services to UDDI service

descriptions.

72

• Next figure shows the correspondence between the

fields of a WSDL description and the fields of a UDDI

businessService.

Page 73: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

<import>

<port>

<port>

BusinessEntity

BusinessService

BindingTemplate

Service Implementation

UDDI

<service>

WSDL

73

BindingTemplate

BindingTemplate

Service Interface

<types>

<message>

<portType>

<binding>

tModel

Page 74: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

UDDI APIs

• UDDI specifies two APIs for programmatic access to a

UDDI registry:

– the Inquiry API for retrieving information (requires authentication)

from a registry, and

– the Publishing API for storing information there.

74

– the Publishing API for storing information there.

Page 75: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

The APIs currently support 28 SOAP messages, the most

important of which are the following:

• Inquiry API

– Finding a business or its service and their characteristics

• find_business, returns (businessList)

• find_service, returns (serviceList)

• find_binding; returns (bindingDetail)

75

• find_binding; returns (bindingDetail)

• find_tModel, returns (tModelList)

– Retrieving the details needed to interact with a business

• get_businessDetail. returns (businessDetail)

• get_serviceDetail, returns (serviceDetail)

• get_bindingDetail, returns (bindingDetail)

• get:tModelDetail, returns (tModelDetail)

Page 76: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Publishing API

– Saving Information about a business or its services

• save.business, returns (businessDetail)

• save_service, returns (serviceDetail)

• save.binding, returns (bindingDetail)

• save_tModel, returns (tModelDetail)

– Delete things

• delete_business, returns (dispositionReport)

76

• delete_business, returns (dispositionReport)

• delete_service, returns (dispositionReport)

• delete_binding, returns (dispositionReport)

• delete_tModel, returns (dispositionReport)

– Security

• get_authToken, returns (authToken)

• discard_authToken, returns (dispositionReport)

Page 77: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Finding a service

• An example inquiry from a client to locate the information about WeatherService, Inc, that is stored at a UDDI registry.

<?xml version="1.0" encoding="UTF-8"?>

<find_business xmlns="urn:uddi-org:api_v3">

<findQualifiers>

<findQualifier>

77

<findQualifier>

uddi:uddi.org:findqualifier:exactmatch

</findQualifier>

</findQualifiers>

<!--find information about all businesses with

the exact name "WeatherService Inc." -->

<name>WeatherService Inc.</name>

</find_business>

Page 78: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Response from a UDDI Registry

<?xml version="1.0" encoding="UTF-8"?><businessList><businessInfos><businessInfo businessKey="...KO..."><name>WeatherService, Inc.</name><serviceInfos><serviceInfo

78

<serviceInfoserviceKey="...KN..." businessKey="...K1..."><name>Temperature Service</name>

</serviceInfo></serviceInfos>

</businessInfo></businessInfos>

</businessList>

Page 79: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Web Service Development Tools

• Several exist (e.g., .NET, Cape Clear)

• Generate WSDL documents automatically from OO

(e.g., Java) source code

• Generate source code stubs from WSDL

79

WSDL DocsWSDL GeneratorJava Class Files

Page 80: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Enterprise Architectures• Several implementation architectures are competing for

dominance in the Web service markets:

– J2EE (Java 2 Platform Enterprise Edition) platform builds on the

Java programming language by providing a framework for

developing and deploying Java applications centered around an

application server.application server.

– .NET refers to Microsoft’s overall framework for Web service

softwarwe.

• The various approaches are conceptually similar

meaning that the technologies described in this course

can be realized with equal ease over different

implementation architectures.

80

Page 81: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Enterprise Integration • Unfortunately often the terms integration and

interoperation is used interchangeably:

– integration indicates that the given components are pulled

together into one logical component with a single schema,

– Interoperation means that given components work together

– Usually, integration is not appropriate because it would violate

the autonomy of the participants. the autonomy of the participants.

• EII –Enterprise information integration

– The challenges of heterogeneity involved integrating different

information sources.

• EAI –Enterprise application integration

– The business logic of the various applications are suitably

interrelated and information flows from one to the other.

81

Page 82: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• EII is about information modeling where EAI emphasizes

environments where applications can be hosted.

– EAI more often involves considerations of performance and

realiability.

• EII and EAI together is referred by EI.

• The two major modern approaches to EAI are based on • The two major modern approaches to EAI are based on

.NET and J2EE.

82

Page 83: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Metadata Registries

• A common component of an EI architecture, which

records the identities and locations of various resources

in the enterprise.

• Provide means of configuring complex systems-

– The technology behind metadata registries is commonly used to – The technology behind metadata registries is commonly used to

implement service registries such as those based on UDDI.

• Metadata registries can be given a narrow or private

scope where they are meant to hold information that is of

interest only to a few applications and systems.

83

Page 84: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Chapter 3

Principles of Service-Oriented Computing

• The benefits of service-oriented computing:

1. Enables new kinds of of flexible business applications 1. Enables new kinds of of flexible business applications

of open systems that simply would not be possible

otherwise. It has ramifications on how business is

conducted.

2. Improves the productivity of programming and

administering applications in open systems.

84

Page 85: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Motivating example

• Consider a surgery division in a hospital: a challenge is

to make the payroll, scheduling, and billing systems

interoperable.

– There are obvious reasons for ensuring that these systems

interoperate, e.g., the billing system must also incorporate the

scheduling information.

– The billing system must not only bill customers, but also deal

with medical insurance companies and often with government

agencies, e.g.. Agencies for children, the elderly, retired

government employees, and veterans.

– The scheduling system may work with some other decision-

support tool to ensure that there are enough anesthesiologists

on staff and call so that the overall billings by the hospital are

optimized.

85

Page 86: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Intraenterprise Interoperation

• is about achieving the interoperation of applications

within an enterprise.

• The concept “enterprise integration” is also (mistakenly)

used to refer to the problems behind intraenterprise

interoperation.interoperation.

• The classical problem behind II is to make different

software components work well together.

– These components would often have begun their existence as

independent, self-contained systems.

86

Page 87: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Several challenges in intraenterprise interoperation

must be overcome

• First, there must be connectivity among the applications.

– Nowadays readily ensured through the ubiquity of IP networks.

– Higher level protocols such as TCP and HTTP facilitate this further.

• Second, there must be an ability for the various

components to understand each other’s communication.

– The formatting aspects of these are taken care of nowadays – The formatting aspects of these are taken care of nowadays

through the use ox XML, especially with the help of XML Schema.

– The meaning often is not encoded explicitly, but depends on how

the various systems process information.

– Consequently, one of the greatest challenge to achieving

interoperation is reconciling the meanings used in the interacting

components.

– The reconciliation often presupposes that accurate declarative

information model exist; in practice, such models often must be

reconstructed, because they have not been built. 87

Page 88: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Interenterprise Interoperation• Previously enterprises interoperated through ad hoc means

that required substantial human interventions, or they used

rigid standards such as Electronic Data Interchange (EDI),

which led to systems that were difficult to maintain.

• In recent years, industry has converged on XML as data

format of choice.

• However, it opens up question of how the content of the data

being communicated can be understood and processed.

• SOC provides the same benefits as for intraenterprise

interoperation. In addition, it provides the ability for the

interacting parties to choreograph their behaviors so that

each may apply its local polices autonomously and yet

achieve effective and coherent cross-enterprise processes. 88

Page 89: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Application Configuration

• Assume that a hospital purchases an anesthesia

information management system (AIMS) to complement

its existing systems.

• Assuming that low-level connectivity is taken care of.

• However it still leaves the following challenges as in

intraenterprise interoperation:

– Messaging so that the systems can be operationally connected.

– Semantics so that the components understand each others.

89

Page 90: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• An other challenge with introducing new applications is

configuring and customizing its behavior.

– In the case of AIMS, it must be populated with a hospital specific

data model or terminology so that it displays the right user

interface screens to the hospital staff and logs the right

observations.

• SOC enables the customization of new applications by • SOC enables the customization of new applications by

providing a Web service interface that eliminates

messaging problems and by providing a semantic basis

to customize the functioning of the application.

90

Page 91: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Grid Computing

• Refers to distributed computing where several resources

are made available over a network, and are combined into

large applications on demand.

• Is a form of metacomputing and arose as the successor of

previous approaches for large-scale scientific computing.

• Building complex applications over Grid architectures has

been difficult, which has led to an interest in the more

modular kinds of interfaces based on services.

• Accordingly, Grid services have been proposed in analogy

with Web services.

• SOC enables the efficient usage of Grid resources.

91

Page 92: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Utility Computing• Computing resources are modeled as a utility analogous

to electric power or telecommunications.

• The idea is that enterprises would concentrate on their

core business and out-score their computing infrastructure

to a specialist company.

• Presupposes that diverse computational resources can be • Presupposes that diverse computational resources can be

brought together on demand and that computations can

be realized on physical resources based on demand and

service load, i.e., service instances would be created on

the fly and automatically bound to configure applications

dynamically.

• SOC facilitates utility computing, especially where

redundant services can be used to achieve fault tolerance. 92

Page 93: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Software Development

• Improvements are realized through the use of superior

abstractions.

• Services offer programming abstractions where different

software modules can be developed through cleaner

interface than before.interface than before.

• SOC provides a semantically rich and flexible

computational model that simplifies software

development.

93

Page 94: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Service-Oriented Architectures

• The above use cases provide a challenging set of

requirements for any approach to computing.

• The requirements can be satisfied more easily through

an architecture that matches the essential properties of

the above use cases.the above use cases.

• We term such an architecture a service-oriented

architecture (SOA).

• Note the current incarnation of Web services

emphasizes a single provider offering a single service to

a single requester. This is in keeping with a client-server

architectural view of the Web.

94

Page 95: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Elements of SOAs

• SOAs impose the following requirements:

• Loose coupling:

– No tight transactional properties would generally apply among

the components.

– It would be reasonable to think of the high-level contractual – It would be reasonable to think of the high-level contractual

relationships through which the interactions among the

components are specified.

• Implementation neutrality:

– The interfaces is what matters. We cannot depend on the details

of the implementations of the interacting components.

95

Page 96: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Flexible configurable:

– The system is configured late and flexibly, i.e., the different

components are bound to each other late in the process, and the

configuration can change dynamically.

• Long lifetime:

– The components must exist long enough to be able to detect any

relevant exceptions, to take corrective actions, and to respond to

the corrective actions taken by others.

• Granularity:

– Instead of modeling actions and interactions at a detailed level, it

would be better to capture the essential high-level qualities that

are visible for the purposes of business contracts among the

participants.

– Coarse granularity reduces dependencies among the participants

and reduces communications to a few messages of greater

significance.

96

Page 97: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Teams:

– Instead of framing computations centrally, it would be better to

think in terms of how computations are realized by autonomous

parties, i.e., instead of a participant commanding its partners,

computation in open systems is more a matter of business

partners working as a team.

– A team oriented view is a consequence of taking a peer-to-peer

architecture seriously.

97

Page 98: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Multiagent Systems (MAS) and SOC

• Researchers in MAS confronted the challenges of open

systems early on when they attempted to develop

autonomous agents that would solve problems

cooperatively, or compete intelligently.

• Thus, ideas similar to service-oriented architectures • Thus, ideas similar to service-oriented architectures

were developed in the MAS literature.

• What SOC adds to MAS ideas is the ability to build on

conventional information technology and do so in a

standardized manner so that tools can facilitate the

practical development of large scale systems.

98

Page 99: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

RPC versus Document Orientation

• There are two main views of Web services:

– RPC-centric view treats services as offering a set of methods to

be invoked remotely, i.e., through remote procedure calls.

– Document centric view treats services as exchanging documents

with one another.

• In both views what is transmitted are XML documents

and what is computed with are objects based on or

corresponding to the XML documents.

• However there is a significant conceptual difference:

99

Page 100: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

RPC Centric View of Web Services

• RPC view sees the XML document as incidentals to the

overall distributed computing.

– The documents are merely serializations of the business objects

on which the main computation takes place.

– Corresponds to thin veneer of Web services over an existing

application.

– If the applications are designed for method integration, then the

RPC view of services is natural for such interoperation.

100

Page 101: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Document Centric View of Web Services

• Considers the documents as the main representation and

purpose of the distributed computing.

– The documents are temporarily materialized into business objects

to enable computing, but the documents are the be all and end all

off the computation.

– The document centric view more naturally considers Web services

as a means of implementing business relationship. The

documents to be processed determine the functionality of the

service. The business objects are local and should not be

exposed to the other side.

– The document centric view coheres better with applying services

in open environments.

101

Page 102: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Benefits of SOC• Services provide higher level abstraction for organizing

applications in large-scale open environments.

• These abstractions are standardized. Standards enable

the interoperation of software produced by different

programmers.

• Standards make it possible to develop general-purpose • Standards make it possible to develop general-purpose

tools to manage the entire system lifecycle, including

design, development, debugging, monitoring. Withouth

significant tool support it would be nearly impossible to

create and field robust system in a feasible manner.

• The standards feed other standards, e.g., the basic

standards enable further standards e.g., dealing with

processes and transactions. 102

Page 103: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Composing Services

• Leads to the creation of new services from old ones and

can potentially add much value beyond merely a nicer

interface to a single preexisting service.

• Sometimes the term “composition” is taken to mean a

particular approach to achieving composition, e.g., by particular approach to achieving composition, e.g., by

invoking a series of services.

• In the present usage, composition refers to any form of

putting services together to achieve some desired

functionality.

103

Page 104: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Challenges for Composition

• The main advantage of Web services arise when we can

compose them to create new services.

• For Web services to be composed effectively requires an

understanding of deeper concepts.

• These concepts have been developed in the diverse

parts of computer science, especially heterogeneous

databases, distributed computing, artificial intelligence,

and multiagent systems.

104

Page 105: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Chapter 4

Transaction Concepts

• Highlights of the content

– Basic concepts

• ACID properties

105

• ACID properties

• Schedules

• Locking

– Transactions over composed services

– Relaxing serializability

– Extended transaction models

Page 106: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Motivation

As services are employed for serious purposes, they will inevitably update information resources

• Can we be sure that such updates

106

• Can we be sure that such updates preserve integrity?

• What about when multiple services need to work together?

• What about when the services are involved in a long-lived activity?

Page 107: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Transaction

• A transaction is a computation (i.e., program in

execution, not the source code or binaries) that

accesses and possibly modifies a database:

– Can be interleaved with other transactions

– But guarantees certain properties

107

– But guarantees certain properties

• The purpose of the transaction concept is to avoid the

problems that may arise from interleaving

Page 108: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Transaction concepts

• Operation: action on a data item

• Transaction: set of operations performed in some partial

order according to the specifying program

• A transaction makes a set of operations appear as one

108

• A transaction makes a set of operations appear as one

logical operation

• If programmers guarantee that their transactions are

individually correct, then the DBMS guarantees that all

interleaved executions are also correct

Page 109: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

ACID Properties

• These formalize the notion of a transaction behaving as one operation

– (Failure) Atomicity—all or none—if failed then no changes to DB or messages

– Consistency—don't violate DB integrity constraints:

109

– Consistency—don't violate DB integrity constraints: execution of the op is correct

– Isolation (Execution Atomicity)—partial results are hidden

– Durability—effects (of transactions that "happened" or committed) are forever

Page 110: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Transaction Lifecycle

• A transaction goes through well-defined stages

in its life (always terminating)

– inactive

– active (may read and write: this is where the entire

business logic occurs)

110

business logic occurs)

– precommit (no errors during execution; needed for

mutual commitment protocols)

– failed (errors)

– committed (the DBMS decides this)

– forgotten (the DBMS reclaims data structures)

Page 111: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Schedules

• Schedules (histories) of computations showing all events

of interest

• Schedule of T1...Tn has ops of T1...Tn in the same order

as within each Ti, but interleaved across Ti to model

concurrency

111

concurrency

– Includes active transactions

– Typically a partial order among events

• Two challenges

– What are the bad schedules?

– How can the DBMS prevent them?

Page 112: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Conflict

Order-sensitivity of operations

• Two operations of different transactions, but on

the same data, conflict if

– Their mutual order is significant, i.e., determines at

112

– Their mutual order is significant, i.e., determines at

least one of the following:

• The final value of that item read by future transactions

• The value of the item as read by present transactions

– Consider the flow of information or the nonflow of

information

Page 113: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Serial Schedules

• Transactions are wholly before or after others (i.e., one

by one)

– Clearly, we must allow for service requests to come in

slowly, one-by-one

113

– Thus, under independence of transactions (assuming

each transaction is correct), serial schedules are

obviously correct

Page 114: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Serializable Schedules

• Interleaved schedules are desirable

– Why?

• Those equivalent to some serial schedule.

114

Here equivalent can mean

– Conflict equivalent —all pairs of conflicting

ops are ordered the same way

– View equivalent—all users get the same view

Page 115: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Achieving Serializability

• Optimistically: Let each transaction run, but

check for serializability before committing

• Pessimistically: Use a protocol, e.g., locking, to

ensure that only serializable schedules are

115

ensure that only serializable schedules are

realized

Generally, the pessimistic approach is more

common

Page 116: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Locks

Lock item x while using item x

• Binary: at most one party may lock x

– lock(x): acquire the lock

• computation hangs until lock(x) returns, i.e., the lock is

116

• computation hangs until lock(x) returns, i.e., the lock is

acquired

– unlock(x): relinquish the lock

• Yields mutual exclusion, but restrictive

Page 117: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Multimode Locks

• When one party has an exclusive lock, no other

party may have an exclusive or a shared lock

– Shared-lock(x) needed for read(x)

– Exclusive-lock(x) needed for write(x); exclusive

117

– Exclusive-lock(x) needed for write(x); exclusive

means no other concurrent lock can exist on x

– Can be upgraded (read to write) or downgraded (write

to read)

Page 118: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Achtung!

• By itself, using locks does not guarantee

serializability

– What is an example of a bad schedule

obtained while using locks?

118

obtained while using locks?

• A locking protocol, i.e., how locks are

acquired and released, is critical

Page 119: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Two-Phase LockingLocks on different data items must be related

• 2PL considers two phases in the life of a transaction– Growing phase: acquire but not release locks

– Shrinking phase: release but not acquire locks

119

– Shrinking phase: release but not acquire locks

• Guarantees serializability, but can deadlock

• Strict 2PL releases all locks at once when the transaction commits or rolls back– Ensures strict schedules (also ACA by definition)

• Conservative 2PL: acquire locks at start; won’t deadlock but may starve a transaction

Page 120: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Reading From

T1 reads from T2 if the schedule contains a

subsequence w2(x)...r1(x), where

• w2 is the first write on x going backwards

from r1(x)

120

from r1(x)

• a2 doesn’t occur between w2 and r1

Page 121: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Recoverable Schedules

In which a transaction commits after all

transactions it read from have committed

– In terms of the ACID properties, what is the

risk in allowing a nonrecoverable schedule?

121

risk in allowing a nonrecoverable schedule?

Page 122: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Avoid Cascading Aborts (ACA)

In which a transaction does not read from

uncommitted transactions

• What is the risk in allowing such reads?

122

• Are cascading aborts

– Legal?

– Expensive?

Page 123: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Strict Schedules

In which an item can't be read or written until

the previous transaction to write that item

has committed (the aborted ones having

been factored out)

123

been factored out)

• Compare with ACA

• This allows us to UNDO by restoring the

before image

Page 124: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Rigorous Schedules

In which an item can't be read or written until

the previous transaction to read or write

that item has committed

• Compare with strict schedules

124

• Compare with strict schedules

Page 125: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Distributing ACID Transactions

• ACID transactions are applicable for

– Brief, simple activities (few updates;

seconds, at most)

– On centralized architectures

125

– On centralized architectures

• Without distribution, ACID transactions

would be a nonstarter outside of a

single DBMS

Page 126: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Closed-Nested Distributed Transactions

ACID transactions can be implemented in distributed settings

• Consider two or more subtransactions, conceptually organized as a tree

– Ensure atomicity through two-phase

126

– Ensure atomicity through two-phase commit (2PC)

– Ensure isolation so that results are not exposed till the global transaction commits

• As in WS-AtomicTransaction

• Why would this ever be useful for SOC?

Page 127: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Transactions over Composed Services

Composed Transaction Manager

LDB1 LDB2

service service

Composed service as a transaction

Directusers

United Sheraton

Expedia

127

• As an instance of autonomy, each LDB

– Retains full control on execution even if in conflict with CTM

– Decides what (control) information to release

• Assume each party (CTM, LDB1, LDB2) ensure

serializability

LDB1 LDB2

Page 128: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Compositional Serializability

Transactions throughout the system should be serializable

• CTM ensures that the composed transactions are serializable

• This doesn't guarantee compositional serializability, because of indirect conflicts:– CTM does T1: r1(a); r1(c)

– CTM does T2: r2(b); r2(d)

– LDB1 does T3: w3(a); w3(b)

– LDB2 does T4: w4(c); w4(d)

128

– LDB2 does T4: w4(c); w4(d)

– Since T1 and T2 are read-only, they are serializable.

– LDB1 sees S1=r1(a); c1; w3(a); w3(b); c3; r2(b); c2

– LDB2 sees S2=w4(c); r1(c); c1; r2(d); c2; w4(d); c4

– Each LDB has a serializable schedule; yet jointly they put T1 before and after T2

• Notice we would have lots of potential compositions, so the problem is worse

Page 129: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Strawman 1: Tickets

Compositional serializability fails because of local conflicts that the CTM does not see

• Fix by always causing conflicts--whenever two composed transactions execute at a site, they must conflict there. Indirect conflicts become local conflicts visible to the LDB

129

become local conflicts visible to the LDB– Make each composed transaction increment a

ticket at each site

• Downside:– Causes all local subtransactions of a transaction

to go through a local hotspot

– Composed transactions are serialized, but only because many are aborted!

Page 130: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Strawman 2: Rigorous Scheduling

Hold read and write locks till end (no tickets)

• Check that this prevents the bad example

• The CTM must delay all commits until all

actions are completed

– possible only if allowed by LDB

130

– possible only if allowed by LDB

– requires an operation-level interface to LDB

• Downside:

– Causes all sites to be held up until all are ready to

commit

– Essentially like the 2PC approach

Page 131: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Possible Methodology

• When no cross-service constraints apply,

local serializability is enough

• Split data into local and shared partitions

– LDB controls local data

– CTM controls shared (local transactions can read,

131

– CTM controls shared (local transactions can read,

but write only via CTM)

• Downside: doesn’t work in all cases

– All shared data is managed through a special

service

– Only for the most trivial compositions

Page 132: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Compositional Atomicity

• Can succeed only if the services restrict

their communication autonomy through

service-level agreements

• Otherwise,

132

• Otherwise,

– If services do not release their prepare-to-

commit state

– They may not participate in a mutual

commit protocol

Page 133: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Compositional Deadlock

Easy to construct scenarios in which a deadlock is achieved.

• Assume LDB1 and LDB2 use 2PL. If a deadlock is formed

– Solely of upper-level transactions, then the

133

– Solely of upper-level transactions, then the CTM may detect it

– Of a combination of local and upper transactions, then

• CTM won't know of it

• LDBs won't share control information

Page 134: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Compositional Atomicity & Durability

• What happens when a CT fails? Each service individually ensures atomicity and durability of its local transactions– With 2PC, CTM can guarantee that all or none

commit

– Otherwise, traditional techniques do not apply –

134

– Otherwise, traditional techniques do not apply –we need different, application-specific expectations, involving weaker atomicity and durability

• The remainder of the parts on Engagement and Collaboration are about these different expectations

Page 135: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Weaker Atomicity and Durability

May possibly be achieved via:

• redo: rerun the writes from log

• retry: rerun all of a subtransaction

• compensate: semantically undo all other

135

• compensate: semantically undo all other

subtransactions

Page 136: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Beyond ACID Transactions

• Composed services feature in business

processes, which

– Are complex, i.e., long-running, failure-

prone, multisite, with subtle consistency

requirements

136

requirements

– Cooperate with other processes, involving

computational and human tasks

– Respect autonomy and heterogeneity of

components

Page 137: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Extended Transactions

Extended transaction models relax the ACID properties by modifying various features

• Allowing open nesting, wherein partial results are revealed (newer, non-ACID)

• Atomicity, e.g., contingency procedures, to ensure

137

• Atomicity, e.g., contingency procedures, to ensure “all”

• Consistency restoration, e.g., via compensation, to ensure “none”

• Constraints among subtransactions, such as– Commit dependencies

– Abort dependencies

Ultimately, a transaction must be atomic (albeit in a relaxed sense)

Page 138: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Compensation

• Something that semantically undoes the

effect of a transaction

• Common in business settings, where you

would often have (imperfectly)

138

would often have (imperfectly)

complementary pairs of activities

– Deposit and withdraw

– Reserve and cancel

– Ship and return

– Pay and refund

Page 139: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Extended Transaction Models

• The ones we consider

– Sagas

– Flex Transactions

– DOM Transactions

139

– DOM Transactions

• Several others, mostly either

– Implementation-specific or

– Narrower than the above

Page 140: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Sagas

• Guarantee atomicity but not isolation

• Execute a sequence of transactions

– If all transactions succeed, then good (all)

– If any transaction fails, undo all previous in

140

– If any transaction fails, undo all previous in

reverse order (none)

• Assumptions

– Compensations succeed (eventually) for the

first several members of sequence

– Retries succeed for the last several

Page 141: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Distributed Object Management

Avoid partial failure of a multitransaction via either total success or total failure

• Total success– Redo from log

– Retry

141

– Retry

– Contingency procedures

• Total failure– Undo from log

– Compensations

Uses ordering constraints and vitalsubtransactions

Page 142: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Summary of transaction concepts

• We need a means to ensure that services behave reasonably, i.e., by ensuring the integrity of data

• Database management provides the notion of transactions for this purpose

• Distributed transactions can apply in closed settings

142

• Distributed transactions can apply in closed settings

• Ensuring the ACID properties is infeasible in open settings

• Extended transaction models are needed– Simple constructs of such models are helpful, and being

encoded in standards

– An important app is process management (coming up)

– More sophisticated behaviors require increased intelligence in modeling and enactment, to be discussed under Collaboration

Page 143: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Chapter 5

Coordinating Frameworks for

Web Services• Various organizations have recognized the importance of

agreed-upon representations for activities within an enterprise

and among enterprises.

• These specifications cover:

– distributed computations (CORBA),

– interactions among heterogeneous systems (WS-Coordination),

conversations (WSCL and WSCI),

– transactions (WS-Atomic Transaction, WS-Business Activity, and BTP),

– business processes (BPEL4WS),

– workflow (WfMC), and

– electronic business-to-business interactions (ebXML). 143

Page 144: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• We next consider specifications that are based on transaction

concepts.

– These extend the key transaction concepts, ranging from single

database to distributed databases.

– In particular the notions of distributed transactions are potentially

applicable in service-oriented architectures.

– Its benefits vary depending on how much these approaches interfere

with the autonomy and heterogeneity of the services

• As shown in the following figure, the specifications are

defined mostly above WSDL, the layer for describing basic,

individual Web services.

• The leading transaction frameworks being developed for Web

services assume open nested models of transactions.

– They seek to ensure varying kinds of atomicity, but largely disregard

isolation (serializability), which is not feasible in open settings.

144

Page 145: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

145

Page 146: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

For business partners to interact effectively via Web

services, the following business interchange

requirements must be satisfied:

• The parties must know each others locations (presumes suitable

directories).

• The parties must agree on the protocol used to transmit a document

(such as SOAP-RPC, asynchronous SOAP, or ebXML transport).

• The parties must agree on the documents to be exchanged, and the • The parties must agree on the documents to be exchanged, and the

semantics of the documents as defined by XML, XML Schema,

RDF, or OWL.

• An ordering of the documents to be transmitted must be specified,

– This specification is termed a business protocol

– An instance of a business protocol is a conversation (but

sometimes the term is used to mean protocol).

146

Page 147: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Process Abstractions

Orchestration: A process is a partial order of actions 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 and WSCI [Global; distributed]

147

by WSCL and WSCI [Global; distributed]

Collaboration: A process is a joint set of activities among

business partners [Local; distributed]

Workflow: a narrower concept than a process, which

emphasizes control flows and data flows from a central

perspective

Page 148: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

WSCL: Web Services Conversation Language

• WSCL allows the abstract interfaces of Web services,

i.e. the business level conversations or public processes

supported by a Web service, to be defined.

• WSCL specifies the XML documents being exchanged,

and the allowed sequencing of these document and the allowed sequencing of these document

exchanges.

• WSCL conversation definitions are themselves XML

documents and can therefore be interpreted by Web

services infrastructures and development tools.

148

Page 149: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• WSCL may be used in conjunction with other service

description languages like WSDL;

– for example, to provide protocol binding information for abstract

interfaces, or to specify the abstract interfaces supported by a

concrete service.

• Unlike BPEL4WS, which describes the connections and

interactions among more than one service, WSCL

describes the interactions with just one service.

• As a standard , WSCL is no longer being pursued, but it

is useful for the purpose of illustration, because it

provides a simple example of how conversations can be

encoded and applied.

• UML Class Diagram of WSCL is presented in the next

figure.

149

Page 150: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

150

Page 151: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• A WSCL specification, using the concepts shown above

consists of the following four parts:

1. Document type definition, which specify what types of XML

documents will be exchanged.

2. Interactions, which are exchanged documents between a service

and a client. Each interaction is one of the following five types:

• Empty,

• Send meaning that the given party sends a message to another asynchronously.

• Receive meaning that the given party receives a message sent asynchronously

by another. by another.

• SendReceive meaning that the given party sends a message and then receives

a message. This is analogous to a rermote procedure call.

• ReceiveSend meaning that the given party receives a message and then and

then sends a message.

3. A set of transition, which specifies the order of the interactions. A

transition specifies a source interaction, a destination interaction,

and optionally, a document type of the source interaction.

4. A name of the conversation, a list of interactions in it, a starting

interaction, and an ending interaction. 151

Page 152: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Example: UML Activity Diagram of a Conversation Definition

152

Page 153: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• A service that supports this conversation definition

expects a conversation to begin with the receipt of a

LoginRQ or a RegistrationRQ document.

• Once the service has received one of these documents, • Once the service has received one of these documents,

it answers with a ValidLoginRS, an InvalidLoginRS, or a

RegistrationRS, depending on the type and content of

the message received.

153

Page 154: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

WSCL Specification of previous conversation

<ConversationConversationConversationConversation name="StoreFrontServiceConversationStoreFrontServiceConversationStoreFrontServiceConversationStoreFrontServiceConversation" xmlns="http://www.w3.org/2002/02/wscl10" initialInteraction="Start" finalInteraction="End" >

<ConversationInteractionsConversationInteractionsConversationInteractionsConversationInteractions><InteractionInteractionInteractionInteraction interactionType="ReceiveSend" id="Login">

<InboundXMLDocument hrefSchema=“http://conv1.org/LoginRQ.xsd”id="LoginRQ"/>

<OutboundXMLDocument hrefSchema=“http://conv1.org/ValidLoginRS.xsd”

154

<OutboundXMLDocument hrefSchema=“http://conv1.org/ValidLoginRS.xsd”id="ValidLoginRS"/>

<OutboundXMLDocument id="InvalidLoginRS" hrefSchema=“http://conv1.org/InvalidLoginRS.xsd”/>

</InteractionInteractionInteractionInteraction>… … … … <InteractionInteractionInteractionInteraction interactionType="Empty" id="Start" /><InteractionInteractionInteractionInteraction interactionType="Empty" id="End" />

</ConversationInteractionsConversationInteractionsConversationInteractionsConversationInteractions>

Page 155: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

<ConversationTransitionsConversationTransitionsConversationTransitionsConversationTransitions><TransitionTransitionTransitionTransition>

<SourceInteraction href="Start"/><DestinationInteraction href="Login"/>

</TransitionTransitionTransitionTransition>…………<TransitionTransitionTransitionTransition>

<SourceInteraction href="Login"/>

155

<SourceInteraction href="Login"/><DestinationInteraction href="Registration"/><SourceInteractionCondition href="InvalidLoginRS"/>

</TransitionTransitionTransitionTransition><TransitionTransitionTransitionTransition>

<SourceInteraction href="Logout"/><DestinationInteraction href="End"/>

</TransitionTransitionTransitionTransition></ConversationTransitionsConversationTransitionsConversationTransitionsConversationTransitions>

</Conversation>

Page 156: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Well-Formed Conversations

• All interactions are reachable from the initial interaction

• The final interaction is reachable from all interactions

• If a transition from interaction A to interaction B specifies a SourceInteractionCondition, then all transitions from A to B do soto B do so

• The final interaction and transitions to the final interaction unambiguously clarify for each participant when a conversation is finished

156

Page 157: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

WSCI: Web Service Choreography Interface

• Describes the flow of messages exchanged by a Web service

that is interacting with other services according to a

choreographed pattern.

• By capturing the temporal and logical dependencies among

the messages , WSCI characterizes the externally observable

behavior of the Web service, not its internal operation. behavior of the Web service, not its internal operation.

• WSCI is a common denominator to BPMN and BPEL4WS.

• WSCI is an enhancement to WSDL, and WSCI specification is

intended to be part of a WSDL document describing a Web

service.

• The following listing builds on a WSDL description of an

stock-quotation Web service. 157

Page 158: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

An example WSDL document for a Stock-quotation Web service, enhanced by WSCI

<correlation name="quotationCorrelation“ property="tns:quotationID“/>

<interface name="StockQuoteWS">

<process name="ProvideStockQuote" instantiation="message">

<sequence>

<action name="ReceiveLogin“ role="tns:StockQuoteWS“

operation="tns:QuoteToUser/LogIn"/>

<action name="ReceiveStockQuoteRequest" role="tns:StockQuoteWS"

operation="tns:QuoteToUser/ProvideQuote">

<correlate correlation="tns:quotationCorrelation"/>

<call process="tns:LookupPrice"/>

158

</action>

<action name="ReceiveLogout“ role="tns:StockQuoteWS“

operation="tns:QuoteToUser/LogOut"/>

</sequence>

</process>

<process name="LookupPrice" instantiation="other">

<action name="QueryNYSE" role="tns:StockQuoteWS“

operation="tns:QuoteToUser/QueryNYSE"/>

</process>

</interface>

Page 159: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• The static (i.e., non-WSCI) portion of the listing describes

the data types supported by the stock-quotation service,

the messages it can send or receive, and the operation it

provides.

• The dynamic (i e., WSCI) portion uses its action construct

to make each operation (login, stock-quoterequest and

response, and then logout9 into an atomic unit of work.

• Using sequence, these are then specified to be part of an • Using sequence, these are then specified to be part of an

ordered sequence with a user.

• Notice that the “ReceiveStockQuoteRequest” action

invokes a separate Web service with the NYSE.

• Although not used in the previous example, choices among

actions are allowed in WSCI interface as complex activities.

159

Page 160: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• A service can participate in several different

conversations at the same time, with the correlate

element used to manage them and associate messages

with the proper conversation.

• WSCI also supports both atomic transactions and open-

nested transactions, the latter of which can be

compensated when exceptions occur, as shown in the

partial specification of the following listing. partial specification of the following listing.

• The listing also shows a repeated action in the form of a

while-loop.

160

Page 161: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

An example of WSCI specifying a transaction, its

compensation, and a while loop.

<sequence>

<context>

<transaction name="buyStock" type="atomic">

<compensation>

<action name="NotifyUnavailable" role="NYSE“ operation="tns:NYSEtoBroker/NotifyUnavailable"/>

</compensation>

</transaction>

</context>

<action name="BuyShare" role ="Broker“ operation="tns:BrokerToNYSE/BuyShare"/>

<while name="BuShares">

161

<while name="BuShares">

<condition>defs:fundsRemain</condition>

<action name="BuyShare" role ="Broker“ operation="tns:BrokerToNYSE/BuyShare">

<correlate correlation="defs:buyingCorrelation"/>

</action>

</while>

</sequence>

<!-- Compensating Behavior for the Above Transaction -->

<exception>

<onTimeout property="tns:expiryTime" type="duration" reference="tns:BuyShares@end">

<compensate transaction="tns:buyStock"/>

</onTimeout>

</exception>

Page 162: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

WS-Coordination

• Multiparty business processes whose components are

Web service require the Web services to operate in a

consistent context and to be coordinated.

• WS-Coordination is the specification for a service whose job is to coordinate the activities of the Web services that are part of a business process

• The service might be provided by a dedicated

coordinator, or by one of the component Web services

that would assume the role of coordinator in addition to

providing its own service.

• Using WS-coordination, multiple participants can hide

their proprietary protocols and reach agreement on the

outcome of their activities. 162

Page 163: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Used terminology

• Protocol

– A set of well defined messages that are exchanged between the

Web services participating in a process. The WS-coordination

specification describes a general, extensible framework for

defining such coordination protocols, which then can support a

variety of activities. For example, WS-AtomicTransaction and

WS-BusinessActivity use WS-coordination to define coordination

types for short running atomic transactions and long-duration types for short running atomic transactions and long-duration

business transactions.

• Context

– A unique identified conceptually coherent activity that includes

the services to be coordinated. A context identifier is passed

from one application-level computation to the next to ensure that

they remain in the scope of the same context.

• Application

– An executing program instance at one site.163

Page 164: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Coordination service• A coordination service (or coordinator) is an aggregation

of the following services:

– An activation service, which defines a CreatCoordinationContext

operation that allows a CoordinationContext to be created. The

exact semantics is defined in the specification for the coordination

type. type.

– A registration service, which defines a Register operation that

allows a Web service to register its participation in a coordination

protocol. A coordinator must support a registration service.

– A coordination protocol service for each supported coordination

type. These are defined in the specification for the coordination

type.

164

Page 165: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

A coordination service for Web services

165

Page 166: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Once an application creates or acquires a coordination

context it can send the context to another application.

• The context contains the necessary information for a

receiving application to register itself into the activity.

• The application can choose either the registration

service of the original application or one that is specified

by another coordinator, which can then be imposed into by another coordinator, which can then be imposed into

the coordination.

166

Page 167: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Example of WS-Coordination

• Suppose a travel agency would like its Web service

(WStravel) for arranging travel packages to interact with

hotel’s Web service (WShotel) for room reservations.

• Because they interact with many other Web services,

WStravel ans WShotel each make use of their own

coordinators, CoordinatorT and CoordinatorH, respectively. coordinators, CoordinatorT and CoordinatorH, respectively.

• WStravel and WShotel need coordination, because

Wstravel expects to receive an ACK for esach message it

sends, but WShotel does not send or expect to receive

ACKs.

• The interaction may proceed as illustrated in the following

figure:

167

Page 168: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Coordination between two Web services with their own coordinators

168

Page 169: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Note that the registration services, activation services

and protocol services are all Web services, and so they

can be invoked by SOAP messages containing WSDL

descriptions.

• We next describe each of the messages that are

exchanged in terms of the travel agency example and

the following namespaces:

xmlns:u=“http: //schemas.xmlsoap.org/ws/2002/07/utility”

xmlns:wsc=“http: //schemas.xmlsoap.org/ws/2003/09/wscoor”

xmlns:wsa=“http: //schemas.xmlsoap.org/ws/2003/03/addressing”

xmlns:WSt=“http: //TraAgency.com/WStravel

169

Page 170: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Activation service

• The Activation service definition requires a port type on the

coordinator side for the request and on the requester side for

the response.

• The coordinator’s Activation service is defined as:

<wsdl : portType name = “ActivationCoordinatorPortType”>

<wsdl : operation name = “CreateCoordinationContext”>

<wsdl : input message = “wsc : CreateCoordinationContext”/>

</wsdl : operation>

</wsdl : portType>

170

Page 171: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• The requester’s Activation service is defined as:

<wsdl : portType name = “ActivationRequesterPortType”>

<wsdl : operation name = “CreateCoordinationContextResponse”>

<wsdl : input message = “wsc : CreateCoordinationContextResponse”/>

</wsdl : operation>

<wsdl : operation name = “Error”>

<wsdl : input message = “wsc : Error”/>

</wsdl : operation>

</wsdl : portType></wsdl : portType>

• The CreateCoordinationContext message is used to create

a coordination context that supports a coordination type, that

is, a set of coordination protocols.

– The following listing is an example message sent from the travel

agency to its coordinator to create a context supporting a two-phase

commit protocol:

171

Page 172: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

<wsc : CreateCoordinationContext>

<wsc : ActivationService>

<wsa : Address>

http : //CoordinatorT.com/activation

</wsa : Address>

<WSt: MyState>1234</WSt: MyState>

</wsc : ActivationService>

<wsc : RequesterReference>

<wsa : Address>

http : //TravAgency.com/WStravel

</wsa : Address>

</wsc : RequesterReference></wsc : RequesterReference>

<wsc : CoordinationType>

http : //schemas.xmlsoap.org/ws/2002/08/wstx

</wsc : CoordinationType>

</wsc : CreateCoordinationContext>

• The ActivationService tag provides the activation service port reference.

• The RequesterReference provides the caller port reference, enabling the response to

be sent when using one-way messaging.

• The coordinationType provides the identifier for the desired coordination type for the

activity, in this case URI (http : //schemas.xmlsoap.org/ws/2002/08/wstx) to the

ACIDTransaction coordination type. 172

Page 173: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• The CreateCoordinatioContextResponse message returns the coordination context that

was created.

• The following is an example response message sent from the travel agency’s coordinator.

<wsc : CreateCoordinationContextResponse>

<wsc : RequesterReference>

<wsa : Address> http : //TravAgency.com/WStravel</wsa : Address>

</wsc : RequesterReference>

<wsc : CoordinationContext>

<u : Identifier> http : //CoordinatorT.com/context1234 </u : Identifier>

<wsc : CoordinationType>

http : //schemas.xmlsoap.org/ws/2002/08/wstxhttp : //schemas.xmlsoap.org/ws/2002/08/wstx

</wsc : CoordinationType>

<wsc : RegistrationService>

<wsa : Address> http : //CoordinatorT.com/registration </wsa : Address>

<WSt : PrivateInstance>1234</WSt : PrivateInstance>

</wsc : RegistrationService>

</wsc : CoordinationContext>

</wsc : CreateCoordinationContext>

• The RequesterReference tag provides the port reference of the caller that invoked

CreateCoordinationContext.

• The resultant CoordinationContext is given the URL http : //CoordinatorT.com/context1234 173

Page 174: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Registration service

• The Registration service definition requires a port type on

the coordinator side for the request and on the requester

side for the response.

• The coordinator’s Registration service is defined as:

<wsdl : portType name = “RegistrationCoordinatorPortType”>

<wsdl : operation name = “Register”>

<wsdl : input message = “wsc : Register”/>

</wsdl : operation>

</wsdl : portType>

174

Page 175: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• The requester’s Registration service is defined as:

<wsdl : portType name = “RegistrationRequesterPortType”>

<wsdl : operation name = “RegisterResponse”>

<wsdl : input message = “wsc : CreateRegisterResponse”/>

</wsdl : operation>

<wsdl : operation name = “Error”>

<wsdl : input message = “wsc : Error”/>

</wsdl : operation> </wsdl : operation>

</wsdl : portType>

• The Register message enables:

– A participant to select and register for a particular coordination protocol of

the type supported by the coordination service.

– A participant and the coordinator to exchange port references.

175

Page 176: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Participants can register for multiple coordination protocols by issuing

multiple Register operations.

• The following is an example registration message:

<wsc : Register>

<wsc : RegistrationService>

<wsa : Address> http : //CoordinatorT.com/registration </wsa : Address>

<WSt TravCode>T9876</WSt ravCode>

</wsc : ´RegistrationService>

<wsc : RequesterReference>

<wsa : Address> http : //TravAgency.com </wsa : Address><wsa : Address> http : //TravAgency.com </wsa : Address>

</wsc : RequesterReference>

<wsc : ProtocolIdentifier>

http : //schemas.xmlsoap.org/ws/2002/08/wstx/2PC

</wsc : ProtocolIdentifier>

<wsc : ParticipantProtocolService >

<wsa : Address> http : //TravAgency.com/travel2PCservice </wsa : Address>

</wsc : ParticipantProtocolService > >

</wsc : Register>

176

Page 177: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• The RegistrationService tag provides the registration

port reference.

• The RequesterReference tag is the port reference where

Wstravel wants the registration service CoordinatorT to

return status information.

• The ProtocolIdentifier is the URL that identifies the

coordination protocol selected for registration.

• The ParticipantProtocolService tag is the port reference

that WStravel wants CoordinatorT to use for the

coordination protocol.

177

Page 178: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• The RegistrationResponse message indicates that registration has completed

successfully.

• The following is an example of a RegistrationResponse message:

<wsc : RegisterResponse>

<wsc : RequesterReference>

<wsa : Address>

http : //TravAgency.com

</wsa : Address>

</wsc : RequesterReference>

<wsc : CoordinatorProtocolService>

<wsa : Address> <wsa : Address>

http : //CoordinatorT.com/coordinator

</wsa : Address>

</wsc : CoordinatorProtocolService>

</wsc : RegisterResponse>

• The RequesterReference tag is the port reference where the application wants the

registration service to return information. This should include enough information to

correlate a request with a response.

• The CoordinatorProtocolService tag is the port reference that CoordinatorT wants the

registered participant, WStravel, to use for the coordination protocol. 178

Page 179: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Web Service Transaction Types

• WS-Atomic Transaction and WS-Business Activity

leverage WS-Coordination by defining two particular

coordination types: a short term atomic transaction and a

long-duration business activity.

• The following figure illustrates the interaction flows for • The following figure illustrates the interaction flows for

the WS-Coordination protocols for an atomic transaction

involving a travel agency, an airline and a museum.

– The travel agency is arranging a flight for a customer who wants

to visit a museum – if the museum is closed, then an airline

reservation should not be done.

179

Page 180: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

– Arbitrarily, two of the three participants (travel agency and

airline) have their own coordinators, each containing an

activation service and a registration service.

– The travel agency service triggers coordination protocols for a

volatile two-phase commit for the museum, in which the museum

is not notified of the final result of the transaction, and a durable

two-phase commit for the airline, which is notified of the final

result.

– The difference is because the museum will be open even if the – The difference is because the museum will be open even if the

customer cancels the trip and the transaction aborts, but the

airline does not want to hold a reservation for a customer that

has decided not to travel.

180

Page 181: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

The travel agency and the airline can perform 2PC, but the

museum can perform only a simple, zero-phase update

181

Page 182: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

The messages exchanged by the participants are the following:

1. First, WS-Travel tries to commit a transaction T using simple

Completion protocol of WS-Atomic Transaction (indicated by

message 1)

2. Its coordinator, CoordT, begins executing the coordination

protocols for its two registered participants. It sends the PREPARE

message for all volatile “PC participants (museum) first and then message for all volatile “PC participants (museum) first and then

the PREPARE message for all durable 2PC participants (airline).

Specially, message 2 is sent from CoordT to the museum’s 2PC

participant protocol service Pm-2PC-v and message 3 is sent from

CoordT to the airline coordinator’s 2PC participant protocolservice

Pa-2PC-d.

3. CoordA tells the airline service (WS-airline) to prepare (4), which

means that this persistent service will be capable of either

committing or aborting later, depending on the outcome decision.

182

Page 183: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

4. WSmuseum optionally decides to respond with a READONLY

message (7) , instead of PREPARED, indicating that WSmuseum

votes to commit and has forgotten the transaction.

5. After returning successfully from phase one of the 2PC (messages

5, 6, and 7), CoordT commits and makes the decision durable. At

this point the transaction is committed, and the participants need to

be notified, which includes both 2PC and Completion participants.

The commit notification travels through the same path as the

prepare flow.

6. CoordT sends the Commit message (8) to CoordA.

7. CoordA tells WSairline to commit T. When WSairline receives the

COMMIT message (9), it commits.

8. When the Committed message returns (10, 11, and 12), the “PC

protocol has ended.

183

Page 184: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

If WSairline had been unable to prepare to commit, the flows would be

the same except for the following:

1. The PREPARED notification messages (5 and 6) would be

replaced by ABORT notification message.

2. Because WSairline reported ABORTED, the phase two 2PC

message and replies (messages 8 through 11) would be

unnecessary, The coordinator would send ABORT notification

messages to other participants who voted PREPARED (none in messages to other participants who voted PREPARED (none in

this example).

3. Message 12 to WStravel would be replaced by aborted.

184

Page 185: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

BTP (Business Transaction Protocol)

• OASIS has developed the BTP to automate and manage

long-running, Web Based, collaborative business

applications.

• BTP is designed to support interactions that cross

application and administrative boundaries, thus requiring application and administrative boundaries, thus requiring

extended transactional support beyond the classical

ACID properties.

– BTP relaxes the ACID properties via two subprotocols:

1. atoms, where isolation is relaxed,

2. cohesions, where both isolation and atomicity is relaxed.

185

Page 186: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Next figure shows an example of a cohesion transaction in which an

investment manager tries to satisfy the goal of a balanced portfolio, in this

case defined as at least two different kinds of investment.

– A BTP composer service coordinates the processing of the transaction

and ensures that it reaches a successful conclusion, even when some

of the participating service cancel unilaterally or are cancelled by the

composer.

– After establishing a context for the transaction with the composer, the

investment manager begins the transaction by notifying the potential investment manager begins the transaction by notifying the potential

services of its interest in making an investment.

– Some of these services agree to participate by enrolling in the

transaction and returning their price.

– Based on the prices, the manager chooses the services to be used and

the services to be cancelled.

– The composer then handles the termination of the business transaction

by obtaining acknowledgements of either confirmation or cancellation. 186

Page 187: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

187

Page 188: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Comparing BTP and WS-Transaction

• BTP is more suitable for loosely coupled applications, because it

relaxes isolation.

– For example, a service providing travel packages (flight, hotel and car) could

take advantages of relaxed isolation by getting a confirmed airline seat and hotel

room while negotiating for a car; depending on the location of the hotel, the car

might be not needed.

– Further, all reservation could be cancelled later if an acceptable rate for a hotel

room is not obtained.room is not obtained.

• BTP provides slightly finer-grained control over which part of an

overall transaction commit and which are aborted, and over the

timing of these actions.

• WS-Transaction is dependent on Web services, whereas BTP is an

XML message protocol with a SOAP binding.

• Both can be used to support business process execution

environments, such as WS-BPEL, WSFL, WSCI, and BPML.188

Page 189: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Summary of Web service Coordination Frameworks

• SOC needs an ability to specify interactions among

business partners in a manner that respects the

partners’ autonomy and heterogeneity: conversations

are a natural way to do so

189

• SOC needs support for transactions

– The more relaxed varieties are preferable, but there is

a place for traditional transactions as well

– The transactions are based on a small set of

primitives

Page 190: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Chapter 6

Business Process Specifications

• The key point about service oriented computing is that it involves

extended, loosely coupled activities among two or more autonomous

business partners.

– Such activities can be though of as (business) processes that engage several – Such activities can be though of as (business) processes that engage several

services in a manner that brings about the desired (business outcome).

• The previous analysis described the underpinning of processes from

the perspective of transactions.

• We next consider process specifications, discussing their modeling

and enactment, as well as key emerging standards.

190

Page 191: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Processes present a number of technical challenges:

• First, we must be able to model a process, incorporating

correctness of executions with respect to the model, and

respecting the constraints of the underlying services and

their resources.

– Exceptions and revisions are the main sources of complication in the

modeling of a process.

• Second, we must be able to interface a process to

underlying functionalities.

– In the case of database systems, these would include a suitable

model of transactions that incorporates constraints on the

concurrency control and recovery mechanism of a DBMS.

– The transaction model provides the necessary abstractions and

shields process models from the implementational details of DBMSs. 191

Page 192: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Process AbstractionsOrchestration: 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 and WSCI [Global; distributed]

Collaboration: A process is a joint set of activities among

192

Collaboration: A process is a joint set of activities among

business partners [Local; distributed]. The business

partners not only send messages to one another, but

also enter into business relationships such as contracts

and obligations.

Workflow: a narrower concept than a process, which

emphasizes control flows and data flows from a central

perspective; usually tool-specific

Page 193: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Processes and Workflows

193

Page 194: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

BPMN – Business Process Modeling Notation

• The primary goal of the BPMN is to provide a notation

that is readily understandable by:

1. all business users, from the business analyst that create the

initial drafts of the process,

2. to the technical developers responsible for implementing the

technology that will perform those processes, and technology that will perform those processes, and

3. to the business people who will manage and monitor those

processes.

• BPMN also support an internal model that enable the

generation of executable WS-BPEL.

– Thus, BPMN creates a standardized bridge for the gap

between the business process design and process

implementation.

194

Page 195: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

BPD

• BPMN defines a Business Process Diagram BPD, which

is based on a flowcharting technique tailored for creating

graphical models of business process operations.

• A BPD is made up of a set of graphical elements:

– The elements enable the easy development of simple diagrams

that will look familiar to most business analyst (e.g., a flowchart that will look familiar to most business analyst (e.g., a flowchart

diagram).

– The elements were chosen to be distinguishable from each other

and to utilize shapes that are familiar to most modelers, e.g.,

activities are rectangles and decisions are diamonds.

195

Page 196: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Achieving Simplicity and Managing Complexity in BPMN

• One of the drivers for the development of BPMN is to

create a simple mechanism for creating business

process models, while at the same time being able to

handle the complexity inherent to business processes.

– The approach taken to handle these two conflicting requirements

was to organize the graphical aspects of the notation into

specific categories.specific categories.

– This provides a small set of notation categories so that the

reader of a BPD can easily recognize the basic types of

elements and understand the diagram.

– Within the basic categories of elements, additional variation and

information can be added to support the requirements for

complexity without dramatically changing the basic look-and-feel

of the diagram. 196

Page 197: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Element Categories in BPD

• The four basic categories of elements are:

– Flow objects

– Connecting objects

– Swimlanes

– Artifacts

197

Page 198: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Flow objects• Event

– An Event is represented by a circle and is something that

“happens” during the course of a business process.

– These Events affect the flow of the process and usually have a

cause (trigger) or an impact result.

– Events are circles with open centers to allow internal markers to – Events are circles with open centers to allow internal markers to

differentiate triggers or results.

– There are three types of Events, based on when they affect the

flow: Start, Intermediate, and End (see the figures below).

198

Start Intermediate End

Page 199: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Activity

– An Activity is represented by a rounded-corner rectangle (see

the figures below) and is a generic term for work that company

performs.

– An activity can be atomic or non-atomic (compound).

– The types of Activities are: Task and Sub-Process.

– The Sub-Process is distinguished by a small plus sign in the – The Sub-Process is distinguished by a small plus sign in the

bottom center of the shape.

199

Task Sub-Process

Page 200: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Gateway

– A Gateway is represented by the familiar diamond shape (see

the figure below) and is used to control the divergence and

convergence of Sequence flow.

– Thus, it will determine traditional decisions, as well as the

forking, merging, and joining of paths.

– Internal Markers will indicate the type of behavior control. – Internal Markers will indicate the type of behavior control.

200

Page 201: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Flow Objects /Internal Markers

201

Page 202: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Connecting Objects

• The flow objects are connected together in a diagram to

create the basic skeletal structure of a business process.

• There are three Connecting Objects that provide this

function:

• Sequence Flow

– A sequence flow is represented by s solid line with a solid

arrowhead and it is used to show the order (the sequence) that

activities will be performed in a Process.

202

Page 203: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Message Flow

– A Message Flow is represented by a dashed line with an open

arrowhead and is used to show the flow of messages between

two separate Process Participants (business entities or business

roles) that send and receive them.

– In BPMN, two separate Pools in the Diagram will represent the

two Participants.

• Association

– An Association is represented by a dotted line with a line

arrowhead and is used to associate data, text, and other Artifacts

with flow objects.

– Associations are used to show the inputs and outputs of

activities

203

Page 204: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Artifacts

• BPMN was designed to allow modelers and modeling

tools some flexibility in extending the basic notation and

in providing the ability to additional context appropriate to

a specific modeling situation, such as for a vertical

market(e.g., insurance or banking).

• Any number of Artifacts can be added to a diagram as

appropriate for the context of the business processes

being modeled.

• The current version of BPMN specification pre-defines

only three types of BPD Artifacts, which are the

followings:

204

Page 205: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Data Object

– Data objects are a mechanism to show how

data is required or produced by activities.

– They are connected to activities through

Associations.

• Group

– A Group is represented by a rounded corner

rectangle drawn with a dashed line.rectangle drawn with a dashed line.

– The grouping can be used for documentation

or analysis purposes, but does not affect the

Sequence Flow.

• Annotation

– Annotations are mechanism for a modeler to

provide additional text information for the

reader of a BPMN Diagram.205

Page 206: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Modelers can create their own types of Artifacts, which

add more details about how the process is performed –

quite often to show the inputs and outputs of activities in

the Process.

– However, the basic structure of the process, as determined by

the Activities, Gateways, and Sequence Flow, are not changed

with the addition of Artifacts in the diagram

206

Page 207: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Swimlanes

• Many process modeling methodologies utilizes the

concept of swimlanes as a mechanism to organize

activities into separate visual categories in order to

illustrate different functional capabilities or

responsibilities. responsibilities.

• BPMN supports swimlanes with two main constructions.

• The two types of BPD swimlane objects are pool and

lane.

207

Page 208: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Pool

– A Pool represents a

Participant in a process.

– It also acts as a graphical

container for partitioning a

set of activities from other

Pools, usually in the

context of B2B situations.

• Lane • Lane

– A Lane is a sub-partition

within a Pool and will

extend the entire length of

the Pool, either vertically

or horizontally.

– Lanes are used to

organize and categorize

activities. 208

Page 209: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Pools are used when the diagram involves two separate

business entities or participants (see the figure below)

and are physically separated in the diagram.

– Thus the Sequence Flow may not cross the boundary of a Pool.

– Message Flow is defined as being the mechanism to show the

communication between two participants, and, thus must

connect between two Pools (or the objects within the pools).

209

Page 210: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Lanes are more closely related to the traditional

swimlane process modeling methodologies.

– Lanes are often used to separate the activities associated with a

specific company function or role.

– Sequence Flow may cross the boundaries of Lanes within a

Pool, but Message Flow may not be used between Flow Objects

in Lanes of the same Pool.

210

Page 211: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

General Uses of BPMN

• Business process modeling is used to communicate a

wide variety of information to different audiences.

• BPMN is designed to cover many types of modeling and

allows the creation of process segments as well as end-

to-end business processes, at different levels of fidelity.

• Within the variety of process modeling objectives, there

are two basic types of models that can be created with a

BPD. These types are:

– Collaborative (Public) B2B Processes

– Internal (Private) Business Processes

211

Page 212: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Collaborative B2B Processes

• A collaborative B2B process depicts the interactions

between two or more business entities.

• The diagrams for these types of processes are generally

from a global point of view.

– i.e., they do not take the view of any particular participant, but

show the interactions between the participants.show the interactions between the participants.

• The interactions are depicted as a sequence of activities

and the message exchange patterns between the

participants.

– The activities for the collaboration participants can be considered

the “touch-points” between the participants; thus the process

defines the interactions that are visible to the public for each

participant.212

Page 213: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• When looking at the process shown in only one Pool (i.e.,

for one participant), public process is also called abstract

process.

• The actual (internal) processes are likely to have more

activities and detail than what is shown in the collaborative

B2B processes. The (repeated) figure below shows an

example of a collaborative (B2B) process.

213

Page 214: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Internal Business Processes

• An internal business process will generally focus on the

point of view of a single business organization.

– Although internal processes often show interactions with external

participants, they define the activities that are not generally

visible to the public and are therefore private activities.

• If swimlanes are used then an internal business process • If swimlanes are used then an internal business process

will be contained within a single Pool.

– The Sequence Flow of the Process is therefore contained within

the Pool and cannot cross the boundaries of the Pool.

– Message Flow can cross the Pool boundary to show the

interactions that exist between separate internal business

processes. Thus, a single Business Process Diagram may show

multiple private business processes. 214

Page 215: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Levels of Diagrams

• The modeling of business processes often starts with

capturing high-level activities and then drilling down to

lower levels of detail within separate diagrams.

• There may be multiple levels of diagrams, depending on

the methodology used for model development.the methodology used for model development.

– For example, a high level process may be a series of Sub

Processes, and on the next lower level each sub-process is

represented by a separate diagram.

215

Page 216: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Mapping a BPMN Diagram to WS-BPEL

• To help to alleviate the modeling technical gap, a key

goal in the effort to develop BPMN was to create a

bridge from the business-oriented process modeling

notation to IT-oriented execution language that will

implement the process within a business process

management system.

• The graphical objects of BPMN, supported by a rich set

of object attributes, have been mapped to the WS-BPEL,

defacto standard for process execution.

• Next figure provides an example of a segment of a

business process and marks the mapping to the WS-

BPEL execution elements.

216

Page 217: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

A BPD with Annotations to show the mapping to WS-BPEL217

Page 218: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Describing Dynamics with UMLUML provides graphical constructs that can be used to

describe (1) actions and activities, and (2) temporal precedence and control flows. The allowable control constructs are:

• Sequence: a transition from one activity to the next in time

• Branch: a decision point among alternative flows of

218

• 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

Page 219: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

An example UML activity diagram showing the allowable control

constructions that can be used to describe workflows and processes

Implementation of a

vendor’s purchase

process

219

Page 220: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• A swimlane is a way to group activities performed by the same actor

on an activity diagram or to group activities in a single thread.

• The following UML activity diagram represents the enterprise

architectural modeling (simplified). It includes three swimlanes, one

for each actor.

220

Page 221: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Example Workflow for Telecommunications Order Processing

221

Workflow tools support specialized (ad hoc) notations

Page 222: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

The three primitive patterns for interoperability:

chained, nested and synchronized

222

Page 223: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Exercise: Exceptions in Workflows• This workflow is for recording student

registration. Assume that each database management system supports 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

223

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?

Page 224: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Interoperation in Workflows

• A workflow represents the interoperation of possible

several applications and databases.

• The interoperation can be achieved by building an

appropriate workflow from scratch.

• However, standards activities, such as those being led

by WfMC, attempt to define a reference model for

workflow management.

• The reference model describes how workflow engines

ought to be connected to applications, databases,

development tools, runtime tools, and each other.

224

Page 225: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Workflow tools• There are many workflow tools available in the marketplaces.

– Each tool provides some kind of modeling mechanism coupled with

an execution framework.

• In general, the metamodels underlying most workflow tools are based

on a variant of activity networks, which show different activities as

nodes and use links to represent various temporal and exception

dependencies among the nodes.

• System analyst design workflows on the basis of their understanding of • System analyst design workflows on the basis of their understanding of

the given organization and the abstractions the chosen workflow tool

supports.

– Once designed, the workflow can be executed automatically by the

tool, typically resulting in improved efficiency.

– For example, when workflow involve human workers, the workers

can be automatically informed of the tasks they should be

performing and given the resources they need to complete the

tasks, thereby reducing the idle time. 225

Page 226: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Business Process Execution language for Web

Services – BPEL4WS (nowadays WS-BPEL)

• Can serve as both an implementation language for executable

processes and a description language for non-executable business

protocols.

• Defines a model and a grammar for describing how multiple Web

service interactions among the process’s participants, termed

partners, are coordinated to achieve a business goal, as well as the partners, are coordinated to achieve a business goal, as well as the

state and the logic necessary for the coordination to occur.

• Interactions with each partner occur through lower level Web service

interfaces, as might be defined in WSDL.

• WS-BPEL can define mechanisms for dealing with exceptions and

processing faults, including how individual or composite processes

components are to be compensated when exceptions and faults

occur or when a partner requests an abort.

226

Page 227: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

The WS-BPEL metamodel, specifying that a process consists of an

activity, a number of partners and containers with specific correlation

sets, fault handlers, and compensation handlers.

227

Page 228: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

A WS-BPEL document uses XML to describe the

following aspects of a business process:

• Partners: a list of Web services invoked as part of the process.

• Containers: the data containers used by the process, providing their

definitions in form of WSDL message types.

– Containers are needed to store state data and process history

based on messages exchanged among the component

processes. processes.

• Variables: the variables that are used and flow through the process.

• faultHandlers: the exception handling routines.

• CompensationHandler: compensation to perform when a

transaction rollback occurs.

• eventHandlers: routines for handling external (asynchronous) events

228

Page 229: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• correlationSets: precedences and correlations among Web service

invocations that cannot be expressed as part of the main process

logic.

• Main process logic: a series of nested control flow structures that

combine primitive activities into more complex algorithms:

– sequence, for serial execution

– while, to implement a loop

– switch, for multiway branching

– pick, for choosing among alternative paths based on an external

event

– flow, for parallel execution. Within activities executing in parallel,

execution order constraints are indicated by using service links

229

Page 230: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• The control structures relate the following atomic actions:

– invoke, invoking a specific Web service

– receive, a server waiting to receive a message from a client,

which would invoke the server’s service

– reply, generating the response to an invocation request

– wait, waiting either for a deadline or some amount of time

– assign, assigning a value, which might have come from a – assign, assigning a value, which might have come from a

received message, to a variable

– throw, indicating that something went wrong

– terminate, terminating the entire service instance

– empty, doing nothing

230

Page 231: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• The result of using WS-BPEL to model an executable

business process is a new Web service composed of

existing services.

• The interface of the composite service is a collection of

WSDL porTypes, just like any other Web service

• The next figure illustrates this external view of WS-BPEL

process.process.

231

Page 232: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

A WS-BPEL process is a composite Web service with a WSDL

description

232

Page 233: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Transaction Flow in WS-BPEL

• WS-BPEL provides a compensation protocol that is a

variant of earlier work on sagas and open nested

transactions.

– It enables flexible control of rollbacks and reversals through

application-specific definitions for fault handling and application-specific definitions for fault handling and

compensation, resulting in a Long-Running (Business)

Transaction (LRT)

– An LRT can undone by reversing individual operations, using

business rules that typically depend on the application.

– An LRT occurs within a single business process instance, and

there is no distributed coordination among the partners regarding

an agreed-upon outcome.

233

Page 234: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

– Achieving distributed agreement is outside the scope of WS-

BPEL, to be solved by using protocols described in WS-

Transaction.

– In essence, WS-Transaction uses WS-Coordination to extend

WS-BPEL to provide a context for transactional agreements

between services.

– Different agreements may be described in an attempt to achieve

consistent, desirable behavior while respecting service consistent, desirable behavior while respecting service

autonomy.

234

Page 235: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Implementing a WS-BPEL Web Service

• A WS-BPEL process is an algorithm expressed as a flow

chart, where each step is an activity.

• Information is passed between activities through data

containers and the use of (assign) statements.

– For example , a customer address would be copied from a – For example , a customer address would be copied from a

purchase order to a shipping request by the following:

<assign>

< copy>

<from container = “PO” part = “customerAddress”/>

<to container = “shippingRequest” part = “customerInfo”/>

< /copy>

</assign>

235

Page 236: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• A service link is used to define the relationship between

two partners and the role that each partner plays.

– For example, a service link between a buyer and seller might be

<serviceLinkType name = “BuySellLink”

xmlns=“http://schemas.xmlsoap.org/ws/2002/07/service-link/”>

<role name=“buyer”>

<portType name = BuyerPortType”/>

</role></role>

<role name=“seller”>

<portType name = SellerPortType”/>

</role>

</serviceLinkType>

– The following is a complete example of an executable WS-BPEL

process for the implementation of a stock quoting service:

236

Page 237: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

<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"/>

237

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>

Page 238: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• The process is a simple five-step sequence that begins

when a request for a quote is received from the caller.

• The request is copied to an invocation container, the

getQuote operation is invoked with the parameters of the

request, the result is copied to a result container, and a

reply is returned to the requester.

238

Page 239: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

UML to WS-BPEL Translation

• UML is a popular representation and methodology for

characterizing software and information processes, so

we can consider its use in describing business

processes.

• WS-BPEL processes are stateful and can have • WS-BPEL processes are stateful and can have

instances, so the appropriate UML construct for

modeling them is a class with stereotype <<process>>

and whose attributes are the state variables of the

process.

239

Page 240: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

BPML - Business Process Modeling Language

• BPML and WS-BPEL share similar roots in Web services

(SOAP, WSDL, and UDDI), take advantages of the same

XML technologies, and are designed to leverage other

specifications (WS-Security and WS-Transaction).

• Beyond these areas of commonality; BPML supports the • Beyond these areas of commonality; BPML supports the

modeling of real-word business processes through its

support for advanced semantics, such as nested

processes and complex compensated transactions.

• BPML builds on the foundation of WSCI for expressing

public interfaces and choreographies.

240

Page 241: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Electronic Business Extensible Markup Language (ebXML)

• Established by UN-CEFACT (United Nations Centre for Trade Facilitation and Electronic Business) and OASIS

• Provides specifications to define standard business processes, exchange business messages and enter into trading agreements

241

into trading agreements

• Motivations:

– Global standard for companies of all sizes

– Automate finding business partners

Page 242: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

ebXML Vocabulary

• Unified Modeling Methodology (UMM– Specialized UML for Business Processes )

• Collaboration Protocol Profile (CPP)– Describes a business’s profile, i.e., which business

processes it supports, its roles in those processes,

242

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)– Intuitively, like an intersection of two CPPs

– Technical agreement between two or more partners

– May be legally binding

Page 243: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Suppose you are the owner of disk-drive manufacturing company that sells its disk drives to the computer industry , and you decide that your company should receive purchase orders electronically.

– To implement this as an ebXML business process, you could follow the typical three step procedure describe in the following figure:

243

Page 244: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

244

Page 245: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• According to this procedure, the recommended way to for

you to design an ebXML procedure is to first construct a

model of one of your business process, using a process

modeling language.

– For example, you might use the UN/CEFACT Modeling Methodology

(UMM), which is qualified UML notation for business processes, or

you might use the Process Specification Language (PSL).

• Based on your process model and using the ebXML • Based on your process model and using the ebXML

Business Process Specification Schema (BPSS), you

would then extract and format the set of elements

necessary to configure an ebXML runtime system that will

be able to execute the required set of ebXML business

transactions.

– The result is an ebXML Process-Specification Document which

might be a RosettaNet Partner Interface PROCESS (PIP).

245

Page 246: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

To summarize, the vocabulary used for an ebXML

specification consists of the following three parts:

1. A Process-Specification Document describing the activities of the

parties in an ebXML interaction.

2. Collaboration Protocol Profile (CPP), which describes an

organization’s profile, i.e., which business processes it supports, its

roles in those processes, the messages exchanged, and the roles in those processes, the messages exchanged, and the

transport mechanism for the messages.

3. A Collaborative Parner Agreement (CPA), which is an intersection

of two CPP’s, representing a technical agreement between two or

more partners, and potentially negotiated as shown in the next

figure.

246

Page 247: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Request

In fo rm ation on

O ran iza tion B

Business

O rgan iza tion ARequest O ran iza tion B ’s

P ro files , S cenarios

Rece ive O rgan iza tion B ’s

In fo rm ation

Bus iness

P rocess

Business

Scenario s

Bus iness

P ro files

ebXML Repos ito ryExc

Figure: Discover partner information and negotiate. 247

Nego tia te

Term s

Business

O ran iza tion B

Nego tia te

Term s

Exchange Partne r Ag reem en t

(CPA )A ccept P artner

Ag reem en t

Page 248: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Implementing ebXML

• ebXML is just a set of specifications, and an enterprise

may build and deploy its own ebXML compliant

applications.

– In addition, ebXML compliant applications components are

commercially available as shrink-wrapped products.

– ebXML can also be implemented by a business Service Interface

(BSI), a wrapper that enables a noncompliant party to properly

participate in an ebXML exchange.

– As illustrated in the following figure, a Business Service Interface

can interface with a legacy system, is aware its own

Collaborative Protocol Profile, and handles transactions based

on all of the current agreements (CPAs).

248

Page 249: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Business Service Interface

ebXML WorldLegacy

Application

Transform

Layer

Business

Service

Interface

Message

Layer

(TR & P)

CPA

Document

Business

Process

249

Document Process

• 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 (CPA’s)

Page 250: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Limitations of ebXML

• ebXML’s BPSS enables us to express collaboration

protocols and agreements about protocols in a nice

manner.

– This facilitates interoperation in cross-enterprise settings.

• However, BPSS is quite limited in what it can express:

– In particular, it suffers from two main limitations concerning

expressiveness and semantics:

250

Page 251: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Expressiveness of ebXML

• BPSS is limited to simple request-response protocols.

• Business interactions can be quite complex and, in the

context of extended transactions can be long lived.

• It is important to understand the contents of the states of

ongoing interaction, so that exceptions can be

accommodated in a manner that respects the

participant’s local constraints as well as the context in

which they are doing business.

251

Page 252: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Semantics in ebXML

• BPSS lacks a formal semantics, and thus it is not clear if

specifications constructed by one party would have the

same interpretations by an other party.

– Such disagreements are common and expensive.

• The motivation behind the development of ontologies in

the context of describing services also applies to

describing processes involving services.

252

Page 253: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

RosettaNet• RosettaNet is a consortium of information technology,

semiconductor manufacturing, and telecommunications

companies working to create and implement open e-

business process standards.

– These standards comprise a common e-business language that

can align the interactions among supply-chain partners on a can align the interactions among supply-chain partners on a

global basis.

– The address topics ranging from business documents, such as

purchase orders, to processes, such as purchasing.

– Each process is expressed as a Partner Interface Process (PIP).

– As exemplified in the next figure a PIP in RosettaNet defines the

process of exchanging messages between two partners.

253

Page 254: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

RosettaNet PIP for Creating a

Purchase Order: The Content for

ebXML

� PIP: Partner

Interface Process;

like a protocol

� ebXML BPSS: a

language for

specifying PIPs

254

� Two-party protocols

� Request-response only

� No meaning to the

messages exchanged

Page 255: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

Limitations of RosettaNet

• Unfortunately after a message departs a partner’s

computer system, it is impossible to find out whether it

was received and correctly processed by the partner

organization.

• All RosettaNet offers is a fixed time-out for the • All RosettaNet offers is a fixed time-out for the

confirmation of each message.

– If the message is not confirmed during this time (e.g., 2 hours),

the original partner (recognizing that the message has been

sent already) resends the message to the same or another

partner.

255

Page 256: Designing and Implementing Service-Oriented Business Processes · • Third-generation information systems, which include those termed peer-to-peer, enable each node of a distributed

• Some organizations are adopting proprietary business

protocols that are not machine interpretable.

– For example, RosettaNet uses UML diagrams to describe PIPs, and

relationships among the messages exchanged as part of the PIP.

– The meaning of the UML diagrams is informal and no direct machine

interpretation is possible.

– EDI does not define any standard processes at all, instead industrial

applications of EDI are based on best practices.

– However, there is no recognized way to describe the process of

exchanging EDI messages.

• ebXML BPSS can be used to define a RosettaNet PIP.

– An important distinction between RosettaNet PIPs and ebXML

BPSS is that PIPs define specific processes (like a purchase order

process), whereas BPSS is a language for describing processes.

– ebXML as such does nor define processes and RosettaNet does not

provide a process modeling or definition language. 256