1 / 32

ebMS3 Part 2 Figures

ebMS3 Part 2 Figures. Part 2. MSH intermediary. PUSH Scenarios. MSH A. MSH B. (MessageID-preserving Forward). M1. M1. 1-way from A to B 1-way/push: A-Int 1-way/push: Int-B Int only forwards the message M1. HTTP 200. (status codes / Faults are only for each leg). M1.

chanel
Download Presentation

ebMS3 Part 2 Figures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ebMS3 Part 2 Figures Part 2

  2. MSH intermediary PUSH Scenarios MSH A MSH B (MessageID-preserving Forward) M1 M1 • 1-way from A to B • 1-way/push: A-Int • 1-way/push: Int-B • Int only forwards the message M1 HTTP 200 (status codes / Faults are only for each leg) M1 • 1-way from A to B, end-to-end reliable • 1-way/push: A-Int • 1-way/push: Int-B • Int forwards theasynchronous • RM Ack M1 HTTP 200 HTTP 200 (forward the RM Ack) RM Ack1 RM Ack1 M1 M1 • 1-way from A to B, robust • 1-way/push: A-Int • 1-way/push: Int-B • Int forwards the HTTP status code / • SOAP fault (forward M1, wait for the status code / Fault and forward it) HTTP 500 / Fault HTTP 500 / Fault

  3. MSH intermediary PULL Scenarios MSH A MSH B (MessageID-preserving Forward) PullRequest • 1-way from B to A, pulled • Two “synchronized pulls” • 1-way/pull: A-Int, synchronized with: • 1-way/pull: Int-B PullRequest (forward the PullRequest, wait for the pulled msge) M1 M1 • Reliable variant: • Replace “M1” by “M1 + RM Ack” • Optional RM Ack for M1 is pushed • from A to B PullRequest (PullRequest is NOT forwarded) • 1-way from B to A, pulled / decoupled • Two non-synchronized pulls, only connected by an MPC in intermediary • 1-way/pull: A-Int, decoupled from: • 1-way/pull: Int-B PullRequest Whatever message in the Intermediary MPC PullRequest M1 (M1 posted in the Intermediary MPC) Whatever message, here M1 • Reliable variant: • No end-to-end reliability, but for each leg • Intermediary must have RM capability

  4. MSH Receiver MSH Sender The Interconnected Hubs model MSH Sender/ receiver MSH Sender/ receiver Pull + send I-Cloud MSH Intermediary Non-addressable endpoint MSH Sender/ receiver MSH Intermediary MSH Intermediary MSH Intermediary MSH Sender/ receiver

  5. MSH Receiver MSH Sender The Hub-and-spoke model MSH Sender/ receiver MSH Sender/ receiver MSH Intermediary MSH Sender/ receiver Pull MSH Sender/ receiver Non-addressable endpoint

  6. MSH Sender/ receiver Intermediary-cloud MSH Router Intermediary Push Pull MSH Sender/ receiver MSH gateway Intermediary MSH gateway Intermediary Push MSH Router Intermediary Push addressable Endpoint MSH Non-addressable Endpoint MSH

  7. MSH Sender/ receiver Configuration of Intermediaries MSH Sender/ receiver MSH Sender/ receiver MSH Sender/ receiver MSH Sender/ receiver MSH Sender/ receiver Intermediary-cloud MSH Sender/ receiver MSH Intermediary Pull MSH Sender/ receiver MSH gateway Intermediary MSH gateway Intermediary Push Routing function Push Non-addressable endpoint Routing function Routing function • Message profile • (toParty, Service, • Action….) • MPC id • MEP (Push / Pull) • level of RM • level of Security • Message profile • (toParty, Service, • Action….) • MEP Control Info • o MPC id • o MEP (Push / Pull) • o security info (e.g. for Pull authorization) • Message profile • (toParty, Service, • Action….) • MPC id • MEP (Push / Pull) • level of RM • level of Security • Message profile • (toParty, Service, • Action….) • MEP Control Info • o MPC id • o MEP (Push / Pull) • o security info (e.g. for Pull authorization) Set of “end-to-end” PModes for each endpoint MSH Set of partial PModes for Communication with endpoint MSHs Set of “end-to-end” PModes for each endpoint MSH Set of partial PModes for Communication with endpoint MSHs

  8. End-to-end RM Sequence establishment: “demand-driven” option Enpoint MSH 1 “Gateway” intermediary MSH “Gateway” intermediary MSH Enpoint MSH 1 Submit msg RM CreateSeq RM CreateSeq + ebms hdr HTTP 200 Push option RM CreateSeq RM CSR “Router” MSHintermediaries PullRequest RM CreateSeq RM CSR + ebms hdr RM CSR RM CSR + ebms hdr Pull option Push option RM CSR PullRequest Pull option RM CSR

  9. Asynchronous Routing of ebMS Signals (Errors, Receipts), Option 1 Enpoint MSH A “Gateway” intermediary MSH 1 “Gateway” intermediary MSH 2 Enpoint MSH B User Message Submit User msg HTTP 200 User Message Push option User Message Signal (Receipt or Error) “Router” MSH intermediaries PullRequest Signal + “dummy” eb header element User Message Signal (Receipt or Error) I-Cloud Routing Functions: 1. ebMS header data for User msgs 2. ebMS header data for Signal msgs (reverse) Signal + “dummy” eb header element Pull option Signal (Receipt or Error) After removal of routing eb header Push option PullRequest Pull option Signal (Receipt or Error) After removal of routing eb header

  10. Asynchronous Routing of ebMS Signals (Errors, Receipts), Option 2 Enpoint MSH A “Gateway” intermediary MSH 1 “Gateway” intermediary MSH 2 Enpoint MSH B Submit User msg User Message HTTP 200 Gateway inserts a wsa:ReplyTo header, and :endpointmsh” ref. parameter Push option User Message with wsa headers User Message User msg : Gateway removes Wsa headers. Signal msg : Gateway adds Wsa:To header. Signal (Receipt or Error) PullRequest User Message Signal msg : Gateway removes Wsa headers Signal (Receipt or Error) I-Cloud Routing Functions: 1. ebMS header data 2. Intermediary URL (wsa:To) Pull option Signal (Receipt or Error) After removal of wsa headers Push option PullRequest Pull option Signal (Receipt or Error) After removal of wsa headers

  11. Asynchronous Routing of ebMS Signals by a Hub Enpoint MSH A Hub intermediary MSH Enpoint MSH B User Message M1 Submit User msg HTTP 200 Hub determines the routing and communication parameters for M1 (and related Signals) based on PMode data Push option User Message M1 Signal (Receipt or Error) PullRequest User Message M1 Signal (Receipt or Error) Pull option Push option Signal (Receipt or Error) PullRequest Pull option Signal (Receipt or Error)

  12. Asynchronous Routing of Synchronous ebMS Signals & Responses Enpoint MSH A Hub intermediary MSH Enpoint MSH B User Message M1 Submit User msg HTTP 200 Hub has routing capability for the Request user message, Based on eb header Push option User Message M1 Signal (Receipt or Error) PullRequest User Message M1 Signal (Receipt or Error) Pull option Push option Signal (Receipt or Error) PullRequest Pull option Signal (Receipt or Error)

  13. Asynchronous Routing of ebMS Signals & ebMS User Responses • Hub relates Response message to previous eb:MessageId (M1) based on RefToMessageId. Enpoint MSH A Hub intermediary MSH Enpoint MSH B User Message M1 Submit User msg HTTP 200 • Hub has routing capability for the Request UM (user message M1) based on eb header. • Hub keeps association UM@pmode  eb:MessageId. Push option User Message M1 Signal message (Receipt or Error) or User message PullRequest User Message M1 Signal message (Receipt or Error) or User message Push option Signal message (Receipt or Error) or User message Pull option PullRequest • Hub knows association UM@pmode  MSH A URL or MPC in case of pulling. Pull option Signal message (Receipt or Error) or User message

  14. MSH Sender/ receiver Intermediary-cloud Push Pull MSH Sender/ receiver MSH [gateway] Intermediary MSH [gateway] Intermediary Push Push addressable Endpoint MSH Non-addressable Endpoint MSH

  15. RM sequence #1 RM sequence #2 Intermediary-cloud Endpoint MSH RM bridge MSH Intermediary MSH Intermediary Endpoint MSH

  16. Two-tiered Reliable Multihop Enpoint MSH A “RM bridge” intermediary MSH Last intermediary MSH Enpoint MSH B Submit User msg wsrm:CreateSequence wsrm:CSR #1 User Message A (over RM Seq #1) wsrm:CreateSequence + UM header wsrm:CreateSequence wsrm:Ack #1 User Message B (over RM Seq #1) wsrm:CSR #2 wsrm:CSR #2 + UM header wsrm:Ack #1 User Message A (over RM Seq #2) User Message A (RM Seq #2) wsrm:Ack #2 wsrm:Ack #2 User Message B (over RM Seq #2) PullRequest (Error channel) Pull option Eb:deliveryFailure for UM B

  17. Multi-hop RM Sequence Establishment Enpoint MSH A First intermediary MSH Last intermediary MSH Enpoint MSH B wsrm:CreateSequence + wsa Ref “routing” Parameters wsrm:CreateSequence + wsa:Ref Par Eb:PullRequest (mpc) wsrm:CSRef Params include MPC. Last Intm. assigns the wsrm:CS to a Pull channel for this MPC. Pull option wsrm:CS + wsa:Ref Par + EBMS:0006 warning wsrm:CS + wsa:Ref Par Push option Case of Direct Addressing (wsa:To) wsrm:CSR + wsa: Ref Params (from CS AcksTo) NOTE: sent over back-channel in case of Pushed CS wsrm:CSR + wsa:To (from CS AcksTo) wsrm:CSR + wsa:RefPar (from CS AcksTo) Push option wsrm:CSR + wsa:RefPar (from CS AcksTo) Eb:PullRequest (mpc) Pull option I-Cloud wsrm:CSR + wsa:RefPar (from CS AcksTo)

  18. Multi-hop RM Acknowledgments Enpoint MSH A First intermediary MSH Last intermediary MSH Enpoint MSH B eb:PullRequest + wsrm:SequenceAckt eb:UserMessage eb:UserMessage (over RM Seq) Pull option eb:UserMessage Push option eb:UserMessage Case of Direct Addressing (wsa:To) wsrm:SequenceAck + wsa:To (from CS AcksTo) NOTE: sent over back-channel in case of Pushed User message wsrm:SequenceAck + wsa:To (from CS AcksTo) wsrm:SequenceAck + eb:routinginfo (from CS AcksTo) Push option wsrm:SequenceAck + eb:routinginfo eb:PullRequest (mpc) Pull option I-Cloud wsrm:SequenceAck + eb:routinginfo

  19. Multi-hop User Messages Enpoint MSH A First intermediary MSH Last intermediary MSH Enpoint MSH B eb:UserMessage NOTE: routing based on eb:UserMessage content eb:UserMessage eb:PullRequest Pull option eb:UserMessage Push option eb:UserMessage I-Cloud

  20. Multi-hop control model Path origin MSH Path destination MSH I-Cloud eb:UserMessage eb:UserMessage First intermediary MSH Last intermediary MSH Edge hop (1st hop) Edge hop (last hop) I-Cloud hops Transfer controlled by PMode Transfer controlled by Routing Function Transfer controlled by PMode

  21. One-Way Multi-hop MEPs : Sender-pushing Edge Bindings MSH 1 MSH 2 I-Cloud Push eb:UserMessage Push eb:UserMessage One-Way / Push Multihop One-way Case 1 (first-and-last-push) One-Way / Push eb:PullRequest Push eb:UserMessage One-Way / Pull One-Way / Push Pulled eb:UserMessage Multihop One-way Case 2 (first-push-last-pull)

  22. One-Way Multi-hop MEPs : Sender-pulling Edge Bindings (1) MSH 1 MSH 2 I-Cloud eb:PullRequest eb:PullRequest One-Way / Pull Routed PullRequest One-Way / Pull Pulled eb:UserMessage Pulled eb:UserMessage Multihop One-way Case 3a (first-and-last-pull) eb:PullRequest eb:PullRequest push One-Way / Pull pull pull One-Way / Pull Pulled eb:UserMessage Pulled eb:UserMessage Routing possibly involving Pushes and Pulls Multihop One-way Case 3b (first-and-last-pull)

  23. One-Way Multi-hop MEPs : Sender-pulling Edge Bindings (2) MSH 1 MSH 2 I-Cloud Push eb:UserMessage eb:PullRequest push One-Way / Pull pull pull One-Way / Push Pulled eb:UserMessage Routing possibly involving Pushes and Pulls Multihop One-way Case 4 (first-pull-last-push)

  24. Two-Way Multi-hop MEPs : Asynchronous Edge Bindings I-Cloud MSH 1 MSH 2 Multihop Two-way Case 1 (Request-push-last-push And Reply-push-last-push) Push eb:UserMessage Push eb:UserMessage Two-Way / Push-and-Push Two-Way / Push-and-Push Push (response) eb:UserMessage Push (response) eb:UserMessage eb:PullRequest Push eb:UserMessage Pulled eb:UserMessage Two-Way / Push-and-Pull Two-Way / Pull-and-Push eb:PullRequest Push (response) eb:UserMessage Multihop Two-way Case 2 (Request-push-last-pull And Reply-push-last-pull) Pulled eb:UserMessage

  25. Two-Way Multi-hop MEPs : Synchronous Edge Bindings I-Cloud MSH 1 MSH 2 Multihop Two-way Case 3 (Request-push-last-sync And Reply-last-pull) Push eb:UserMessage Push eb:UserMessage Two-Way / Push-and-Pull Two-Way / Sync eb:PullRequest (Sync response) eb:UserMessage Pulled eb:UserMessage Push eb:UserMessage Push eb:UserMessage Two-Way / Sync Two-Way / Sync (Sync response) eb:UserMessage (Sync response) eb:UserMessage Multihop Two-way Case 4 (first-sync-last-sync)

  26. General Multi-hop MEP Model Sending Enpoint MSH Receiving Enpoint MSH First intermediary MSH Last intermediary MSH eb:UserMessage eb:PullRequest Pull option eb:UserMessage I-Cloud Push option eb:UserMessage

  27. Push Multi-hop MEPs MSH 1 MSH 2 I-Cloud Push eb:UserMessage Multihop One-way (push only) Push eb:UserMessage One-Way / Push One-Way / Push Push eb:UserMessage Push eb:UserMessage Multihop Two-way (push only) Two-Way / Push-and-Push Two-Way / Push-and-Push Push (response) eb:UserMessage Push (response) eb:UserMessage

  28. Mixed Push and Pull Multi-hop MEPs I-Cloud MSH 1 MSH 2 eb:PullRequest Multihop One-way (combining push and pull) Push eb:UserMessage One-Way / Pull One-Way / Push Pulled eb:UserMessage eb:PullRequest Push eb:UserMessage Multihop Two-way (combining push and pull) Pulled eb:UserMessage Two-Way / Push-and-Pull Two-Way / Pull-and-Push eb:PullRequest Push (response) eb:UserMessage Pulled eb:UserMessage Push eb:UserMessage Push eb:UserMessage Multihop Two-way (combining Push, sync and pull) Two-Way / Push-and-Pull Two-Way / Sync eb:PullRequest (Sync response) eb:UserMessage Pulled eb:UserMessage

  29. Multi-hop User Message Replies (for Two-way MEPs) Enpoint MSH A First intermediary MSH Last intermediary MSH Enpoint MSH B I-Cloud eb:UserMessage eb:UserMessage (request in a Two-way MEP) NOTE: may have wsa:ReplyTo that specifies explicitly the URL of MSH A (in the EPR) eb:PullRequest Pull option eb:UserMessage Push option eb:UserMessage Case of Direct Addressing eb:UserMessage (reply) + optional wsa:To (from wsa:ReplyTo), Case of Sync Reply Push option eb:UserMessage (reply) NOTE: over last-hop back-channel eb:UserMessage (reply) eb:UserMessage (reply) Case of Push Reply Pull option eb:UserMessage (reply) eb:PullRequest (mpc) eb:UserMessage (reply)

  30. Multi-hop Signal Messages as Responses Enpoint MSH A First intermediary MSH Last intermediary MSH Enpoint MSH B I-Cloud eb:UserMessage eb:UserMessage NOTE: may have wsa:ReplyTo that either specifies: - Explicitly the URL of MSH A (in the EPR) - The EPR Ref parameters for MSH A (RoutingInput) eb:PullRequest Pull option eb:UserMessage Push option eb:UserMessage Case of Direct Addressing eb:Receipt or eb:Error Message + optional wsa:To (from wsa:ReplyTo), or with URL from the PMode for this MEP) Case of Sync Reply Push option eb:Receipt / eb:Error + eb:routinginfo NOTE: sent over last-hop back-channel eb:Receipt / eb:Error + eb:routinginfo eb:Receipt / eb:Error + eb:routinginfo (from either wsa:ReplyTo, or from PMode) Case of Push Reply Pull option eb:Receipt / eb:Error + eb:routinginfo eb:PullRequest (mpc) eb:Receipt / eb:Error + eb:routinginfo

  31. Response Routing: ebMS Messages (2-way MEPs, Errors, Receipts) Enpoint MSH A “RM bridge” intermediary MSH Last intermediary MSH Enpoint MSH B Submit User msg wsrm:CreateSequence wsrm:CSR #1 User Message A (over RM Seq #1) wsrm:CreateSequence + UM header wsrm:CreateSequence wsrm:Ack #1 User Message B (over RM Seq #1) wsrm:CSR #2 wsrm:CSR #2 + UM header wsrm:Ack #1 User Message A (over RM Seq #2) User Message A (RM Seq #2) wsrm:Ack #2 wsrm:Ack #2 User Message B (over RM Seq #2) PullRequest (Error channel) Pull option Eb:deliveryFailure for UM B

  32. Response Routing: non - ebMS Messages (RM Acks, RM lifecycle messages) Enpoint MSH A “RM bridge” intermediary MSH Last intermediary MSH Enpoint MSH B Submit User msg wsrm:CreateSequence wsrm:CSR #1 User Message A (over RM Seq #1) wsrm:CreateSequence + UM header wsrm:CreateSequence wsrm:Ack #1 User Message B (over RM Seq #1) wsrm:CSR #2 wsrm:CSR #2 + UM header wsrm:Ack #1 User Message A (over RM Seq #2) User Message A (RM Seq #2) wsrm:Ack #2 wsrm:Ack #2 User Message B (over RM Seq #2) PullRequest (Error channel) Pull option Eb:deliveryFailure for UM B

More Related