Apache Stonehenge: Interoperability at Work
by Peter Galli on May 12, 2009 12:24pm
The Stonehenge incubator project is approaching its first milestone: deploying the first set of samples and making them work together.
This is a really exciting development and continues to deliver on the project's primary goal: to provide practical applications that span languages and platforms and demonstrate how to achieve interoperability.
Multiple implementations of the Stonehenge Stocktrader sample application, including .NET, Java, PHP, Python and Ruby, have been committed to the repository. You can check the code here.
From a simplified architecture point of view, the Stonehenge Stocktrader application is built as follows:
-
- A User Interface layer delivering the web front end (HTML)
- A middle tier layer including a Business Services layer (login, account processing) and an Order Processing layer (buy/sell transactions)
- A Data Access layer to provide access to the database for the middle tier layer (Business Services and Order Processing)
- And, finally, the database where the application data lives
The work thus far has focused on the .NET, PHP, and Java interoperability scenarios, and the three Stocktrader implementations have been deployed in multiple configurations.
A series of tests were then run, 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.
A detailed "interoperability walkthrough" explaining all the different configurations has been posted here, while the full blog post by Kamaljit Bath, a Principal Program Manager in the Interoperability Technical Strategy Team at Microsoft, can be found here.
"Microsoft is pleased with its participation and the progress so far, and 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," said Bath.
The team is also actively soliciting comments and feedback, and encouraging both developers and users to participate in the project to ensure that the project continues to move in a direction that meets real people's needs