Comparação entre Sun Metro e Apache CXF para o desenvolvimento de serviços web?
-
05-07-2019 - |
Pergunta
Quais são os pontos fortes e fracos entre Sun Metro e Apache CXF para o desenvolvimento webservice em Java. Existe um outro quadro que eu deveria estar olhando assim?
Solução
Eu estava em sua posição de alguns meses atrás, e acabou olhando mais de perto Metro.
A característica do assassino para mim foi o fato de que o Metro usa anotações padrão para expor um determinado método como um serviço web e que todo o código a cola poderia ser gerado automaticamente em tempo de execução. Ou seja, há medidas adicionais para fazer ao construir e implantar e trabalha em um servlet container padrão (2,5 acredito) em Java 5, que é a nossa plataforma de implantação atual.
Isso tem funcionado muito bem para nós.
A razão que eu fui para os anotações padrão é o muito simples que as nossas aplicações tendem a viver literalmente por décadas depois que alguns manutenção deve ser feito. Codificando a uma interface em vez de uma implementação que pode trocar todo o andaime sob o código sem alterar o código de implementação do serviço web. Com o tempo anos dez (ou mais) de qualquer implementaiton específica pode ter murchado e morrido, mas outros implementaitons pode ter subido desde então e imediatamente pluggable.
Basta ver quantas opções você tem hoje para um servlet container ... Isso é o poder de uma boa API!
Edit: Aparentemente, o tempo de execução Java 6 inclui a pilha de Metro mais um servidor web mínima. Em outras palavras, o JRE por si só pode ser o substituto andaimes mencionado acima: D
Outras dicas
Tanto Metro e CXF são JAX-WS pilhas de serviços da Web compatível, e de uma perspectiva de tempo de execução, há muito pouco escolher entre eles.
No entanto, CXF tem muito melhor documentação, e muito mais flexibilidade e funcionalidade adicional se você está disposto a ir além da especificação JAX-WS. Com base na documentação sozinho, eu escolheria CXF ao longo do tempo Metroevery.
No entanto, eu iria pegar Primavera sobre qualquer Metro ou CXF. Não é-JAX-WS compatível, mas não considero que isso seja um problema. Também é tanto consideravelmente mais simples, e consideravelmente mais flexível do que qualquer um deles. Altamente recomendado.