There’s lots of news about Apache Stonehenge today. First, the effort passed a significant milestone – its first release from the Apache incubator. This means that the code was updated to use the Apache license headers, the source control and build environment translated to those used at Apache, documentation was written, and new people tested everything to make sure it works. Finally, there were rounds of voting by the Podling Project Management Committee to certify that everything was up to the foundation’s high standards. This was a fair amount of work; look around in the issues browser to see all the issues that were reported and fixed.
You can download this release from the project site or one of the mirrors. I hope you will take a look and let us know what you think. We know it’s not everything you could possibly hope for, so please report issues and make suggestions. Do these code samples help you understand how to solve the problems you might have had building SOA applications with the web services standards and toolkits? What’s missing? What challenges are you facing that a multi-platform sample application and best practices project could better illustrate how to solve?
This is only the first step toward Stonehenge becoming a full-fledged Apache project. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful Apache Software Foundation projects. This milestone shows evidence that the community and codebase is up and running, but both will have to become more mature before the project can be fully endorsed by the ASF.
The first milestone release builds from code contributed by WSO2 and Microsoft late last year. Today Sun Microsystems contributed an implementation of the StockTrader sample application services built with Metro, the web services stack in Glassfish. The announcement came during Microsoft’s keynote address at the JavaOne confernce. As co-presenter Steven Martin put it:
This is important for two reasons. First, it means that Stonehenge will deliver even more value by providing best practice guidelines and reference implementations across an even broader range of scenarios and platforms, including Java, .NET, PHP, etc. The more samples and real world guidance we can give the community the better since it gives customers the ability to choose the best ones for their specific business requirements. It also makes it easier to pinpoint potential interoperability problems.
In addition, it represents another step forward in our ongoing work with Sun. As we all know, today’s IT environments are heterogeneous; whether it’s a single organization that runs both.NET and Java apps or multiple organizations that seek to collaborate with each other.
Going forward, it would be great to get even more individuals, projects, and companies involved in Stonehenge. The focus so far has been on the StockTrader services-oriented sample application originally developed for IBM WebSphere but now has interoperating versions running on several technologies including .NET, PHP, and a couple of Java SOA frameworks. Future work can both deepen and broaden what we’ve started with. For example, there has been much joint Sun / Microsoft work to support interoperability across our identify federation products, and it would be good so see this in Stonehenge. It would also be great to get implementations for a broader set of platforms and frameworks … Apache CXF? Oracle Fusion? A new improved WebSphere implementation at Apache? How about showing us how to implement this security-focused scenario with REST? Or maybe one or more of the emerging Cloud platforms? All would be welcome.
But we hope there will be more to Stonehenge than just StockTrader. We’re thinking about what other realistically complex and challenging — but manageable! — service-oriented scenarios would lend themselves to a set of interoperable sample implementations. Please join the conversation on the Stonehenge mailing list or issues tracker.