Download - Interoperability Through Community
![Page 1: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/1.jpg)
Interoperability Through
Community
Apache StonehengeApache Stonehenge
AMQP & Apache Qpid
Kent Brown, David Ingham, Prabath Siriwardena
![Page 2: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/2.jpg)
APACHE STONEHENGE
Kent Brown, Product Manager, Microsoft
![Page 3: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/3.jpg)
![Page 4: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/4.jpg)
WS-ReliableMessaging 1.2 OASIS Standard 5 February 2009
WS-Coordination 1.2 OASIS Standard 5 February 2009
WS-AtomicTransaction 1.2 OASIS Standard 5 February 2009
WS-Security 1.0 / 1.1 OASIS Standard March 2004 /
1 February 2006
WS-SecureConversation 1.4 OASIS Standard 5 February 2009
WS-Trust 1.4 OASIS Standard 5 February 2009
WS-Policy 1.5 W3C Recommendation 4 September 2007
WS-* Core Standards
WS-Policy 1.5 W3C Recommendation 4 September 2007
WS-Addressing 1.0 W3C Recommendation 9 May 2006
SOAP 1.2 W3C Recommendation 24 June 2003*
WSDL 1.1 W3C Note 15 March 2001
SOAP MTOM W3C Recommendation 25 January 2005
![Page 5: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/5.jpg)
WS-* Specification Process
Step 2Broader Participation
Step 1Develop
Step 3Standardization
Step 4Profiling
Step 5Testing
Specification
Published
Feedback and
Interop
Workshops
Revise
spec
Standards
Org
WS-I,
HL7, ACORD,
Devices Profile
WS-I,
Plugfests,
Stonehenge
Increasing Industry Participation
Workshops spec Stonehenge
![Page 6: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/6.jpg)
Project Stonehenge
![Page 7: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/7.jpg)
Stonehenge Goals
• Open, community-driven interoperability testing
• Real-world interoperability scenarios
• Practical interoperability guidance
• The place to go when you are stuck• The place to go when you are stuck
![Page 8: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/8.jpg)
StockTrader
ASP.NET
WCF
Web UI
Services
JSP
Axis 2 J
PHP
Axis 2 C
JSF
MetroSpring Web
http://cwiki.apache.org/STONEHENGE/index.html
WCFServices Axis 2 J Axis 2 C Metro
Data
Spring Web Services
MySQLSQL
Server
![Page 9: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/9.jpg)
Evolution of Stonehenge
• Released M1– Got Microsoft and WSO2 versions cleaned up,
packaged, tested, and documented
• Sun joined
• Spring Source joined• Spring Source joined
• Currently finishing M2– Added claims-based security
– Updating to use latest versions of the specs
![Page 10: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/10.jpg)
Claims-based Security in M2
Online BankWeb
Site
1. Request Web Page 5. Call Web
Service
Bank
STS
2. Redirect to Bank STS
3. Authenticate
Broker
Trust
User
Business
Service
4. Return Token
Order Processing
Service
6. Bank STS Token validated by Broker STS
7. Web service invoked and results returned
Broker STS
![Page 11: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/11.jpg)
DEMO
Prabath Siriwardena, Rampart/WSS4J, WSO2
![Page 12: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/12.jpg)
![Page 13: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/13.jpg)
Stonehenge Future
• Planning M3 – Making Interoperability easier for developers– Lightweight micro-samples
– Targeted How-To documentation
– Automated test harness
– Open test results– Open test results
• Beyond– New “Best Practices” sample app(s)
– REST, AMQP, etc.
• Get Involved: http://cwiki.apache.org/STONEHENGE
![Page 14: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/14.jpg)
AMQP & APACHE QPID
David Ingham, Program Manager, Microsoft
![Page 15: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/15.jpg)
Message-oriented Middleware
• Common patterns
– Message queuing
– Publish/subscribe
– Content-based
routing
• Common usages
– Application
asynchrony
– Integration
– Event distributionrouting
• Advantages
– Loose coupling
– Temporal
decoupling
– Load balancing
– Event distribution
– Event-driven
architecture
– Queued file transfer
![Page 16: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/16.jpg)
MOM Interoperability
• Enterprises typically have a mix of
technology platformsG
– Gbut messaging systems are often targeted to
a single platform, e.g., JMS, MSMQ
• Enterprises typically have a range of
messaging needsG
– Gbut messaging systems often target specific
patterns, e.g., queuing or publish/subscribe
![Page 17: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/17.jpg)
MOM Islands
![Page 18: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/18.jpg)
Bridging the Gap
![Page 19: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/19.jpg)
Technical Challenges
• Connecting the wires
– Proprietary wire-level formats necessitate
application-level bridging
• Mapping the payloads
– Integrating existing messaging systems – Integrating existing messaging systems
typically requires manipulation of the message
payload
• Programming abstraction matching
– Messaging system programming abstractions
leak into message payloads and require
mapping
![Page 20: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/20.jpg)
Under the Covers
![Page 21: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/21.jpg)
Application-level Bridging
![Page 22: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/22.jpg)
Advanced Message Queuing Protocol
• AMQP Working Group set up by JPMorgan in 2006– Goal to make Message Oriented Middleware pervasive
– Make it practical, useful, interoperable
– Bring together users and vendors to solve the problem
• A standardized binary wire-level protocol for MOM– Symmetric – client-to-broker & broker-to-broker
• Scope– Queuing with strong delivery assurances– Queuing with strong delivery assurances
– Event distribution with flexible routing
– Large message capability (gigabytes)
– Global addressing scheme (email-like)
– Meet common requirements of mission-critical systems
• Allows heterogeneous clients to connect at full fidelity without bridging
![Page 23: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/23.jpg)
Standardizing the Wire
![Page 24: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/24.jpg)
Seamless Connectivity
![Page 25: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/25.jpg)
Under The Covers
![Page 26: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/26.jpg)
Under The Covers
![Page 27: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/27.jpg)
Symmetric Protocol
![Page 28: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/28.jpg)
Symmetric Protocol
![Page 29: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/29.jpg)
Symmetric Protocol
![Page 30: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/30.jpg)
Broad Client Support
![Page 31: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/31.jpg)
Apache Qpid• Qpid offers full support for
the AMQP feature set– Supports the latest version
of the protocol (v 0-10)
• Project includes– 2 brokers
• Java & C++
– Client libraries• Java, C++, Python, Ruby, ..
• Key features– Range of messaging
patterns
– High performance
– Transient and durable messaging
– Large message support
– Clustering and failover
– Federation• Java, C++, Python, Ruby, ..
• Active and diverse community of developers & users
• Learn more at http://qpid.apache.org
– Federation
– Transactions
– Security
– Rich queue semantics
– Integrated management
![Page 32: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/32.jpg)
Microsoft and AMQP
• Microsoft is a member of AMQP.org
– Joined in October 2008
– Working to complete the 1-0 version of the spec
• Microsoft is a contributor to Apache Qpid• Microsoft is a contributor to Apache Qpid
– Windows port of C++ broker and client library
– WCF channel
– SQL-based persistence provider
– Packaging
![Page 33: Interoperability Through Community](https://reader035.vdocuments.net/reader035/viewer/2022071602/613d514e736caf36b75be603/html5/thumbnails/33.jpg)
Summary
• Most enterprises have a mix of technology platforms– Dealing with heterogeneity is a critical issue for
enterprise IT
• Apache Stonehenge– Open Web Services interop forum
– Check out http://cwiki.apache.org/STONEHENGE/index.html
• AMQP & Apache Qpid– Promises to make it easier to deploy enterprise
messaging applications in a heterogeneous environment
– Check out http://amqp.org & http://qpid.apache.org