Interoperability in the Real Word

Report 5 Downloads 203 Views
Scott Golightly

 Interoperability

 Apache Stonehenge  Resources

 SOA – Service-Oriented Architecture

 WS-* – Web Service Standards  W3C- World Wide Web Consortium  OASIS - Organization for the Advancement of Structured

Information Standards  WCF – Windows Communication Foundation  AXIS2-Java/Metro – Java Web Services Frameworks  AXIS2-C (PHP) – C Web Services Framework

 Past  ASP.NET Web Services (ASMX)  WSE (Web Service Extensions)

 Present  WCF

 Future  Windows AppFabric (“Dublin”)  MSE (Managed Services Engine)

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Header> SubmitOrder http://26ny-stoneh-r2:8001/tradeorderprocessor <s:Body> <SubmitOrder xmlns="http://Trade.TraderOrderHost"> 100000108 buy open 2009-07-14T23:07:13.3740234-04:00 0001-01-01T00:00:00 100 1 15.95 s:3

 WS-Messaging  SOAP (Packet, Envelope with a Header and a Body)  WS-Addressing (To, From, Action)

 WS-MetaData Exchange  WS-Policy – (Envelope Requirements)  WSDL – Web Services Definition Language (Policies, Types,

Binding, Service)  WS-Security  WS-Signature – (Prevents Tampering)  WS-Encryption – (Prevents Snooping)  WS-Trust/Federation – (Authenticates and Provides Roles)

 WS-ReliableMessaging – Transactions

http://en.wikipedia.org/wiki/WS-*

<s:Header> SubmitOrder <e:CipherValue>gH27sFs3Ay…fyHIuFEZg=

<e:EncryptedData Id="_7" Type=“http://www.w3.org/2001/04/xmlenc#Element”> <e:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/> …

<e:CipherData> <e:CipherValue>Ct2hjN…Np7qpZLXYL5

<s:Body u:Id="_3">

<e:EncryptedData Id="_4" Type="http://www.w3.org/2001/04/xmlenc#Content" xmlns:e="http://www.w3.org/2001/04/xmlenc#"> <e:CipherData>

<e:CipherValue> FvifwljMEc…NUs4RvaG++Ww==

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <s:Header>

SubmitOrder http://26ny-stoneh-r2:8001/tradeorderprocessor/sec … <e:EncryptedKey Id="uuid-1c239684-8f70-4b89-8d0d-32ee15465120-1“> <e:CipherValue>gH27sFs3Ay…fyHIuFEZg= <e:EncryptedData Id="_7" Type=http://www.w3.org/2001/04/xmlenc#Element> <e:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/> … <e:CipherData><e:CipherValue>Ct2hjN…Np7qpZLXYL5

<s:Body u:Id="_3">

<e:EncryptedData Id="_4" Type="http://www.w3.org/2001/04/xmlenc#Content"> <e:CipherData><e:CipherValue>FvifwljMEc…NUs4RvaG++Ww==

 Interoperability

 Apache Stonehenge  Resources

 Stonehenge is sponsored by the Apache Software

Foundation, a leader in the Open Source community, and was created to build reference applications that demonstrate the use of WS-* Standards in real-world project implementations

 Illustrate and develop best practices for interoperable

  



applications that communicate via distributed protocols Demonstrate interoperability between platforms Provide sample code upon which SOA developers can build their own applications Potentially identify interoperability issues and their solutions Build confidence in cross-platform deployment of SOA technologies.

 Apache Group “Web Server”

 Meritocracy  Committer Status

 Legal protection  Mailing list correspondence  Individualism  Nobody has any affiliations within Apache

 Initial phase  Proposal submitted by WSO2, announced at ApacheCon US 2008  Microsoft joined as a contributor with other vendors IONA, RedHat/Jboss  Stonehenge was accepted as a new Apache Incubator project on Nov 18, 2008

 WSO2 contributed two StockTrader implementations with AXIS2  A StockTrader client application in WSF(Axis2/C)/PHP,  Two service implementations running on WSF/PHP , and WSAS(Axis2/Java).

 Microsoft contributed the StockTrader implementation in WCF for .NET

 First “interop” lab published on May 2009  http://cwiki.apache.org/confluence/display/STONEHENGE/

 Sun joined with Microsoft for a keynote at JavaOne to announce their

contribution to the project on June 2009

 Sun contributes service implementations to the StockTrader application in

Metro(Java) running on Glassfish.

“The f lagship application”

 Stock trading scenario application  Trader Client  Business Service - login/list/quote/buy/sell operations  Order Processing Service - buy/sell operations .NET Client

PHP Client

 Interoperability scenarios using the contributions from

WSO2 and Microsoft:  Java  PHP  .NET

 Interoperating different layers and formats:  Basic Web Services standards (SOAP)  SOAP with WS-Security (Encryption and Signing)

 Installation/configuration guides published on the

Stonehenge wiki:

 http://cwiki.apache.org/confluence/display/STONEHENGE/

 Blog post:  http://blogs.msdn.com/interoperability/

StockTrader .NET ASP.NET-WCF

StockTrader Java WSAS-Axis2/Java

StockTrader PHP PHP-WSF(Axis2/C) Web UI

Web UI

Business Services

Business Services

Business Services

Order Processing

Order Processing

Order Processing

Data Access

Data Access

Data Access

Database

Web Service calls:

.NET

WSAS

PHP

Stock Trader Application

 StockTrader  Metro  Federated Identity (M2 Goal)  REST  AMQP (Advanced Message Queuing Protocol)

 Whatever the community decides

 Interoperability

 Apache Stonehenge  Resources

 Visit the Apache Stonehenge Website  http://incubator.apache.org/stonehenge

 Join the Mailing List  Follow along, join the discussion  Download the code  Run the interoperability labs  Give us feedback

 WSO2 and Microsoft demonstrate

interoperability at TechEd IT Pro 2008  http://video.msn.com/video.aspx?mkt=en-

us&vid=7019fbb8-4d12-4f56-93a1-a39b9d2ccb00

 Sun and Microsoft Demonstrate Metro

contribution to Project Stonehenge at JavaOne in 2009  http://java.sun.com/javaone/2009/playlist.jsp?pid=

24744799001&autoStart=on

 Apache Stonehenge Homepage  Bug Tracking, Wiki, Source Code, etc  http://incubator.apache.org/stonehenge

 Stonehenge Wiki, Installation Guides, Labs  http://cwiki.apache.org/confluence/display/STONEHENGE

 Ben Dewey’s Blog Getting Started Guide  http://bendewey.wordpress.com  Kamaljit Bath’s Blog (Principal Program Manager, Microsoft)  http://blogs.msdn.com/interoperability  ConnectedShow Podcast (Dimitry Lyalin & Peter Laudati)  http://connectedshow.com/?Episode=8  Apache Foundation: Getting Involved  http://apache.org/foundation/getinvolved.html