This article needs additional citations for verification .(June 2021) |
Original author(s) | Sun Microsystems |
---|---|
Developer(s) | Eclipse Foundation |
Initial release | September 17, 2007 |
Stable release | 3.0.1 / April 14, 2021 |
Written in | Java |
Platform | Jakarta EE |
Type | web service framework |
License | EDL 1.0 |
Website | projects |
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
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]
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-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 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.
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.