Apache Stonehenge, interoperability at work
When Microsoft decided to participate in the Apache Stonehenge project our goal was to deliver guidance through practical applications that span languages and platforms and demonstrate how to achieve interoperability. As I mentioned a few months ago multiple implementations including .NET, Java, Php, Python & Ruby of the Stonehenge Stocktrader sample application have been committed to the repository (check the code here: http://svn.apache.org/viewvc/incubator/stonehenge/contrib/stocktrader/)
Since then we’ve been working and I’m glad to report that we’ve reached a key milestone: to deploy a first set of these samples and make them work together. The Stonehenge community is currently going through the final testing required for the “M1 release”, and it is taking votes on a release. From a simplified architecture point of view the Stonehenge Stocktrader application is built as follows:
|
So far we have been focusing on the .NET, PHP, and Java interoperability scenarios, and have deployed the three Stocktrader implementations in multiple configurations. If you want to reproduce the environment, you can get the installation and configuration steps for the .NET, PHP and Java versions at http://cwiki.apache.org/confluence/display/STONEHENGE/Index. The PHP and Java implementations were contributed by WSO2 using their Web Services Frameworks (http://wso2.org/projects).
Then we ran a series of tests mixing and matching the layers from the three implementations, playing with the configurations and leveraging the Web Services standards, including WS-Security, to provide message integrity and security.
In short (that’s only a partial view of the scenarios), the following diagram shows where we were able to achieve interoperability using Web Services (each arrow represents Web Service based dialog):
A detailed “interoperability walkthrough” explaining all the different configurations has been posted at http://cwiki.apache.org/confluence/display/STONEHENGE/Stonehenge+Interoperability+Walk-through
From the end user perspective whichever middle tier layer (Business Services or Order Processing) is activated during the scenario is completely transparent, since each of the implementations executes the same transactions. Even though the most interesting part of the interoperability walkthrough happens at the Web Services standard level, I wanted to give you a sense of how the scenario looks from multiple perspectives. In the following example, we are looking at the “Buy Stocks” transaction in both the .NET & PHP applications (the current Java version does not implement any UI):
Stocktrader .NET |
Stocktrader PHP |
Buying stocks |
|
Transaction confirmation |
|
Portfolio summary information |
|
This new outcome from the Stonehenge project is very encouraging. With the implementation of the WS-* Standards, we get the benefit of distributed applications and platforms. We recognized that it is not always easy to achieve these goals, but I really feel this type of practical guidance will be helpful for these types of scenarios.
We’re very encouraged by the success of this first step, and we invite you to take a closer look to give comments and feedback. There are lots of roles for you to participate in the project, whether you are a developer or a user: developing code on your preferred platform, suggesting new scenarios and applications that will provide real value to people in your field, or even just looking over the code and documents to see if they address the challenges you might have had developing interoperable services.
We look forward to getting your comments and ideas about how to keep this project moving in a direction that meets real people’s needs.
Comments
Anonymous
May 12, 2009
PingBack from http://asp-net-hosting.simplynetdev.com/apache-stonehenge-interoperability-at-work/Anonymous
May 12, 2009
The Stonehenge incubator project is approaching its first milestone: deploying the first set of samplesAnonymous
May 12, 2009
The Stonehenge incubator project is approaching its first milestone: deploying the first set of samplesAnonymous
June 04, 2009
While the idea of Microsoft giving a keynote address at JavaOne – the Java community’s biggest conferenceAnonymous
June 04, 2009
As the co-owners of the Microsoft portion of the project, Kent Brown and I would like to thank everybodyAnonymous
July 16, 2009
PingBack from http://bendewey.wordpress.com/2009/07/16/apache-stonehenge-interoperability-presentation-at-the-nyc-net-dev-user-group/Anonymous
August 15, 2009
It's a wise step that the corporation at last decided to get involved in the Apache Stonehenge project. Apache is very popular on the web and now your guidance is making a breakthrough to achieve interoperability in this area.