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 comparison4 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-* Standards8
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.9
Metro is bundled with numerous application servers such as:10
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.
"metro: Discover Metro". Archived from the original on 2007-07-08. https://web.archive.org/web/20070708134345/https://metro.dev.java.net/discover/ ↩
"metro: Metro FAQ". http://metro.java.net/discover/faq.html ↩
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. https://web.archive.org/web/20090926144443/http://blogs.sun.com/arungupta/entry/announcing_metro_naming_the_web ↩
"Stack Comparison". XFire. xfire.codehaus.org. Archived from the original on 2006-12-30. https://web.archive.org/web/20061230114334/http://xfire.codehaus.org/Stack+Comparison ↩
"StackComparison". Apache Web Services Wiki. Apache Wiki Farm. Archived from the original on 2017-09-04. https://web.archive.org/web/20170904141955/https://wiki.apache.org/ws/StackComparison ↩
"Metro". https://metro.java.net/discover/faq.html ↩
"JAX-WS FAQ". jax-ws. Archived from the original on 2007-08-07. https://web.archive.org/web/20070807124130/https://jax-ws.dev.java.net/faq/index.html#different_versions ↩
Gupta, Arun (July 22, 2007). "Metro - Now on Tomcat 6.x also". GlassFish. blogs.sun.com. Archived from the original on 2009-06-15. https://web.archive.org/web/20090615134727/http://blogs.sun.com/theaquarium/entry/metro_now_on_tomcat_6 ↩