Project Stonehenge

Abstract

Stonehenge is a set of example applications for Service Oriented Architecture that spans languages and platforms and demonstrates best practise and interoperability.

Proposal

The aim of the Stonehenge project is to develop a set of sample applications to demonstrate seamless interoperability across multiple underlying platform technologies by using currently defined W3C and OASIS standard protocols.

We are proposing this incubator project because we believe that a project that includes a set of sample applications, with multiple language and framework implementations will become a useful and important part of the SOA landscape. It will:

  • illustrate and develop best practice for interoperable applications that communicate via distributed protocols,
  • demonstrate interoperability between platforms,
  • provide sample code upon which SOA developers can build,
  • help identify interoperability issues and their solutions, and
  • build confidence in cross-platform deployment of SOA technologies.

We believe that pursuit of these objectives at Apache has a number of significant benefits:
1. Attractiveness of Apache to the wide range of vendors and customers willing to participate in the conception, development, and implementation of new scenarios.
1. A well-established, neutral forum and process for architectural design and implementation.
1. The flexibility of the Apache License to allow users to leverage Stonehenge without onerous conditions.

Initially WSO2 will contribute an application called StockTrader, which is currently implemented in various languages based on Axis2/Java and Axis2/C including Java, PHP, Ruby, Perl, Python, and Spring. This will form the first of several applications which will be built in this incubator podling. In addition, we will invite contributions of other "stock trader" applications, including the Microsoft StockTrader sample found at http://msdn.microsoft.com/en-us/netframework/bb499684.aspx. We also invite contributions from any other organization who has similar applications or technologies.

Interoperability between the WSO2 StockTrader 2.0 application and the Microsoft StockTrader 2.0 has already been demonstrated and we expect to demonstrate wider interoperability.

Going beyond StockTrader, we expect to develop additional applications that demonstrate SOA principles in an open and collaborative manner within the Stonehenge community.

Current Status

The development to date of the StockTrader application has successfully shown the benefits of cross-platform interoperability and have provided a useful example to developers on those platforms. However, the StockTrader application as currently implemented has limitations, including a limited repertoire of technologies (e.g. focusing primarily on WS-Security), and a limited number of implementation platforms (Axis2/Java, Axis2/C). We expect that this podling would expand the scope of this effort to a wider set of implementation platforms (including but not limited to Apache technologies such as Apache CXF) as well as bring in a wider, more diverse community of participants.

Meritocracy

One of the core aims of the Stonehenge proposal is to encourage meritocracy and contribution. One core aim in coming to Apache is to use the well-defined governance model that Apache has and to encourage the developers of frameworks to get involved and contribute implementations of the core components. A good proportion of the project participants are experienced Apache contributors and totally understand the Apache meritocracy approach. Everyone involved see that as being crucial to the success of this project.

Core Developers

The core developers are all listed in the initial committers list later in this proposal.

Alignment

The project already uses core libraries from the Apache WS project including Apache Axis2/Java, Rampart and Sandesha2. In addition, the PHP, Perl, and Python versions use the Apache Axis2/C libraries. We hope to develop versions that utilize at least the Apache CXF and Apache Qpid projects in the future. For build we intend to use Apache Maven.

Known Risks

Orphaned Products

We are enthusiastic about the potential to participate on the Stonehenge project if it goes forward. The StockTrader application and other applications are already considered a core part of WSO2’s offerings and we expect new applications developed to be similarly important. We also intend to utilize these applications to demonstrate ongoing interoperability. The success of Stonehenge will rely on developing a community and we think it offers an exciting opportunity.

Inexperience with Open Source

The proposed group of committers includes people with varying amounts of experience at Apache, but everyone is interested in the potential of the project and to its success at Apache. The intent is for the existing Apache committers to mentor the rest of the developers.

Homogeneous Developers

The proposed developers come from six organizations. The developers have already experience in working together across company boundaries and welcome input from other developers – either independent, existing Apache committers, or those in companies that wish to participate in Stonehenge.

Leveraging the Strong Apache Brand

