Metro vs JAX-WS do Java?

Qual é a diferença entre o JAX-WS e o Metro do Java? Eles são os mesmos de duas implementações JAX-WS diferentes?

De acordo com minha pesquisa, o JAX-WS já faz parte do JDK 6. No entanto, o JAX-WS não vem com o pacote padrão do JDK, então procurei por um jar Java EE. No entanto, parece que o Oracle não hospeda um jar Java EE compilado, mas em vez disso fornece Glassfish, que é um servidor Java EE.

Consegui executar meu serviço da Web no Glassfish. Qual implementação do JAX-WS o Glassfish usa? Já que ele está hospedado no Oracle, estou assumindo que ele está usando a implementação Java do JAX-WS, que supostamente faz parte do JDK 1.6? Estou correto com minha suposição? Além disso, para executar um serviço da Web baseado em JAX-WS, preciso fazer o download de jars JAX-WS. Eu encontrei o Metro . Mas na sua página, vejo o link do metro para ser uma sublink de Glassfish. Então agora estou confuso. Glassfish está usando o Metro? Ou o Glassfish está usando o JAX-WS do Java?

O Metro e o JAX-WS do Java são os mesmos?

O JAX-WS é uma API, enquanto o Metro é a implementação de referência para a API do JAX-WS; ambos são da Sun / Oracle, portanto, são padrão. Você pode vê-los como uma interface (JAX-WS) e uma class implementando a interface (Metro), apenas em um nível superior. A Glassfish também usa o Metro como implementação para o JAX-WS.

Observe que o Metro contém a implementação para o JAXB e outras APIs.

Além disso, os serviços Web SOAP são de alguma forma obsoletos; a nova tendência é usar os Serviços Web REST; JAX-RS (com várias implementações do Jersey padrão para Restlet ou CXF).

De acordo com a página inicial do Metro , “O Metro consiste no projeto de Implementação de Referência JAX-WS e no projeto de Tecnologia de Interoperabilidade de Serviços da Web.

As Tecnologias de Interoperabilidade de Serviços da Web (WSIT) (anteriormente conhecidas como Project Tango) incluem implementações de:

  • SOAP sobre TCP
  • WS-AtomicTransactions / Coordination
  • WS-MetadataExchange
  • Política WS ( https://github.com/javaee/metro-policy )
  • WS-ReliableMessaging
  • WS-SecureConversation
  • WS-Security
  • WS-SecurityPolicy
  • WS-Trust

Veja esta resposta para mais informações.