Post on 25-Dec-2015
transcript
The Early Life of The Early Life of WS-ReliableMessagingWS-ReliableMessaging
Where we are, and how we Where we are, and how we got heregot here
Jorgen ThelinJorgen ThelinProgram Manager – WS-* Workshops Program Manager – WS-* Workshops Microsoft CorporationMicrosoft Corporation
22
Summary of RM Workshop Summary of RM Workshop HistoryHistory
• 11 Feedback Workshop Feedback Workshop• 33 Interop Workshops Interop Workshops• 14 14 Workshop ParticipantsWorkshop Participants
– Apache, BEA, Blue Titan, Fujitsu, IBM, Iona, Microsoft, Apache, BEA, Blue Titan, Fujitsu, IBM, Iona, Microsoft, NEC, RogueWave, SAP, SeeBeyond, Sonic, Systinet, NEC, RogueWave, SAP, SeeBeyond, Sonic, Systinet, TIBCOTIBCO
• 99 Workshop Implementations Workshop Implementations– Apache Axis, BEA, Blue Titan, IBM, Microsoft, SAP, Sonic, Apache Axis, BEA, Blue Titan, IBM, Microsoft, SAP, Sonic,
Systinet, TIBCOSystinet, TIBCO• 77 Main Interop Scenarios (plus variants) Main Interop Scenarios (plus variants)• At least At least 77 Currently Shipping Products (Beta+) Currently Shipping Products (Beta+)
– Apache Axis, BEA, Blue Titan, Cape Clear, IBM, Microsoft, Apache Axis, BEA, Blue Titan, Cape Clear, IBM, Microsoft, SystinetSystinet
33
WS-RM – Birth and Early WS-RM – Birth and Early ChildhoodChildhood
• July 2003 - Feedback WorkshopJuly 2003 - Feedback Workshop– 12 Participants:12 Participants:
• BEA, Blue Titan, Fujitsu, IBM, Iona, Microsoft, NEC, SAP, BEA, Blue Titan, Fujitsu, IBM, Iona, Microsoft, NEC, SAP, SeeBeyond, Sonic, TIBCOSeeBeyond, Sonic, TIBCO
• Presentation TopicsPresentation Topics– RM Scenarios RM Scenarios – RM Protocol Overview and Walkthrough RM Protocol Overview and Walkthrough – RM Scalability and Durability RM Scalability and Durability – RM and Security Demo RM and Security Demo – WS-ReliableMessaging Scalability and DurabilityWS-ReliableMessaging Scalability and Durability
44
WS-RM – Pre-TeenWS-RM – Pre-Teen
• Oct 2003 - First Interop WorkshopOct 2003 - First Interop Workshop– 7 Implementations:7 Implementations:
• BEA, Blue Titan, IBM, Microsoft, Sonic, Systinet, TIBCOBEA, Blue Titan, IBM, Microsoft, Sonic, Systinet, TIBCO
• Interop Scenarios:Interop Scenarios:– Reliable One-way Ping without FailureReliable One-way Ping without Failure
• Variations: Async + Synchronous AcksVariations: Async + Synchronous Acks
– Reliable One-way Ping with Communication Reliable One-way Ping with Communication FailureFailure
55
Scenario #1 - Reliable One-Scenario #1 - Reliable One-way Ping without Failureway Ping without Failure
• Basic form of Basic form of reliable message reliable message exchange in the exchange in the normal casenormal case
• Each message is Each message is independentindependent
• Variations: Variations: – number and number and
timing of Acks timing of Acks sentsent
– Synchro vs Synchro vs async acksasync acks
SENDER RECEIVER
Msg 1
Ack 1
Msg 2
Ack 2
Msg 3
Ack 3
Scenario #1 - Reliable One-way Ping without Failure
66
Scenario #2 - Reliable One-Scenario #2 - Reliable One-way Ping with Failureway Ping with Failure
• Tests a reliable Tests a reliable message exchange in message exchange in the presence of a the presence of a simple failure model simple failure model involving involving communication communication failuresfailures
• Each message is Each message is independentindependent
• Variations: Variations: – number and number and
timing of Acks timing of Acks sent sent
– Synchro vs async Synchro vs async acksacks
– Time of failureTime of failure
SENDER RECEIVER
Msg 1
Ack 1
Msg 2
Ack 2
Msg 3
Ack 3
Scenario #2 - Reliable One-way Ping with Failure
Msg 1
77
WS-RM – TeenageWS-RM – Teenage
• May 2004 – Second Interop WorkshopMay 2004 – Second Interop Workshop– 4 Implementations:4 Implementations:
• BEA, IBM, Microsoft, Apache Axis - Sandesha (Virtusa / Lanka BEA, IBM, Microsoft, Apache Axis - Sandesha (Virtusa / Lanka Software Foundation)Software Foundation)
• Interop Scenarios:Interop Scenarios:– Reliable One-way Ping Without Failure (Baseline regression Reliable One-way Ping Without Failure (Baseline regression
test)test)– Reliable One-way Ping With Failure (Baseline regression test)Reliable One-way Ping With Failure (Baseline regression test)– Resource ReclamationResource Reclamation
• Variations: Async + Synchronous AcksVariations: Async + Synchronous Acks– Request/ResponseRequest/Response
• Variations: Async + Synchronous AcksVariations: Async + Synchronous Acks– Request/Response coupled with Resource ReclamationRequest/Response coupled with Resource Reclamation– AckRequestAckRequest
88
Scenario #3 - Resource Scenario #3 - Resource ReclamationReclamation
• Reliable Reliable message message exchange exchange with explicit with explicit sequence sequence creation / creation / terminationtermination
• Variations: Variations: – number number
and and timing of timing of Acks sentAcks sent
– Synchro Synchro vs async vs async acksacks
SENDER RECEIVER
Scenario #3 - Resource Reclamation
Create Sequence Response
Create Sequence
Terminate Sequence
Terminate Sequence Response
Ack 1
Msg 1
Msg 3
Ack 3
Ack 2
Msg 2
99
Scenario #4 - Scenario #4 - Request/ResponseRequest/Response
• Pairs of reliable Pairs of reliable request and request and response response messages messages
• Tests Tests InOrderExactlyOnInOrderExactlyOnce delivery ce delivery assurance assurance
• Variations: Variations: – Synchro vs Synchro vs
async acksasync acksCLIENT SERVER
Scenario #4 – Request / Response
Ack Msg #1
Msg #1
Ack Resp #1
Resp #1
Ack Msg #2
Msg #2
Ack Resp #2
Resp #2
Ack Msg #3
Msg #3
Ack Resp #3
Resp #3
1010
Scenario #5 - Scenario #5 - Request/Response with Request/Response with Resource ReclamationResource Reclamation• Reliable request Reliable request
/ response / response message message exchange with exchange with explicit explicit sequence sequence creation / creation / terminationtermination
• AsyncAsync acks acks SENDER RECEIVER
Scenario #5 – Request/Response with Resource Reclamation
Create Sequence 1
Terminate Sequence 1
Create Sequence 2
Msg
Resp
Terminate Sequence 2
Msg
Resp
NOTE: Acknowledgements and Sequence Responses omitted for brevity
1111
Scenario #6 - AckRequestScenario #6 - AckRequest
• Basic form of Basic form of reliable reliable message message exchange in the exchange in the normal casenormal case
• Each message Each message is independentis independent
• Variations: Variations: – number and number and
timing of Ackstiming of Acks– Send Send
AckRequest on AckRequest on each Ping each Ping messagemessage
SENDER RECEIVER
Msg 1
Msg N
Ack
Scenario #6 - AckRequest
AckRequest
Msg N
Msg M
Ack
AckRequest
1212
WS-RM – Young AdultWS-RM – Young Adult
• April 2005 - RM + Security Composition April 2005 - RM + Security Composition WorkshopWorkshop– 4 Implementations:4 Implementations:
• IBM, Microsoft, SAP, SystinetIBM, Microsoft, SAP, Systinet
• Interop Scenarios:Interop Scenarios:– Un-secure RM One-Way Ping (Baseline Un-secure RM One-Way Ping (Baseline
regression test)regression test)– Secure RM One-Way PingSecure RM One-Way Ping
1313
Scenario #7 Scenario #7 – Secure RM– Secure RM
Signed and encrypted using SCT
CLIENT
SERVER
Scenario #7 – Secure RM
Create Sequence (SCT)
Terminate Sequence
Msg NMsg N
NOTE: RM Acknowledgements, RM Sequence Responses and SCT Cancel messages omitted for brevity
SECURITY TOKEN
SERVICE(STS)
Request Security Token Response
(RSTR)
Request Security Token (RST)
Security Context Token(SCT)
Security Context Token(SCT)
1414
WS-RM – Summary of Spec WS-RM – Summary of Spec Refinements MadeRefinements Made
• NACKNACK
• Resource reclamation points Resource reclamation points
• Extensibility pointsExtensibility points
• Absolute URI (vs. relative)Absolute URI (vs. relative)
• Sequence expiration Sequence expiration
• Last Message and ACK usageLast Message and ACK usage• Clarified SOAP mustUnderstand usageClarified SOAP mustUnderstand usage
• Clarified FAULT handlingClarified FAULT handling
• RM Policy assertionsRM Policy assertions
1515
WS-RM – Workshop LinksWS-RM – Workshop Links• WS-RM Feedback WorkshopWS-RM Feedback Workshop
– Meeting summary:Meeting summary:• http://msdn.microsoft.com/webservices/community/workshops/rmspecwsjul2003.aspxhttp://msdn.microsoft.com/webservices/community/workshops/rmspecwsjul2003.aspx• http://www-106.ibm.com/developerworks/offers/WS-Specworkshops/ws-rm1.htmlhttp://www-106.ibm.com/developerworks/offers/WS-Specworkshops/ws-rm1.html
– Presentation DecksPresentation Decks• http://download.microsoft.com/download/6/d/4/6d48120a-878e-4f0d-af20-3e900b004c3d/http://download.microsoft.com/download/6/d/4/6d48120a-878e-4f0d-af20-3e900b004c3d/
presentations-july2003-ws-wkshp.zippresentations-july2003-ws-wkshp.zip• ftp://www6.software.ibm.com/software/developer/library/WS-specworkshopspwrm1.zipftp://www6.software.ibm.com/software/developer/library/WS-specworkshopspwrm1.zip
• WS-RM Interop Workshop #1WS-RM Interop Workshop #1– Meeting SummaryMeeting Summary
• http://msdn.microsoft.com/webservices/community/workshops/rminteropwsOct2003.aspxhttp://msdn.microsoft.com/webservices/community/workshops/rminteropwsOct2003.aspx• http://www-106.ibm.com/developerworks/offers/WS-Specworkshops/ws-pwrmfest1.htmlhttp://www-106.ibm.com/developerworks/offers/WS-Specworkshops/ws-pwrmfest1.html
– Interop Scenarios:Interop Scenarios:• http://groups.yahoo.com/group/WS-RM-Workshops/files/Scenarios.dochttp://groups.yahoo.com/group/WS-RM-Workshops/files/Scenarios.doc
• WS-RM Interop Workshop #2WS-RM Interop Workshop #2– Meeting Summary:Meeting Summary:
• http://msdn.microsoft.com/webservices/community/workshops/rminterop052004.aspxhttp://msdn.microsoft.com/webservices/community/workshops/rminterop052004.aspx• http://www-106.ibm.com/developerworks/offers/WS-Specworkshops/ws-http://www-106.ibm.com/developerworks/offers/WS-Specworkshops/ws-
rm200405post.htmlrm200405post.html– Interop Scenarios:Interop Scenarios:
• http://groups.yahoo.com/group/WS-RM-Workshops/files/Interop2-Scenarios.dochttp://groups.yahoo.com/group/WS-RM-Workshops/files/Interop2-Scenarios.doc
• WS-RM Interop Workshop #3WS-RM Interop Workshop #3– Meeting SummaryMeeting Summary
• http://msdn.microsoft.com/webservices/community/workshops/composability042005.aspxhttp://msdn.microsoft.com/webservices/community/workshops/composability042005.aspx• http://www-106.ibm.com/developerworks/offers/WS-Specworkshops/ws-http://www-106.ibm.com/developerworks/offers/WS-Specworkshops/ws-
rmsecon200504post.htmlrmsecon200504post.html– Interop Scenarios:Interop Scenarios:
• http://groups.yahoo.com/group/WS-RM-Workshops/files/RM%2BSC%26T%20Compositionhttp://groups.yahoo.com/group/WS-RM-Workshops/files/RM%2BSC%26T%20Composition%20Scenario-2005-02-25.doc%20Scenario-2005-02-25.doc
1616
WS-RM - Ongoing Interop WS-RM - Ongoing Interop TestingTesting
• Public interop endpoints available for on-going testingPublic interop endpoints available for on-going testing– MicrosoftMicrosoft
• Secure RM:Secure RM:http://131.107.153.195/SecureReliableMessaging/SecureReliableOneWayDuhttp://131.107.153.195/SecureReliableMessaging/SecureReliableOneWayDual.svcal.svc
• Unsecured RM - One-Way: Unsecured RM - One-Way: http://131.107.153.195/SecureReliableMessaging/ReliableOneWayDual.svchttp://131.107.153.195/SecureReliableMessaging/ReliableOneWayDual.svc
• Unsecured RM - Request-Reply: Unsecured RM - Request-Reply: http://131.107.153.195/SecureReliableMessaging/ReliableRequestReplyDual.http://131.107.153.195/SecureReliableMessaging/ReliableRequestReplyDual.svcsvc
– IBMIBM• Secure and Unsecured RM:Secure and Unsecured RM:
http://wsi.alphaworks.ibm.com:8080/wsrmhttp://wsi.alphaworks.ibm.com:8080/wsrm– SystinetSystinet
• Secure RM:Secure RM:http://soap.systinet.net/ws/wssc/Servicehttp://soap.systinet.net/ws/wssc/Service
• Unsecured RM: Unsecured RM: http://http://soap.systinet.net/interop/wsrm.htmlsoap.systinet.net/interop/wsrm.html
1717
WS-RM – Ready for Adult LifeWS-RM – Ready for Adult Life
• WS-RM is a healthy and mature spec with WS-RM is a healthy and mature spec with most of the “growing pains” now pastmost of the “growing pains” now past– Implementability has been verifiedImplementability has been verified– Interop has been verifiedInterop has been verified– Composability with other WS-* specs has been Composability with other WS-* specs has been
verifiedverified– Spec has been refined as a result of feedback Spec has been refined as a result of feedback
and experience and experience
1818
And Finally….And Finally….
• Thank You to all the participants in Thank You to all the participants in the the WS-ReliableMessaging Workshops WS-ReliableMessaging Workshops who helped shape the WS-RM Spec who helped shape the WS-RM Spec into what it is todayinto what it is today
BackupBackup
2020
WS-* Spec Development WS-* Spec Development ProcessProcess
Step 2Broader Participation
Step 1Develop
Process achieved multiple goals• Quality of engineering• Time to market• Breadth of industry support
Step 3Standardization
Step 4Profiling
Increasing Industry ParticipationIncreasing Industry Participation
Specification Specification PublishedPublished
Feedback and Feedback and Interop Interop
WorkshopsWorkshopsRevise specRevise spec Standards OrgStandards Org WS-IWS-I
Idea
WEAREHER
E