Upload
chanel
View
44
Download
0
Tags:
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
ebMS3 Part 2 Figures
Part 2
MSHA
MSHintermediary MSH
B
1-way from A to B•1-way/push: A-Int•1-way/push: Int-B• Int only forwards the message M1
HTTP 200
M1 M1
1-way from A to B, end-to-end reliable•1-way/push: A-Int•1-way/push: Int-B• Int forwards the asynchronous RM Ack
HTTP 200
M1 M1
HTTP 200
RM Ack1RM Ack1
(MessageID-preserving Forward)
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
M1 M1
HTTP 500 / Fault
HTTP 500 / Fault
PUSH Scenarios
(forward M1,wait for the status code / Faultand forward it)
(status codes / Faults are only for each leg)
(forward the RM Ack)
MSHA
MSHintermediary MSH
B
1-way from B to A, pulled Two “synchronized pulls”•1-way/pull: A-Int, synchronized with:•1-way/pull: Int-B
PullRequest
(MessageID-preserving Forward)
PULL Scenarios
M1M1
PullRequest(forward the PullRequest,wait for the pulled msge)
1-way from B to A, pulled / decoupledTwo 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
M1
PullRequest(PullRequest is NOT forwarded)
PullRequest
Whatever message, here M1
(M1 posted in the Intermediary MPC)
Reliable variant:•Replace “M1” by “M1 + RM Ack”•Optional RM Ack for M1 is pushed from A to B
Reliable variant:• No end-to-end reliability, but for each leg• Intermediary must have RM capability
MSHSender/receiver
MSHSender/receiver
MSHSender/receiver
MSHSender/receiver
Non-addressableendpoint
Pull +send
The Interconnected Hubs model
MSHIntermediary
MSHIntermediary
MSHIntermediary
MSHIntermediary
MSHSender
MSHReceiver
I-Cloud
MSHSender/receiver
MSHSender/receiver
MSHSender/receiver
MSHSender/receiver
Non-addressableendpoint
Pull
The Hub-and-spoke model
MSHIntermediary
MSHSender
MSHReceiver
MSHSender/receiver
MSHSender/receiver
Non-addressableEndpoint MSH
PullMSH
gatewayIntermediary
MSHgateway
Intermediary
Push
Push
Intermediary-cloud
MSHRouter
Intermediary
MSHRouter
Intermediary
PushaddressableEndpointMSH
MSHSender/receiver
MSHSender/receiver
Non-addressableendpoint
PullMSH
gatewayIntermediary
MSHgateway
IntermediaryPush
Push
Intermediary-cloud
MSHIntermediary
MSHSender/receiverMSH
Sender/receiverMSH
Sender/receiver
MSHSender/receiver
MSHSender/receiver
MSHSender/receiver
-Message profile(toParty, Service,Action….)-MEP Control Info o MPC id o MEP (Push / Pull) o security info (e.g. for Pull authorization)
Configuration of Intermediaries
-Message profile(toParty, Service,Action….)- MPC id- MEP (Push / Pull)- level of RM- level of Security
Set of partial PModes forCommunication with endpoint MSHs
Routingfunction
Routingfunction
Routingfunction
Set of “end-to-end”PModes foreach endpoint MSH
-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 partial PModes forCommunication with endpoint MSHs
-Message profile(toParty, Service,Action….)- MPC id- MEP (Push / Pull)- level of RM- level of Security
Set of “end-to-end”PModes foreach endpoint MSH
EnpointMSH 1
HTTP 200
“Gateway”intermediary
MSH
“Gateway”intermediary
MSH
EnpointMSH 1Submit
msg
RM CreateSeq
“Router”
MSH intermediaries
RM CreateSeq+ ebms hdr
RM CreateSeq
RM CSR
RM CSR+ ebms hdr
RM CSR+ ebms hdr
RM CSR
RM CSR
PullRequest
Pushoption
Pulloption
End-to-end RM Sequence establishment: “demand-driven” option
PullRequest
RM CreateSeq
RM CSR
Push option
Pull option
EnpointMSH A
HTTP 200
“Gateway”intermediary
MSH 1
“Gateway”intermediary
MSH 2
EnpointMSH B
SubmitUsermsg
User Message
“Router”
MSH intermediaries
User Message
User Message
Signal (Receipt or Error)
Signal +“dummy”eb headerelement
PullRequest
Pushoption
Pulloption
Asynchronous Routing of ebMS Signals (Errors, Receipts), Option 1
PullRequest
User Message
Signal (Receipt or Error)
Push option
Pull option
Signal +“dummy”eb headerelement
Signal (Receipt or Error)After removal of routing eb header
Signal (Receipt or Error)After removal of routing eb header
I-CloudRoutingFunctions:
1. ebMS header data for User msgs
2. ebMS header data for Signal msgs (reverse)
EnpointMSH A
HTTP 200
“Gateway”intermediary
MSH 1
“Gateway”intermediary
MSH 2
EnpointMSH BSubmit
Usermsg User Message
User Messagewith wsa headers
User Message
Signal (Receipt or Error)
PullRequest
Pushoption
Pulloption
Asynchronous Routing of ebMS Signals (Errors, Receipts), Option 2
PullRequest
User Message
Signal (Receipt or Error)
Push option
Pull option
Signal (Receipt or Error)After removal of wsa headers
Signal (Receipt or Error)After removal of wsa headers
Gateway inserts a wsa:ReplyTo header, and:endpointmsh” ref. parameter
User msg :Gateway removes Wsa headers.
Signal msg :Gateway addsWsa:To header.
Signal msg :Gateway removesWsa headers I-Cloud
RoutingFunctions:
1. ebMS header data
2. Intermediary URL (wsa:To)
EnpointMSH A
HTTP 200
Hubintermediary
MSH EnpointMSH B
SubmitUsermsg
User Message M1
User Message M1
Signal (Receipt or Error)
PullRequest
Pushoption
Pulloption
Asynchronous Routing of ebMS Signals by a Hub
PullRequest
User Message M1
Signal (Receipt or Error)
Push option
Pull optionSignal (Receipt or Error)
Signal (Receipt or Error)
Hub determines the routing and communication parameters for M1 (and related Signals) based on PMode data
EnpointMSH A
HTTP 200
Hubintermediary
MSH EnpointMSH B
SubmitUsermsg
User Message M1
User Message M1
Signal (Receipt or Error)
PullRequest
Pushoption
Pulloption
Asynchronous Routing of Synchronous ebMS Signals & Responses
PullRequest
User Message M1
Signal (Receipt or Error)
Push option
Pull optionSignal (Receipt or Error)
Signal (Receipt or Error)
Hub has routing capability for the Request user message, Based on eb header
EnpointMSH A
HTTP 200
Hubintermediary
MSH EnpointMSH B
SubmitUsermsg
User Message M1
User Message M1
Signal message (Receipt or Error) or User message
PullRequest
Pushoption
Pulloption
Asynchronous Routing of ebMS Signals & ebMS User Responses
• Hub has routing capability for the Request UM (user message M1) based on eb header.• Hub keeps association UM@pmode eb:MessageId.
Signal message (Receipt or Error) or User message
Signal message (Receipt or Error) or User message
PullRequest
User Message M1
Pull option
Signal message (Receipt or Error) or User message
Pushoption
• Hub relates Response message to previous eb:MessageId (M1) based on RefToMessageId.
• Hub knows association UM@pmode MSH A URL or MPC in case of pulling.
MSHSender/receiver
MSHSender/receiver
Non-addressableEndpoint MSH
PullMSH
[gateway]Intermediary
Push
Push
Intermediary-cloud
PushaddressableEndpointMSH
MSH[gateway]
Intermediary
EndpointMSH
RM bridgeMSH
Intermediary
Intermediary-cloud
MSHIntermediary
EndpointMSH
RM sequence #1 RM sequence #2
EnpointMSH A “RM bridge”
intermediaryMSH
Lastintermediary
MSH
EnpointMSH BSubmit
Usermsg
User Message A (over RM Seq #1)
wsrm:CreateSequence
wsrm:CSR #2
PullRequest (Error channel)Pulloption
Two-tiered Reliable Multihop
Eb:deliveryFailure for UM B
wsrm:CreateSequence + UM header
wsrm:CSR #2 + UM header
User Message A (over RM Seq #2)
wsrm:CreateSequence
wsrm:CSR #1
User Message A (RM Seq #2)
wsrm:Ack #2
wsrm:Ack #1
wsrm:Ack #2
User Message B (over RM Seq #2)
User Message B (over RM Seq #1)
wsrm:Ack #1
EnpointMSH A
Firstintermediary
MSH
Lastintermediary
MSH EnpointMSH B
wsrm:CS+ wsa:Ref Par
wsrm:CSR+ wsa: Ref Params (from CS AcksTo)
NOTE: sent over back-channel in case of Pushed CS
Pulloption
Multi-hop RM Sequence Establishment
wsrm:CreateSequence + wsa:Ref Par
wsrm:CreateSequence
+ wsa Ref “routing” Parameters
wsrm:CSR+ wsa:To (from CS AcksTo)
wsrm:CSR+ wsa:RefPar (from CS AcksTo)
wsrm:CSR+ wsa:RefPar (from CS AcksTo)
Pushoption
wsrm:CSR+ wsa:RefPar (from CS AcksTo)
wsrm:CS+ wsa:Ref Par
+ EBMS:0006 warning
Eb:PullRequest (mpc)
Pushoption
Pulloption
wsrm:CS Ref Params include MPC.Last Intm. assigns the wsrm:CS to a Pull channel for this MPC.
Eb:PullRequest (mpc)
I-Cloud
Case ofDirectAddressing(wsa:To)
EnpointMSH A
Firstintermediary
MSH
Lastintermediary
MSH EnpointMSH B
wsrm:SequenceAck+ wsa:To (from CS AcksTo)
NOTE: sent over back-channel in case of Pushed User message
Pulloption
Multi-hop RM Acknowledgments
eb:UserMessage (over RM Seq)
wsrm:SequenceAck+ wsa:To (from CS AcksTo)
wsrm:SequenceAck+ eb:routinginfo (from CS AcksTo)
wsrm:SequenceAck+ eb:routinginfo
Pushoption
wsrm:SequenceAck+ eb:routinginfo
eb:PullRequest+ wsrm:SequenceAckt
Pushoption
Pulloption
eb:PullRequest (mpc)
I-Cloud
Case ofDirectAddressing(wsa:To)
eb:UserMessage
eb:UserMessage
eb:UserMessage
EnpointMSH A
Firstintermediary
MSH
Lastintermediary
MSH EnpointMSH B
Multi-hop User Messages
eb:UserMessage eb:PullRequest
Pushoption
Pulloption
eb:UserMessage
NOTE: routing based on eb:UserMessage content
eb:UserMessage
eb:UserMessage
I-Cloud
Path originMSH
Firstintermediary
MSH
Multi-hop control model
eb:UserMessage
I-Cloud
Path destination
MSH
eb:UserMessage
Lastintermediary
MSH
Transfercontrolledby PMode
Transfercontrolledby PMode
Transfer controlledby Routing Function
Edge hop(1st hop)
Edge hop(last hop)I-Cloud hops
MSH 1
One-Way Multi-hop MEPs : Sender-pushing Edge Bindings
Pusheb:UserMessage
I-Cloud
MSH 2
Pusheb:UserMessageMultihop One-way
Case 1(first-and-last-push)
One-Way /Push
One-Way /Push
Pusheb:UserMessage
Pulled eb:UserMessage
eb:PullRequest
Multihop One-wayCase 2(first-push-last-pull)
One-Way / Push One-Way / Pull
MSH 1
I-Cloud
MSH 2
Pulled eb:UserMessage
eb:PullRequest
Multihop One-wayCase 3a(first-and-last-pull)
One-Way / Pull
Pulled eb:UserMessage
eb:PullRequest
One-Way / Pull
Pulled eb:UserMessage
eb:PullRequest
One-Way / Pull
Pulled eb:UserMessage
eb:PullRequest
One-Way / Pull
Routed PullRequest
pushpull pull
One-Way Multi-hop MEPs : Sender-pulling Edge Bindings (1)
Routing possibly involving Pushes and Pulls
Multihop One-wayCase 3b(first-and-last-pull)
MSH 1
I-Cloud
MSH 2
MultihopOne-wayCase 4(first-pull-last-push)
Pulled eb:UserMessage
eb:PullRequest
One-Way / Pull
Routing possibly involving Pushes and Pulls
pushpull pull
One-Way Multi-hop MEPs : Sender-pulling Edge Bindings (2)
Pusheb:UserMessage
One-Way /Push
MSH 1 I-Cloud MSH 2
Push (response)eb:UserMessage
Pusheb:UserMessage
eb:PullRequest
Pulled eb:UserMessage
eb:PullRequest
Pulled eb:UserMessage
Two-Way / Push-and-Pull
Multihop Two-wayCase 2(Request-push-last-pullAndReply-push-last-pull)
Two-Way / Pull-and-Push
Pusheb:UserMessage
Pusheb:UserMessage
Push (response)eb:UserMessage
Push (response)eb:UserMessage
Two-Way /Push-and-Push Two-Way /
Push-and-Push
Multihop Two-wayCase 1(Request-push-last-pushAndReply-push-last-push)
Two-Way Multi-hop MEPs : Asynchronous Edge Bindings
MSH 1 I-Cloud MSH 2
Multihop Two-wayCase 4(first-sync-last-sync)
(Sync response)eb:UserMessage
Pusheb:UserMessage
eb:PullRequest
Pulled eb:UserMessage
Pusheb:UserMessage
Multihop Two-wayCase 3(Request-push-last-syncAnd Reply-last-pull)
Two-Way / Push-and-Pull Two-Way / Sync
(Sync response)eb:UserMessage
Pusheb:UserMessage
Two-Way / Sync
(Sync response)eb:UserMessage
Pusheb:UserMessage
Two-Way / Sync
Two-Way Multi-hop MEPs : Synchronous Edge Bindings
SendingEnpointMSH
Firstintermediary
MSH
Lastintermediary
MSH
General Multi-hop MEP Model
eb:UserMessage eb:PullRequest
Pushoption
Pulloption
eb:UserMessage
eb:UserMessage
I-Cloud
ReceivingEnpointMSH
MSH 1
Push Multi-hop MEPs
Pusheb:UserMessage
I-Cloud
MSH 2
Pusheb:UserMessage
Pusheb:UserMessage Push
eb:UserMessage
Push (response)eb:UserMessage
Push (response)eb:UserMessage
MultihopOne-way(push only)
One-Way /Push
One-Way /Push
Two-Way /Push-and-Push Two-Way /
Push-and-Push
MultihopTwo-way(push only)
MSH 1
Mixed Push and Pull Multi-hop MEPs
Pusheb:UserMessage
I-Cloud MSH 2
Pulled eb:UserMessage
Push (response)eb:UserMessage
eb:PullRequest
Pusheb:UserMessage
eb:PullRequest
Pulled eb:UserMessage
eb:PullRequest
Pulled eb:UserMessage
(Sync response)eb:UserMessage
Pusheb:UserMessage
eb:PullRequest
Pulled eb:UserMessage
Pusheb:UserMessage
MultihopOne-way(combiningpush and pull)
One-Way / Push One-Way / Pull
Two-Way / Push-and-Pull
MultihopTwo-way(combiningpush and pull)
Two-Way / Pull-and-Push
MultihopTwo-way(combiningPush, sync andpull)
Two-Way / Push-and-Pull Two-Way / Sync
EnpointMSH A
Firstintermediary
MSH
Lastintermediary
MSH EnpointMSH B
eb:UserMessage (reply)
NOTE: over last-hop back-channel
Multi-hop User Message Replies (for Two-way MEPs)
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:UserMessage (reply)+ optional wsa:To (from wsa:ReplyTo),
eb:UserMessage (reply)
eb:UserMessage (reply)
eb:UserMessage (reply)
eb:PullRequest
Pushoption
Pulloption
eb:PullRequest (mpc)
I-Cloud
Case ofDirectAddressing
eb:UserMessage
eb:UserMessage
eb:UserMessage
Case ofSyncReply
Push option
Pull option Case ofPushReply
eb:UserMessage (reply)
EnpointMSH A
Firstintermediary
MSH
Lastintermediary
MSH EnpointMSH B
eb:Receipt / eb:Error+ eb:routinginfo
NOTE: sent over last-hop back-channel
Multi-hop Signal Messages as Responses
eb:UserMessageNOTE: 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:Receipt or eb:Error Message+ optional wsa:To (from wsa:ReplyTo), or with URL from the PMode for this MEP)
eb:Receipt / eb:Error+ eb:routinginfo (from either wsa:ReplyTo, or from PMode)
eb:Receipt / eb:Error + eb:routinginfo
eb:Receipt / eb:Error + eb:routinginfo
eb:PullRequest
Pushoption
Pulloption
eb:PullRequest (mpc)
I-Cloud
Case ofDirectAddressing
eb:UserMessage
eb:UserMessage
Case ofSyncReply
Push option
Pull option Case ofPushReply
eb:Receipt / eb:Error+ eb:routinginfo
eb:UserMessage
EnpointMSH A “RM bridge”
intermediaryMSH
Lastintermediary
MSH
EnpointMSH BSubmit
Usermsg
User Message A (over RM Seq #1)
wsrm:CreateSequence
wsrm:CSR #2
PullRequest (Error channel)Pulloption
Response Routing: ebMS Messages(2-way MEPs, Errors, Receipts)
Eb:deliveryFailure for UM B
wsrm:CreateSequence + UM header
wsrm:CSR #2 + UM header
User Message A (over RM Seq #2)
wsrm:CreateSequence
wsrm:CSR #1
User Message A (RM Seq #2)
wsrm:Ack #2
wsrm:Ack #1
wsrm:Ack #2
User Message B (over RM Seq #2)
User Message B (over RM Seq #1)
wsrm:Ack #1
EnpointMSH A “RM bridge”
intermediaryMSH
Lastintermediary
MSH
EnpointMSH BSubmit
Usermsg
User Message A (over RM Seq #1)
wsrm:CreateSequence
wsrm:CSR #2
PullRequest (Error channel)Pulloption
Response Routing: non - ebMS Messages(RM Acks, RM lifecycle messages)
Eb:deliveryFailure for UM B
wsrm:CreateSequence + UM header
wsrm:CSR #2 + UM header
User Message A (over RM Seq #2)
wsrm:CreateSequence
wsrm:CSR #1
User Message A (RM Seq #2)
wsrm:Ack #2
wsrm:Ack #1
wsrm:Ack #2
User Message B (over RM Seq #2)
User Message B (over RM Seq #1)
wsrm:Ack #1