32
ebMS3 Part 2 Figures Part 2

ebMS3 Part 2 Figures

  • Upload
    chanel

  • View
    44

  • Download
    0

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

Page 1: ebMS3 Part 2 Figures

ebMS3 Part 2 Figures

Part 2

Page 2: ebMS3 Part 2 Figures

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)

Page 3: ebMS3 Part 2 Figures

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

Page 4: ebMS3 Part 2 Figures

MSHSender/receiver

MSHSender/receiver

MSHSender/receiver

MSHSender/receiver

Non-addressableendpoint

Pull +send

The Interconnected Hubs model

MSHIntermediary

MSHIntermediary

MSHIntermediary

MSHIntermediary

MSHSender

MSHReceiver

I-Cloud

Page 5: ebMS3 Part 2 Figures

MSHSender/receiver

MSHSender/receiver

MSHSender/receiver

MSHSender/receiver

Non-addressableendpoint

Pull

The Hub-and-spoke model

MSHIntermediary

MSHSender

MSHReceiver

Page 6: ebMS3 Part 2 Figures

MSHSender/receiver

MSHSender/receiver

Non-addressableEndpoint MSH

PullMSH

gatewayIntermediary

MSHgateway

Intermediary

Push

Push

Intermediary-cloud

MSHRouter

Intermediary

MSHRouter

Intermediary

PushaddressableEndpointMSH

Page 7: ebMS3 Part 2 Figures

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

Page 8: ebMS3 Part 2 Figures

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

Page 9: ebMS3 Part 2 Figures

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)

Page 10: ebMS3 Part 2 Figures

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)

Page 11: ebMS3 Part 2 Figures

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

Page 12: ebMS3 Part 2 Figures

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

Page 13: ebMS3 Part 2 Figures

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.

Page 14: ebMS3 Part 2 Figures

MSHSender/receiver

MSHSender/receiver

Non-addressableEndpoint MSH

PullMSH

[gateway]Intermediary

Push

Push

Intermediary-cloud

PushaddressableEndpointMSH

MSH[gateway]

Intermediary

Page 15: ebMS3 Part 2 Figures

EndpointMSH

RM bridgeMSH

Intermediary

Intermediary-cloud

MSHIntermediary

EndpointMSH

RM sequence #1 RM sequence #2

Page 16: ebMS3 Part 2 Figures

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

Page 17: ebMS3 Part 2 Figures

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)

Page 18: ebMS3 Part 2 Figures

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

Page 19: ebMS3 Part 2 Figures

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

Page 20: ebMS3 Part 2 Figures

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

Page 21: ebMS3 Part 2 Figures

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

Page 22: ebMS3 Part 2 Figures

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)

Page 23: ebMS3 Part 2 Figures

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

Page 24: ebMS3 Part 2 Figures

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

Page 25: ebMS3 Part 2 Figures

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

Page 26: ebMS3 Part 2 Figures

SendingEnpointMSH

Firstintermediary

MSH

Lastintermediary

MSH

General Multi-hop MEP Model

eb:UserMessage eb:PullRequest

Pushoption

Pulloption

eb:UserMessage

eb:UserMessage

I-Cloud

ReceivingEnpointMSH

Page 27: ebMS3 Part 2 Figures

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)

Page 28: ebMS3 Part 2 Figures

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

Page 29: ebMS3 Part 2 Figures

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)

Page 30: ebMS3 Part 2 Figures

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

Page 31: ebMS3 Part 2 Figures

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

Page 32: ebMS3 Part 2 Figures

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