Service Coordination Protocols ● Noodzaak (Eddy) ● Coordination protocols (Eddy) ●...

Post on 24-May-2015

224 views 3 download

Transcript of Service Coordination Protocols ● Noodzaak (Eddy) ● Coordination protocols (Eddy) ●...

Service Coordination Protocols

● Noodzaak (Eddy)● Coordination protocols (Eddy)● Infra-structuur (Eddy)● WS-Coordination (Eddy)● WS-Transaction (Pepijn)● Rosetta-Net (Pepijn)● overige standaarden (Pepijn)

Service Coordination Protocols

● Remote Procedure Calls: simpele, 'one-call-at-a-time' interactie tussen client en server

● Maar:– additionele protocollen (two-phase

commit)– interactie garantie– infra-structuur met nieuwe abstracties

● Concept

Coordination protocols

●Identificatie●Verzoek●Bestelling●Betalen

Coordination protocols

● Implicaties intern perspectief– afhandelen juiste volgorde– client moet context informatie opslaan (het

ordernummer)● Implicaties extern perspectief

– afhandelen juiste volgorde– doorvoeren van de betaling

Coordination protocols

STATE DIAGRAMS

Coordination protocols

● Multi party conversation

● Roldefinitie● Chaos● Activity diagrams

Coordination protocols

● Design time discovery● Dynamic binding● Informatie verbergen● Role specific views

Doel

Coordinatie protocols

Verticale- & horizontale protocollen

Coordinatie protocollen

● Verticaal– De manier waarop de

conversatie wordt gevoerd.

– Documenten– Formaat documenten– Semantiek

● Horizontaal– Onafhankelijk van

applicatie– manier van

communiceren op hoog abstractieniveau

– non functionals– garanderen executie

van protocols

Infrastructuur

● Conversation controllers: – Conversation routing: toekennen van berichten aan

objecten.– protocol compliance verification: controleert of alles

volgens protocol verloopt.

Infrastructuur

Infrastructuur

WS-coordination

● Infrastructuur voor coordinatie protocollen● Meta-specificatie, mbv standaarden

– unieke identificatie– informeren protocol handler

WS-coordination

WS-coordination

● Drie abstracties:– coordination protocol– coordination type– coordination context

● Drie vormen van interactie:– activeren– registreren– protocol specific interactions

WS-coordination

WS-coordination

WS-coordination

WS Transactions

● Transactions● Transactions in Web Services

– Database transactions– Compensation mechanisms

● Relatie met WS-Coordination

WS Transactions (2)

● Twee soorten Transactions– Atomic Transactions– Business Activities

● Korte termijn (atomair)● Lange termijn (long-running)

Atomic Transactions

● Vijf protocollen– Completion– 2PC– PhaseZero– OutcomeNotification– CompleteWithAck

● Poort Specificaties:– CompletionParticipantPortType & CompletionCoordinatorPortType– CompletionWithAckParticipantPortType & CompletionWithAckCoordinatorPortType– PhaseZeroParticipantPortType & PhaseZeroCoordinatorPortType– 2PCParticipantPortType & 2PCCoordinatorPortType– OutcomeNotificationParticipantPortType &

OutcomeNotificationCoordinatorPortType

Voorbeeld

Business Activities● BusinessAgreement protocol

– Exited, Completed, Faulted– Close, Complete, Compensate, Forget

● BusinessAgreementWithComplete protocol– Vergelijkbaar– Verschil

● Poort Specificaties– BusinessAgreementParticipantPortType &

BusinessAgreementCoordinatorPortType– BusinessAgreementWithCompleteParticipantPortType &

BusinessAgreementWithCompleteCoordinatorPortType

Voorbeeld

RosettaNet

● Standaardisatie– Business processes– Data format

● RosettaNet Business Dictionary● RosettaNet Technical Dictionary

– Messaging services

Partner Interface Process (PIP) Specifications

● Technical Dictionary● Message Guideline● Business Data, twee typen

– Business Action– Business Signal

Het ontwikkelen van een PIP

● RosettaNet maakt gebruik van vier stappen– Develop Business Model– Re-engineer– Create PIP Blueprint– Create PIP Protocol

PIP Views

● Business Operational view– Action layer

● Functional Service view– Transactions layer

● Implementation Framework view– Service layer

Clusters

● Cluster 0: Product Information● Cluster 1: Partner Product and Service Review● Cluster 2: Product Information● Cluster 3: Order Management● Cluster 4: Inventory Management● Cluster 5: Marketing Information Management● Cluster 6: Service and Support● Cluster 7: Manufacturing

RosettaNet Implementation Framework

● Messaging● Transport

– Protocol onafhankelijk– HTTP, SMTP

● Security

Overige Standaarden voor Coordination Protocols

● XML Common Business Libary (xCBL)– XML, EDI– Semantiek (rollen, constraints)

● Electronic Business Using eXtensible Markup Language– Framework voor xCBL

● Web Service Choreography Interface (WSCI)

Web Service Choreography Interface (WSCI)

● Exception Handling● Transactions● Correlators● Time Constraints