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
WS-coordination ● Infrastructuur voor coordinatie protocollen ● Meta-specificatie, mbv standaarden – unieke identificatie – informeren protocol handler
WS-coordination
● Drie abstracties: – coordination protocol – coordination type – coordination context ● Drie vormen van interactie: – activeren – registreren – protocol specific interactions
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