Software:Eclipse Metro

From HandWiki
Short description: Web service stack


Metro
Original author(s)Sun Microsystems
Developer(s)Eclipse Foundation
Initial releaseSeptember 17, 2007; 16 years ago (2007-09-17)
Stable release
3.0.1 / April 14, 2021; 2 years ago (2021-04-14)
Written inJava
PlatformJakarta EE
Typeweb service framework
LicenseEclipse Distribution License ({{{2}}})
Website{{{1}}}

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 ({{{2}}})

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.[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:

  • Basic Profile 1.1 Compliant
  • Easily Create Services from POJOs
  • RPC-Encoding
  • Spring Support
  • REST Support
  • Soap 1.1/1.2
  • Streaming XML (StAX based)
  • WSDL 1.1 ->Code (Client)/(Server)
  • Server and Client-side Asynchrony[5]

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:

  • 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 (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]

  • GlassFish
  • Sun Java System Application Server Platform Edition 9.x
  • Oracle WebLogic Server
  • JBoss (version 5.x only)
  • TmaxSoft JEUS 6.x

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

External links

  • Eclipse Metro project as a part of Eclipse Enterprise for Java (EE4J)