Eclipse Metro
{{Short description|Web service stack}}
{{more citations needed|date=June 2021}}
{{Infobox software
| name = Metro
| logo =
| logo caption =
| logo alt =
| logo size =
| collapsible =
| screenshot =
| screenshot size =
| screenshot alt =
| caption =
| other_names =
| author = Sun Microsystems
| developer = Eclipse Foundation
| released = {{Start date and age|2007|09|17}}
| ver layout =
| discontinued =
| latest release version = 3.0.1
| latest release date = {{Start date and age|2021|04|14}}
| latest preview version =
| latest preview date =
| repo =
| qid =
| programming language = Java
| middleware =
| engine =
| operating system =
| platform = Jakarta EE
| included with =
| replaces =
| replaced_by =
| service_name =
| size =
| standard =
| language =
| language count =
| language footnote =
| genre = web service framework
| license = {{ill|Eclipse Distribution License|lt=EDL 1.0|qid=Q26245522}}
| website = {{official URL}}
| AsOf =
}}
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.{{cite web|url=https://metro.dev.java.net/discover/ |title=metro: Discover Metro |url-status=dead |archiveurl=https://web.archive.org/web/20070708134345/https://metro.dev.java.net/discover/ |archivedate=2007-07-08 }} 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,{{cite web|url=http://metro.java.net/discover/faq.html|title=metro: Metro FAQ}} it is now available under {{ill|Eclipse Distribution License|qid=Q26245522}}
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.{{cite web |last=Gupta |first=Arun |date=2007-06-19 |df=mdy |title=Announcing Metro - Naming the Web Services stack in GlassFish |department=Miles to go… |website=blogs.sun.com |url=http://blogs.sun.com/arungupta/entry/announcing_metro_naming_the_web |archive-url=https://web.archive.org/web/20090926144443/http://blogs.sun.com/arungupta/entry/announcing_metro_naming_the_web |archive-date=2009-09-26}}
Features
Metro compares well with other web service frameworks in terms of functionality. Codehaus started a comparison{{cite web |title=Stack Comparison |department=XFire |website=xfire.codehaus.org |url=http://xfire.codehaus.org/Stack+Comparison |archive-url=https://web.archive.org/web/20061230114334/http://xfire.codehaus.org/Stack+Comparison |archive-date=2006-12-30}} 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.{{cite web |title=StackComparison |department=Apache Web Services Wiki |website=Apache Wiki Farm |url=https://wiki.apache.org/ws/StackComparison |archive-url=https://web.archive.org/web/20170904141955/https://wiki.apache.org/ws/StackComparison |archive-date=2017-09-04}}
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.{{Cite web|url=https://metro.java.net/discover/faq.html|title = Metro}}
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
class="wikitable"
| 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.
References
{{Reflist}}
External links
{{Portal|Free and open-source software}}
- {{official website}}
- [https://projects.eclipse.org/projects/ee4j.metro Eclipse Metro] project as a part of Eclipse Enterprise for Java (EE4J)
{{GlassFish}}
Category:Java enterprise platform
Category:Free software programmed in Java (programming language)