Eclipse Metro

Last updated
Metro
Original author(s) Sun Microsystems
Developer(s) Eclipse Foundation
Initial releaseSeptember 17, 2007;17 years ago (2007-09-17)
Stable release
3.0.1 / April 14, 2021;3 years ago (2021-04-14)
Written in Java
Platform Jakarta EE
Type web service framework
License EDL 1.0  [ Wikidata ]
Website projects.eclipse.org/projects/ee4j.metro OOjs UI icon edit-ltr-progressive.svg

Metro is a high-performance, extensible, easy-to-use web service stack. Although historically an open-source part of the GlassFish application server, it can also be used in a stand-alone configuration. [1] Components of Metro include: JAXB RI, JAX-WS RI, SAAJ RI, StAX (SJSXP implementation) and WSIT. Originally available under the CDDL and GPLv2 with classpath exception, [2] it is now available under Eclipse Distribution License  [ Wikidata ]

Contents

History

Originally, the Glassfish project developed two semi-independent projects:

In June 2007, it was decided to bundle these two components as a single component named Metro. [3]

Features

Metro compares well with other web service frameworks in terms of functionality. Codehaus started a comparison [4] which compared Apache Axis 1.x, Axis 2.x, Celtix, Glue, JBossWS, Xfire 1.2 and JAX-WS RI + WSIT (the bundle was not yet named Metro at that time). This was later updated by the ASF to replace Celtix with CXF and to include OracleAS 10g. [5]

Metro includes JAXB RI, JAX-WS RI, SAAJ RI, SJSXP, and WSIT, along with libraries that those components depend on, such as xmlstreambuffer, mimepull, etc. [6]

Its features include:

Supported WS-* Standards [5]

WS-AddressingWS-Atomic TransactionWS-Coordination
WS-Metadata ExchangeWS-ReliableMessagingWS-Policy
WS-Secure ConversationWS-Security PolicyWS-Security
WS-TrustWSDL 1.1 Support

Supported Transport protocols include:

Metro augments the JAX-WS environment with advanced features such as trusted, end-to-end security; optimized transport (MTOM, Fast Infoset), reliable messaging, and transactional behavior for SOAP web services.

Market share

Metro is bundled with Java SE 6 in order to allow consumers of Java SE 6 to consume Web Services. [7]

Metro is bundled with numerous application servers such as: [8]

The JAXB reference implementation developed for Metro is used in virtually every Java Web Services framework (Apache Axis2, Codehaus XFire, Apache CXF) and Application Servers.

References

  1. "metro: Discover Metro". Archived from the original on 2007-07-08.
  2. "metro: Metro FAQ".
  3. Gupta, Arun (June 19, 2007). "Announcing Metro - Naming the Web Services stack in GlassFish". Miles to go…. blogs.sun.com. Archived from the original on 2009-09-26.
  4. "Stack Comparison". XFire. xfire.codehaus.org. Archived from the original on 2006-12-30.
  5. 1 2 3 "StackComparison". Apache Web Services Wiki. Apache Wiki Farm. Archived from the original on 2017-09-04.
  6. "Metro".
  7. "JAX-WS FAQ". jax-ws. Archived from the original on 2007-08-07.
  8. Gupta, Arun (July 22, 2007). "Metro - Now on Tomcat 6.x also". GlassFish. blogs.sun.com. Archived from the original on 2009-06-15.