elements of web service choreography

32
Elements of Web Services Choreography Jean-Jacques Dubray WS-CHOR f2f 3/13/03 Redwood Shores, CA

Upload: zubin67

Post on 27-Jan-2015

106 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Elements of Web Service Choreography

Elements of Web Services Choreography

Jean-Jacques Dubray

WS-CHOR f2f 3/13/03

Redwood Shores, CA

Page 2: Elements of Web Service Choreography

Bio

• Got interested by B2B, BPM and XML in 1998 at NEC System Laboratories

• 1999 - eXcelon to develop a B2B Integration Server based on a Business Process Engine

• 2001 - Eigner (PLM vendor) to design next generation architecture

• Contributor to OAG (IF), ebXML (BPSS), and BPML (ebXML binding)

• Represent no particular interest, just want to learn, share ideas and experiences

Page 3: Elements of Web Service Choreography

Outline

• Introduction• Paradigm Shifts• WS-Choreography and SOA• Collaboration, Choreography and Orchestration• Elements of WS-Choreography

– Message Exchange Patterns– Choreography protocol– Transactional behavior– Message content– Control flow– Technical Binding

• Conclusions

Page 4: Elements of Web Service Choreography

Introduction

• XML, Web Service and BPM will revolutionize the way we built applications

• Applications as we know it will disappear– 1990-1999 looking for a better way to build

applications (CORBA/DCOM, J2EE, but also EDOC, BOCA, …)

– 2000-2010 found the better way

• Towards a new “component model”: SOA

Page 5: Elements of Web Service Choreography

Paradigm Shifts

• Can the web do for applications what it had done for humans?– From a given application access any service (data,

transaction, computation) regardless of its location• Can the web give us hints on a better application

model?– Loosely coupled, plug & play, Message based– REST?

• Meta, Meta, Meta– Current programming languages show lots of

