Eclipse Metro


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. Components of Metro include: JAXB RI, JAX-WS RI, SAAJ RI, StAX and WSIT. Originally available under the CDDL and GPLv2 with classpath exception, it is now available under

History

Originally, the Glassfish project developed two semi-independent projects:
  • JAX-WS RI, the Reference implementation of the JAX-WS specification
  • WSIT, a Java implementation of some of the WS-* and an enhanced support for interoperability with the.NET Framework. It is based on JAX-WS RI as "Web Service layer".
In June 2007, it was decided to bundle these two components as a single component named Metro.

Features

Metro compares well with other web service frameworks in terms of functionality. Codehaus started a comparison which compared Apache Axis 1.x, Axis 2.x, Celtix, Glue, JBossWS, Xfire 1.2 and JAX-WS RI + WSIT. This was later updated by the ASF to replace Celtix with CXF and to include OracleAS 10g.
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.
Its features include:
  • Basic Profile 1.1 Compliant
  • Easily Create Services from POJOs
  • RPC-Encoding
  • Spring Support
  • REST Support
  • Soap 1.1/1.2
  • Streaming XML
  • WSDL 1.1 ->Code /
  • Server and Client-side Asynchrony
Supported WS-* Standards
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:
  • HTTP
  • JMS
  • SMTP/POP3
  • TCP
  • In-VM
Metro augments the JAX-WS environment with advanced features such as trusted, end-to-end security; optimized transport, 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.
Metro is bundled with numerous application servers such as:
The JAXB reference implementation developed for Metro is used in virtually every Java Web Services framework and Application Servers.