2012-10-01 11 views
23

¿Cuál es/son la/s diferencia/s de JAX-WS y Metro de Java? ¿Son lo mismo que son dos implementaciones JAX-WS diferentes?Metro vs Java's JAX-WS?

Según mi investigación, JAX-WS ya es parte de JDK 6. Sin embargo, JAX-WS no viene con el paquete estándar de JDK, así que busqué un jar de Java EE. Sin embargo, parece que Oracle no aloja un jar compilado de Java EE, sino que proporciona Glassfish que es un servidor Java EE.

Pude ejecutar mi servicio web en Glassfish. ¿Qué implementación JAX-WS usa Glassfish? Dado que está alojado en Oracle, supongo que está utilizando la implementación de JAX-WS de Java, que supuestamente forma parte de JDK 1.6. ¿Estoy en lo correcto con mi suposición? Además, para ejecutar un servicio web basado en JAX-WS, necesito descargar JAX-WS jar. Encontré Metro. Pero en su página, veo el enlace del metro como un sublink de Glassfish. Entonces ahora estoy confundido. ¿Glassfish está usando Metro? ¿O Glassfish está utilizando JAX-WS de Java?

¿Son iguales JAX-WS de Metro y Java?

+0

¡Esta pregunta se ve más de 400 veces y no se vota ni siquiera una vez! ¡¡Un gran FAT +1 !! –

Respuesta

26

JAX-WS es una API, mientras que Metro es la implementación de referencia para JAX-WS API; ambos son de Sun/Oracle, por lo tanto son estándar. Puede verlos como una interfaz (JAX-WS) y una clase que implementa la interfaz (Metro), solo en un nivel superior. Glassfish también usa Metro como implementación para JAX-WS.

Cabe señalar que Metro contiene la implementación de JAXB y otras API.

Además, los servicios web SOAP son de alguna manera obsoletos; la nueva tendencia es usar los servicios web REST; JAX-RS (con varias implementaciones desde Jersey estándar a Restlet o CXF).

+0

¡Gracias por su respuesta! Entonces, ¿cuál es el que está incluido en JDK 1.6? ¿Es solo una implementación de API o JAX-WS? – Arci

+0

@Arci Incluye también Metro. Vea aquí una respuesta elaborada - http://stackoverflow.com/questions/9116008/does-java-7-include-a-jax-ws-implementation- or- just-the -api. – m3th0dman

+0

Uhm ... ¿Pero pensé que JDK 1.6 contiene una implementación de JAX-WS? ¿O es solo una API cuando dijeron que JDK 1.6 está incluido con JAX-WS?Cuando dices API, ¿significa que es solo una interfaz y no una implementación? – Arci

0

accourding a Metro's home page, "Metro consta de Proyecto de ejecución JAX-WS de referencia y el proyecto de Interoperabilidad de Servicios Web Tecnología."

Web Services tecnologías de interoperabilidad (WSIT) (anteriormente conocido como Proyecto Tango) incluye implementaciones de:

  • SOAP a través de TCP
  • WS-AtomicTransactions/Coordinación
  • WS-MetadataExchange
  • WS-Policy (https://github.com/javaee/metro-policy)
  • WS-Reliable Messaging
  • WS-SecureConversation
  • WS-Security
  • WS-SecurityPolicy
  • WS-Trust

Look en este answer para más información.