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.