limitations when developing business applications (e.g Java/J2EE, C#/.NET)

Page 6: Elements of Web Service Choreography

WS-Choreography is at the convergence of

• B2B

• EAI

• Distributed computing model

• Applications models (s.a. J2ee and .NET)

Page 7: Elements of Web Service Choreography

WS-Choreography and SOA

Request

Web ServicesProviderResponse

InternetWeb ServicesProvider

J2EE™AppServer .NET

SOAP Messages

This is the WRONGPicture for SOA

This is the WRONGPicture for SOA

Page 8: Elements of Web Service Choreography

What is a Service?

General Ledger

OrderManagement

ReceivingInventory

HumanResources

CustomerService

AccountsReceivable

AccountsPayable

Production

SyncPersonnel

Load Receivable

Load Payable

Sync EmployeeWorkSchedule

Add SalesOrder

Sync SalesOrder

Sync Party

Sync I

temMas

ter

IssueInv

entor

yMov

emen

tCreate

ProductionOrderPost JournalEntry

Sync ChartOfAccounts

Sync ExchangeRateGet PickList

Update PickList

Show PickList

Update SalesOrder

Sync ItemMaster

Receive

Inven

toryM

ovem

ent

OAGIS 8.0 Scenario 41

This is A

Service

This is A

Service

Page 9: Elements of Web Service Choreography

ERP

ManufacturingCapacity Analysis

Manufacturing Execution (MES)

Manufacturing/Production

Planning

Sync DispatchList

Get DispatchList

Show DispatchList

Sync ItemMaster

Sync ProductionOrder

Sync Routing

Sync BillOfMaterial

Sync ItemMaster

Sync ProductionOrder

Sync Routing

Sync BillOfMaterialS

ync Item

Syn

c Pro

dord

er

Syn

c Rou

ting

Syn

c BO

M

Co

nfirm

Invento

ryIssue

Up

date

WIP

Con

firm

Up

date

WIP

Con

firm

Co

nfirm

Invento

ryIssue

SOA’s Foundation is “Peer-to-Peer”

OAGIS 8.x Scenario 50

No ApplicationOr Corporation

Boundaries

Page 10: Elements of Web Service Choreography

Intra / Inter CompanyMessage Exchange

• Message exchange between corporation boundaries is sufficiently different to justify special treatments:– State alignment (no shared “memory”)– Legal aspects (non-repudiation)

Page 11: Elements of Web Service Choreography

SOA as an Application Model (MVC Revisited)

ERPModel

PLM1Model

PLM2Model

Process EngineProcess Engine

Task EngineTask Engine

ThinFat

Other

ThinFat

OtherFirewall

Process & DataFederation

Process & DataFederation

Page 12: Elements of Web Service Choreography

Key Takeaway

• Ws-chor is a major enabler of SOA

• Ws-chor foundation is peer-to-peer

Page 13: Elements of Web Service Choreography

Collaboration, Executable Business Processes and Services

Buyer Supplier(Self)

Order Entry

POAckPO

BTA1

OpA1

POAckPO

Manager

OpA2

Salesorder

Start

Wit1

POPO

BillingROLEROLE

Executable Business Process

MessageExchangeMessageExchange

B2BCollaboration

B2BCollaboration

Page 14: Elements of Web Service Choreography

Collaboration And Executable Business Process

• Both are state machine

• A collaboration has no engine associated with it (nothing is in the middle)– It is merely the execution of activities of the

executable business processes in each party that advances the state of the collaboration

Page 15: Elements of Web Service Choreography

Collaboration And Executable Business Processes

• The Process Engine is responsible for:– Mapping (many-to-one-one-to-many)– Decoupling services via message routing

• sequence, flow, switch, while

– Monitoring (coupled) interaction between services to advance the state of the process instance

• A Collaboration “service” is responsible for ensuring that an incoming/outgoing message is expected at this point in time– No mapping, no routing, no “advancement”

Page 16: Elements of Web Service Choreography

(Business) Components a.k.a. Services

Buyer Supplier(Self)

Order Entry

POAckPO

BTA1

OpA1

POAckPO

Manager

OpA2

Salesorder

Start

Wit1

POPO

Billing

ProcessPO

ProcessPO

ReviewPO

Task

ReviewPO

Task

ProcessSalesOrder

ProcessSalesOrder

OrchestrationOrchestration

MapRouteMap

Route

Page 17: Elements of Web Service Choreography

Choreography and Orchestration

• Business component can exhibit a long running behavior and looking from the perspective of such component, the flow of messages between itself and other components can also be expressed using a meta language.– This is orchestration

• The confusion is that Components are typically very coarse and can directly be exposed to partners. The long-running behavior might also be complete.

Page 18: Elements of Web Service Choreography

Choreography and Orchestration

Eigner PLM SAPBPM

SyncBOM

Sync Item

Sync BOM

TransformRoute

exists?

Create BOM

Update BOM

noyes

Create History

[any error]

[for each]

SuccessFailure

Page 19: Elements of Web Service Choreography

Key Takeaway

• ws-chor applies to Collaboration and executable business processes

• Orchestration might be different

Page 20: Elements of Web Service Choreography

Elements of WS-Choreography

• What do we choreograph, how?

• What is a message content?

• Choreography between who/what?

• Choreography technical binding

Page 21: Elements of Web Service Choreography

Choreograph Messages or Message Exchange Patterns?

One way

Notification

RequestResponse

SolicitResponse

Page 22: Elements of Web Service Choreography

Message Exchange Pattern Choreography

Buyer Seller

PO

AckPO

Invoice

Payment

This is far easier than trying to choreograph

Notifications and One ways

ChangePO

AckPO

ChangePO

AckPO

Page 23: Elements of Web Service Choreography

Choreography Protocol

• There is a need, specially in B2B scenario to exchange signals in addition to messages

• Signals feature typically a fixed format and carry special meaning– Message structure and content is valid– Message was successfully processed by the receiving

application• Signals are typically part of the Message

Exchange Pattern• Exception associated to signal content:

business, technical exception

Page 24: Elements of Web Service Choreography

Choreograph Exceptions

Buyer Supplier (Self)

Order Entry

PO

BTA1

OpA1

OpA2

BTA2

PO

Invoice

Invoice

Billing

Success Failure

[Success]

[TechnicalFailure]

[BusinessFailure]

[AnyFailure]

[AnyFailure]

Page 25: Elements of Web Service Choreography

Transactional Behavior

• WSCI, BPEL4WS features transaction specifications as part of the choreography– BPEL4WS scopes

• BPSS doesn’t, all compensating transactions must be explicit

• Transactional behavior sounds reasonable to be within the scope of WS-Chor

• First step is expressing meaningful exceptions: timeout, technical, business,…

Page 26: Elements of Web Service Choreography

Message Content

• Any number of XML or Binary documents

• XML document type or content might be used to specify condition expressions in the control flow

Page 27: Elements of Web Service Choreography

Control Flow Specification

• Prof. van der Aalst patterns• BPEL4WS• WSCI• BPSS • Receive / Reply issue

– BPML spawns a new sub process altogether– BPSS has an onInitiation condition– BPEL correlates a reply with a receive. The reply can

be located anywhere in the choreography• Should consolidate to one control flow, no need

for half-baked overlapping specification there.

Page 28: Elements of Web Service Choreography

Control Flow Specification

Buyer Supplier(Self)

Order Entry

POAckPO

BTA1

OpA1

POAckPO

Manager

OpA2

Salesorder

Start

Wit1

POPO

Billing

Failure Success

[BusinessFailure] [Success]

Collaboration Control Flow Semantics are different from

the semantics of an executable business process

Page 29: Elements of Web Service Choreography

Technical Binding

• Two approaches– Start with WSDL specification and express a

choreography of these services– I suggest an alternative approach which I

think will work better• Specify the choreography in terms of roles and

usage of message exchange pattern types• Then generate the corresponding WSDL

automatically

Page 30: Elements of Web Service Choreography

Beyond Choreography

• UMM• Business Collaboration Patterns &

Monitored Commitments, e.g. from COOL:– Negotiation: Offer and Counter-offer– Offer and Acceptance– Commitment and Fulfillment– Deliver the goods and Pay for them

• REA – http://homepage.interaccess.com/~linkage/REA4SCM.htm

• Business Entities– http://www.collaborativedomain.com/standards/

Page 31: Elements of Web Service Choreography

Conclusion

• SOA appears as a valid application model moving forward– No more application or corporation boundary– Process and Data federation– Decoupled services?

• SOA is at the convergence of traditional application models, EAI and B2B

• Service Choreography is essential to SOA

Page 32: Elements of Web Service Choreography

Conclusion

• Service Choreography MUST be peer-to-peer• Scope is everything that is pure message

exchange: Collaboration and EBP• Message Exchange Patterns are the units of

what is being choreographed• B2B is different than EAI / Business Process

Execution• More metadata is good by beware of metadata

hell and poorly articulated layers