Question

Quelles sont les forces et faiblesses relatives entre Sun Metro et Apache CXF pour le développement de services Web en Java. Existe-t-il un autre cadre que je devrais examiner également?

Était-ce utile?

La solution

J'étais dans votre position il y a quelques mois et j'ai fini par regarder de plus près Metro.

Pour moi, la principale caractéristique était que Metro utilisait des annotations standard pour exposer une méthode donnée en tant que service Web et selon lequel tout le code collé pouvait être généré automatiquement au moment de l'exécution. C'est à dire. aucune étape supplémentaire à faire lors de la construction et du déploiement et qui fonctionne dans un conteneur de servlets standard (2.5 je crois) sous Java 5, qui est notre plate-forme de déploiement actuelle.

Cela a très bien fonctionné pour nous.

La raison pour laquelle j’ai opté pour les annotations standard est très simple: nos applications ont tendance à vivre littéralement pendant des décennies, après quoi certaines opérations de maintenance doivent être effectuées. En codant sur une interface plutôt que sur une implémentation, nous pouvons échanger l'intégralité de l'échafaudage sous le code sans modifier le code implémentant le service Web. Dans dix ans (ou plus), toute mise en oeuvre spécifique aura peut-être flétri et est morte, mais d’autres mises en œuvre peuvent avoir augmenté depuis et être immédiatement connectables.

Voyez combien de choix vous avez aujourd'hui pour un conteneur de servlets ... C’est la puissance d’une bonne API!

Éditer: Apparemment, le runtime de Java 6 inclut la pile Metro et un serveur Web minimal. En d'autres termes, la JRE seule peut être le remplacement d'échafaudage mentionné ci-dessus: D

Autres conseils

Metro et CXF sont tous deux des piles de services Web conformes à JAX-WS. Du point de vue de l'exécution, il y a très peu de choix entre eux.

Cependant, CXF dispose d'une beaucoup beaucoup de documentation, ainsi que de beaucoup plus de flexibilité et de fonctionnalités supplémentaires si vous souhaitez aller au-delà de la spécification JAX-WS. Sur la seule base de la documentation, je choisirais CXF sur l'heure Metroevery.

Toutefois, je choisirais Spring WebServices via Metro ou CXF. Ce n'est pas conforme à JAX-WS, mais je ne considère pas cela comme un problème. C'est aussi à la fois considérablement plus simple et beaucoup plus flexible que l'un ou l'autre. Fortement recommandé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top