184 votes

Différence entre Apache CXF et axe

Quels sont les avantages d’utiliser Apache CXF Apache Axis et vice versa ?

237voto

Daniel Kulp Points 8782

Gardez à l'esprit, je suis complètement biaisée (PMC Président de CXF), mais mes pensées:

Sur un plan strictement "le projet peut-il faire ce que je dois faire" point de vue, les deux sont assez équivalent. Il y a certains "cas limite" des choses qui CXF peut faire que l'Axe 2 ne peut pas et vice versa. Mais pour 90% de cas d'utilisation, les deux marchent très bien.

Donc, cela se résume à un tas d'autres choses autres que la case à cocher "caractéristiques".

  • API - CXF pousse "normes de base" de l'API (JAX-WS conforme) alors que Axis2 générale va vers la propriété des choses. Cela dit, même CXF peut exiger utilise des API propriétaire de configurer/contrôle de diverses choses à l'extérieur de l'JAX-WS spec. Pour le RESTE, CXF aussi utilise la norme API (JAX-RS conforme) au lieu de la propriété des choses. (Oui, je suis consciente de JAX-WS exécution dans Axis2, mais les outils et les docs et tout ce qui n'est pas la cible)

  • Les aspects communautaires et de prise en charge - CXF est fière de répondre aux questions et faire des "corrections" à la disposition des utilisateurs. CXF y a 12 packages de correctifs pour le 2.0.x (sorti il y a deux ans, donc environ tous les 2 mois), 6 packages de correctifs à 2.1.x, et maintenant 3 2.2.x. Axis2 n'a pas vraiment de "soutien" des versions plus anciennes. À moins d'une "critique" de l'émission est frappé, vous pourriez avoir à attendre jusqu'à la prochaine grande version (environ tous les 9-10 mois) pour obtenir des correctifs. (bien que, avec le soit, vous pouvez récupérer le code source et de correction/corrigé de vous-même. Gotta love open source.)

  • Intégration - CXF a beaucoup plus de Spring integration si vous utilisez le Printemps. Toute la configuration et telle est fait par le biais de Printemps. Aussi, les gens ont tendance à considérer CXF comme plus "intégré" (je n'ai jamais regardé Axis2 de ce point de vue) dans d'autres applications. Vous ne savez pas si des choses comme ce qui vous importe.

  • Performance - ils tous les deux très bien. Je pense que Axis2 propriétaire de la BAD la liaison de données est un peu plus rapide que CXF, mais si vous utilisez JAXB (normes de base de l'API de nouveau), CXF est un peu plus rapide. Lors de l'utilisation des scénarios plus complexes, comme WS-Security, la sécurité sous-jacent "moteur" (WSS4J) est la même pour les deux de sorte que la performance est tout à fait comparable.

Vous ne savez pas si cela répond à la question à tous. Espérons au moins fournit certaines informations.

:-)

Dan

60voto

vsg Points 21
  • Axe2 : Plus omniprésente sur le marché, supporte plus de liaisons, supporte d'autres langages comme le C / C ++.
  • CXF : beaucoup plus facile à utiliser, plus convivial pour le printemps, plus rapide pour certaines extensions WS- *.

44voto

Une chose est l'activité de la communauté. Comparer la liste de diffusion de la circulation de l'axe et cxf (2013).

Donc, si c'est un indicateur de l'utilisation puis de l'axe est de loin le moins utilisé que cxf.

Comparer CXF et de l'Axe des statistiques de la ohloh. CXF a une très forte activité de l'Axe a une faible activité dans son ensemble.

C'est le tableau pour le nombre de validations plus de temps pour CXF (rouge) et Axis1 (vert) Axis2 (bleu). enter image description here

24voto

ajp Points 55

L'avantage de CXF:

1) CXF prend en charge pour le WS-Addressing, WS-policy, WS-RM, WS-Security et WS-I BasicProfile. 2) CXF implémente JAX-WS API (selon par JAX-WS 2.0 TCK). 3) CXF a une meilleure intégration avec le Printemps et les autres cadres. 4) CXF a haute extensibilité en termes de intercepteur de la stratégie. 5) CXF a plus de fonction configurable via l'API au lieu de la lourdeur des fichiers XML. 6) CXF a des Liaisons:SAVON、REST/HTTP, et ses Données Bndings soutien JAXB 2.0、Égide, par défaut il utilise JAXB 2.0 et plus proche de Java spécification de la norme. 7) CXF a une abondance de trousses d'outils, par exemple Java pour WSDL WSDL pour Java, XSD pour WSDL, WSDL, XML, WSDL SOAP, WSDL du Service.

L'avantage de Axis2:

1) Axis2 prend également en charge WS-RM, WS-Security, et WS-I BasicProfile sauf pour WS-policy, j'attends qu'il sera pris en charge dans une version à venir. 2) Axe a plus d'options pour les liaisons de données pour le votre choisissent 3) Axis2 prend en charge plusieurs langues-dont le C/C++ version et la version de Java. 4) Axis2 prend en charge un large éventail de liaisons de données, y compris XMLBeans, JiBX, JaxMe et JaxBRI ainsi que ses propres natif de liaison de données de la BAD. plus l'histoire que CXF. 5) à Partir de ci-dessus avantage éléments, il nous amène à une bonne pensées pour comparer Axis2 et CXF sur leurs propres mérites. ils ont tous différents bien développée dans un certain domaine, CXF est très configurable, intégrable et a de riches des kits d'outils de prises en charge et à proximité de la communauté Java, Axis2 a pris une approche qui rend bien des égards, ressemblent à un serveur d'application en miniature. c'est à travers de multiples langages de programmation. parce que son Indépendance, Axis2 se prête vers des services web que de rester seul, indépendamment des autres applications, et offre une grande variété de fonctionnalités.

En tant que développeur, nous avons besoin de l'accord de notre point de vue pour faire le bon choix, quel que soit le cadre que vous choisissez, vous aurez l'avantage d'un actif et stable de la communauté open source. En termes de performances, j'ai fait un test basé sur la même fonctionnalité et configed dans le même conteneur web, le résultat montre que CXF effectué peu mieux que le Axis2, le seul cas peut ne pas refléter exactement leurs capacités et leurs performances. Dans certains articles de recherche, il révèle que Axis2 propriétaire de la BAD la liaison de données est un peu plus rapide que CXF car il n'ont pas de fonction supplémentaire(WS-Security). Apache AXIS2 est relativement plus utilisés cadre mais Apache CXF scores sur les autres Services Web Cadre relativement considérant la facilité de développement, l'actuelle tendance de l'industrie, de la performance, dans l'ensemble de la carte de pointage et d'autres caractéristiques (à moins qu'il y est des Web Services Orchestration de soutien est requis explicitement, ce qui n'est pas nécessaire ici)

2voto

Sudip7 Points 65

Selon mon expérience, CXF est bon en termes de configuration dans l'environnement Spring. De plus, les classes générées sont simples à comprendre. Et comme il est plus actif, nous bénéficions d'un meilleur support par rapport à AXIS ou AXIS2.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X