Eclipse Metro
| Company type | Open-source software |
|---|---|
| Industry | Software development, Web services |
| Predecessor | JAX-WS RI, WSIT |
| Founded | June 2007 |
| Products | Web service framework, JAXB RI, JAX-WS RI, SAAJ RI, StAX (SJSXP), WSIT |
| Owner | Eclipse Foundation (implied by "Eclipse Metro project under Eclipse Enterprise for Java (EE4J)") |
| Website | eclipse-ee4j |
Metro represents a robust, scalable, and user-friendly web service framework. Initially introduced as an open-source module within the GlassFish application server, it is also offered as an independent package. Its principal elements comprise: JAXB RI, JAX-WS RI, SAAJ RI, StAX (through the SJSXP implementation), and WSIT. While originally distributed under the CDDL and GPLv2 with classpath exception licenses, Metro is currently available under the .
History
The GlassFish initiative initially created two interconnected projects:
- JAX-WS RI, serving as the reference implementation for the JAX-WS standard
- WSIT, a Java-based implementation supporting selected WS-* protocols and facilitating improved interoperability with the .NET Framework, which relies on JAX-WS RI for its web services foundation
These projects were consolidated in June 2007 under the collective name Metro.
Features
Metro provides a comprehensive feature set that positions it competitively among web service frameworks. Early evaluations by Codehaus compared it to Apache Axis 1.x, Axis 2.x, Celtix, Glue, JBossWS, Xfire 1.2, and JAX-WS RI combined with WSIT (prior to adopting the Metro designation). Subsequently, an updated comparison by the ASF included CXF and OracleAS 10g.
The Metro distribution integrates JAXB RI, JAX-WS RI, SAAJ RI, SJSXP, and WSIT, along with essential dependencies such as xmlstreambuffer and mimepull.
Prominent features encompass:
- Conformance to Basic Profile 1.1
- Creation of services from POJOs
- Support for RPC-Encoding
- Compatibility with Spring and REST architectures
- SOAP 1.1 and 1.2 support
- Streaming XML processing based on StAX
- WSDL 1.1-driven code generation for clients and servers
- Asynchronous operations on both client and server sides
Implemented WS-* standards include:
| WS-Addressing | WS-Atomic Transaction | WS-Coordination |
| WS-Metadata Exchange | WS-ReliableMessaging | WS-Policy |
| WS-Secure Conversation | WS-Security Policy | WS-Security |
| WS-Trust | WSDL 1.1 Support |
Supported communication protocols are:
- HTTP
- JMS
- SMTP/POP3
- TCP
- In-VM transport
Metro extends the JAX-WS platform by providing reliable end-to-end security mechanisms, optimized transport protocols such as (MTOM) and Fast Infoset, dependable messaging services, and transactional support tailored for SOAP-based web services.
Metro ships with Java SE 6 to facilitate Web Services consumption.
It is incorporated into various application servers including:
- GlassFish
- Sun Java System Application Server Platform Edition 9.x
- Oracle WebLogic Server
- JBoss (limited to version 5.x)
- TmaxSoft JEUS 6.x
The reference implementation of JAXB developed for Metro enjoys widespread adoption in numerous Java Web Services frameworks like Apache Axis2, Codehaus XFire, and Apache CXF, as well as across different application server platforms.
External links
- Eclipse Metro project under Eclipse Enterprise for Java (EE4J)