Project CeltiXfire is a SOA infrastructure framework focused on implementation of JCP and web service standards while also providing extensibility for legacy integration. It is a merge of two matured open source projects and communities, ObjectWeb Celtix (http://celtix.objectweb.org) and Codehaus Xfire (http://xfire.codehaus.org). It will implement the JAX-WS, JAX-WSA, and JSR-181 standards. Core to this is support for web service standards like SOAP 1.1, SOAP 1.2, WS-I BasicProfile, WS-Security, WS-Addressing, WS-RM, and WS-Policy. This project will support several programming models like JAX-WS, JBI (ServiceMix), SCA (Tuscany), and CORBA services (Yoko). We will leverage open source components wherever possible, for example we intend to use WSS4J for ws-security from the Apache Web Services project. One goal of this project is to provide public APIs that match the JSR standards. Furthermore, the scope of this project is to provide SOA infrastructure for both modern web services and for legacy systems. The seed code has been designed to provide a pluggable architecture to support both XML and non-XML type bindings in combination with any type of transport. For example, Celtix is in the process of being extended to provide a CORBA binding as part of the Apache Yoko project (in incubation). Additional examples of non-XML bindings that could be supported in the future include fixed length record bindings, which are critical to integrating mainframe systems into a SOA. The current infrastructure code is designed for flexible deployment in a variety of containers including JBI, J2EE, SCA and servlet containers.
The project is interested in moving to Apache for the following reasons: To provide Apache-licensed implementations of the relevant web service JSR standards: JAX-WS, JAX-WSA, JSR-181, and JSR-265 standards and to test those implementations with the applicable JSR TCKs, to become better integrated with the Geronimo, Harmony, ServiceMix, Tuscany, Yoko and Apache Web Services communities, and to build a strong vendor-neutral community that will outlast any one person’s or company’s participation.
The Codehaus Xfire and ObjectWeb Celtix projects have fostered a development community based around meritocracy. Many of the committers already work on other Apache projects and understand the Apache way. The individuals understand that they are responsible for the code, and that the community around the project will define the direction.
The CeltiXfire Community will bring together two already successful communities - Xfire and Celtix. Both projects have active users and contributors on the mailing lists.
The CeltiXfire project’s initial committers include a diverse set of individuals. Some of the individuals are employed by Envoi Solutions, IONA, BEA, LogicBlaze and Red Hat, and some are not funded by any particular employer.
CeltiXfire currently uses and integrates with many Apache projects but does not have hard dependencies on these (in alphabetical order):
- ActiveMQ is used as the default JMS implementation.
- Continuum: Apache Continuum currently uses XFire for its SOAP integration.
Harmony: Harmony is implementing Java 5.0 and requires support for many of the JSR that CeltiXfire will provide.
Jakarta Commons HttpClient can be used for the HTTP client transport.
ServiceMix: Codehaus XFire is currently used within ServiceMix to provide web service integration. Celtix provides its own JBI integration for ServiceMix as well, although JBI is an option and not a requirement for Celtix implementation.
- Maven 2: Celtix and Xfire already provide Maven 2 plug-ins for invoking the Celtix and Xfire tooling.
- Tuscany: Celtix is already integrated with Tuscany.
WSS4J: CeltiXfire uses Apache WSS4J for WS-Security support.
XMLBeans is currently used as one of the data-binding options for CeltiXfire.
- Yoko: Celtix is already integrated with Yoko to provide support for exposing CORBA services as web services.
We are currently evaluating the use of other Apache projects as well like Woden, Neethi and JaxMe.
Avoiding the Warning Signs
CeltiXfire is a merging of two successful open source projects, ObjectWeb Celtix and Codehaus Xfire. Both have active communities and developers. CeltiXfire provides support for some important specifications to Java community, we expect that this project will continue to grow and develop within its own community, and be embraced by many other open source projects as well.
Inexperience with open source
The authors of the existing code have extensive experience with open source already. The initial list of committers includes 9 Apache Committers. They are involved in:
- Apache Continuum
- Apache Geronimo
- Apache Tuscany
- Apache Yoko
The project's initial committers include individuals that are employed by a diverse set of companies, including Envoi Solutions, IONA, LogicBlaze, BEA and Red Hat. About 2/3 of the initial committers are employed by IONA. Additionally the project has several committers whose work is not funded by any particular employer.
Reliance on Salaried Developers
Many of the developers are salaried, but they are spread out over several organizations. Several other developers are contributing to this project without any connection to an employer.
No ties to other Apache products
Both ObjectWeb Celtix and Codehaus Xfire currently use many Apache projects. These have been outlined in the “alignment” section.
A fascination with the Apache brand
While we expect the Apache brand may help attract more contributors, our interests in starting this project is based on the factors mentioned in the Rationale section. However, we will be sensitive to inadvertent abuse of the Apache brand and will work with the Incubator PMC and the PRC to ensure the brand policies are respected.
Scope of Subprojects
No subprojects proposed.
The Celtix codebase is owned by IONA. It is currently available under both EPL and LGPL licenses (http://celtix.objectweb.org). The applicable code will be relicensed under the Apache License 2.0. The Codehaus Xfire codebase is owned by Envoi Solutions LLC and is available under an MIT license (http://xfire.codehaus.org). The applicable code will be relicensed under the Apache Software License 2.0. The dependencies all have Apache compatible licenses. These include BSD, CDDL, CPL, MPL and MIT licensed dependencies.
ASF Resources to be Created
- Mailing lists
SVN Repository https://svn.apache.org/repos/asf/incubator/cxf
- Adi Sakala (IONA) - Celtix
- Dan Diephouse (Envoi Solutions) - XFire
Guillaume Nodet (LogicBlaze) - XFire
James Strachan (LogicBlaze)
- David Blevins (IBM) - XFire
- Peter Royal (Radar Networks) - XFire
- Daniel Kulp (IONA) - Celtix
- Balaji Ravi (IONA) - Celtix
- Conrad O’Dea (IONA) - Celtix
- Hani Suleiman (Formicary) - XFire
- Mika Goeckel (cyber:con) - XFire
- Adam Kramer (Amazon) - XFire
- Tomek Sztelak - XFire
- Christoph Sturm - XFire
- Stuart Edmondston (BEA)
- Bozhong Lin (IONA) - Celtix
- Jervis Liu (IONA) - Celtix
- Julian Squires (IONA) - Celtix
- James Mao (IONA) - Celtix
- Jim Ma (IONA) - Celtix
- Freeman Fang (IONA) - Celtix
- Tom Li (IONA) - Celtix
- Willem Jiang (IONA) - Celtix
- Andrea Smyth (IONA) - Celtix
- Eoghan Glynn (IONA) - Celtix
- Debbie Moynihan (IONA) - Celtix
- Ajay Paibir (IONA) - Celtix
- Ulhas Bhole (IONA) - Celtix
- Sean O’Callaghan (IONA) - Celtix
- Peter Jones (IONA) - Celtix
- Eric Johnson (IONA) - Celtix
- Brian Zotter (BEA)
- Mark Little (Red Hat)
- Kevin Conner (Red Hat)
We kindly request the Incubator PMC to accept sponsorship for this proposal.
One of the other Mentors will step up as champion, Jason van Zyl has resigned.
== Mentors ==
- Jim Jagielski
- James Strachan
- Peter Royal