We strongly believe that the ASF is the right place for this project and to develop a community. Firstly, the ASF offers a set of governance practices and models that are independent of any company. We believe this is vital in creating interoperable cross-framework and cross-language distributed applications and systems. We also believe that demonstrating interoperability can be accomplished in the collaborative environment, and that we can help developers and users better understand each others frameworks and code, which will help identify and resolve problems. Although interoperability can be achieved by design, or through private collaborative efforts, we believe forums like Apache offers a valuable alternatives for developers from different companies and technological backgrounds to come together to help increase interoperability between technologies.

Documentation

Existing documentation for the WSO2 Stocktrader application can be found here:

Initial Source

Apache would receive all source and documentation contributions under the Apache contributor’s agreements. Contributions of the sample applications (or related materials) do not include any commercially available enabling technologies or standards that may be referenced in the sample applications.applications, or which the sample applications are related to.The WSO2 source is already available under the Apache license here: https://wso2.org/repos/wso2/trunk/interop/stocktrader/

External Dependencies

As a project demonstrating broad interoperability, the project should encourage the broadest possible implementation of each sample application. We thus expect certain components of the application to be run on open source licensed platforms, on dually licensed platforms, as well as on commercially licensed platforms. The existing Stocktrader code bases variously depend on Apache projects (Apache Axis2/Java, Apache Axis2/C, Apache Maven), on other open source systems such as WSO2 WSF/PHP and Spring (through WSO2 WSF/Spring). Future contributions could depend on proprietary systems such as Microsoft .Net or commercial JEE servers.

Cryptography

Stonehenge will use the existing Apache technologies (Rampart, Rampart/C, WSS4J) and may leverage other technologies such as IBM, Microsoft, Oracle or other frameworks for security and cryptography. There is no code contributed or expectation of contributions that implement cryptography itself.

Required Resources

Mailing Lists

  • stonehenge-private
  • stonehenge-dev
  • stonehenge-commits
  • stonehenge-user

Subversion Directory

Issue Tracking

  • JIRA : Stonehenge (Stonehenge)

Other Resources

  • None

Initial Committers

  • Samisa Abeysinghe (samisa@apache.org)
  • Drew Baird (a-drewba@microsoft.com)
  • Kamaljit Bath (Kamaljit.Bath@microsoft.com)
  • Michael Champion (Michael.Champion@microsoft.com)
  • Glen Daniels (gdaniels@apache.org)
  • Senaka Fernando (senaka@apache.org)
  • Paul Fremantle (pzf@apache.org)
  • Daniel Kulp (dkulp@apache.org) * Mark Little (mlittle@redhat.com) * Jonathan Marsh (jonathan@wso2.com)
  • Ole Matzura (ole@eviware.com)
  • Niclas Reimertz (niclas@eviware.com) * Selvaratnam Uthaiyashankar (shankar@apache.org)
  • Carl Trieloff (cctrieloff@redhat.com) * Sanjiva Weerawarana (sanjiva@apache.org)
  • Afkham Azeez (azeez@apache.org)
  • Ruwan Linton (ruwan@apache.org)
  • Deepal Jayasinghe (deepal@apache.org)
  • Nandana Mihindukulasooriya (nandana@apache.org)

Affiliations

  • Samisa Abeysinghe WSO2
  • Drew Baird Microsoft
  • Kamaljit Bath Microsoft
  • Michael Champion Microsoft
  • Glen Daniels WSO2
  • Senaka Fernando University of Moratuwa
  • Paul Fremantle WSO2
  • Daniel Kulp Progress Software
  • Mark Little Red Hat
  • Jonathan Marsh WSO2
  • Ole Matzura Eviware
  • Niclas Reimertz Eviware
  • Selvaratnam Uthaiyashankar WSO2
  • Carl Trieloff Red Hat
  • Sanjiva Weerawarana WSO2
  • Afkham Azeez WSO2
  • Ruwan Linton WSO2
  • Nandana Mihindukulasooriya WSO2

Sponsors

Champion

  • Paul Fremantle (pzf@apache.org)

Nominated Mentors

  • Danese Cooper (danese@apache.org) * Daniel Kulp (dkulp@apache.org)
  • Matthieu Riou (mriou@apache.org)
  • Jim Jagielski (jim@jagunet.com)
  • Ken Coar (coar@apache.org)

Sponsoring Entity

  • Incubator
  • No labels