Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 73% of Microsoft’s enterprise customers (meaning 5000 or more desktop computers in the company) are internally deploying both .NET and Java custom applications.
  • IBM wrote a WebSphere sample application called “Trade 6.1.” It is a three-tier app and exposes its middle tier through basic Web Services interfaces.Microsoft then wrote a corresponding .Net sample application called “StockTrader.” , and WS02 subsequently developed a StockTrader application which we jointly demo’d at the last workstream meeting:An application with separate components running WSF/PHP, part Axis2/Java, part .NET WCF. Communication happens via Web Services. Demonstrate interoperability by testing each of these frameworks against each other.The interface between the User Interface and Business Logic tier is a set of identical Web Services operations.One can mix and match components from .Net and WebSphere, with the .Net UI invoking the WebSphere Business Logic service or visa versa.Using BizTalk adapters, .Net applications can access DB2 data amdWebSphere Applications can access SQL Server data.Miscoroft and WSO2 have contributed our applications to the Apache Stonehenge Incubator project.
  • Barclays Bank PLC, Cisco Systems, Credit Suisse, Deutsche Börse Systems, Envoy Technologies Inc.,Goldman Sachs, IONA Technologies PLC, iMatix Corporation sprl.,JPMorgan Chase Bank Inc. N.A, Microsoft Corporation, Novell, Rabbit Technologies Ltd., Red Hat Inc., Solace Systems Inc., Tervela Inc., TWIST Process Innovations Ltd, WS02 Inc. and 29West Inc.
  • Stonehenge

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