Je serais reconnaissant si quelqu'un m'aide à comprendre la différence entre le service Web axis2 et le service Web CXF.
Les principales différences entre le service Web axis2 et le service Web CXF sont les suivantes:
CXF prend en charge WS-Addressing, WS-Policy, WS-RM, WS-Security et WS-I BasicProfile. Axis2 prend en charge chacun de ces éléments, à l'exception de WS-Policy, qui sera pris en charge dans une prochaine version.
CXF a été écrit avec Spring en tête; Axis2 ne l'est pas.
Axis2 prend en charge une gamme plus large de liaisons de données, notamment XMLBeans, JiBX, JaxMe et JaxBRI, ainsi que sa propre liaison de données native, ADB. Notez que la prise en charge de JaxME et JaxBRI est toujours considérée comme expérimentale dans Axis2 1.2. CXF ne prend actuellement en charge que JAXB et Aegis; la prise en charge de XMLBeans, JiBX et Castor viendra dans CXF 2.1.
Axis2 prend en charge plusieurs langues - il existe une version C/C++ disponible en plus de la version Java.
En comparant ces cadres, cependant, il est tout aussi important d'examiner leur approche du développement de services Web que de comparer les fonctionnalités. Du point de vue du développeur, les deux cadres se comportent très différemment l'un de l'autre. Axis2 a adopté une approche qui le fait ressembler à bien des égards à un serveur d'applications en miniature. Axis2 est fourni avec un fichier WAR qui peut être déployé sur un conteneur de servlet tel que Tomcat, conçu pour faciliter la gestion et le déploiement des services Web à la volée. Le module d'administration Web d'Axis2 permet à Axis2 d'être configuré dynamiquement pendant que les applications sont en cours d'exécution - de nouveaux services peuvent être téléchargés, activés ou désactivés et leurs paramètres peuvent être modifiés. L'interface utilisateur d'administration permet également d'activer les modules sur un ou plusieurs services en cours d'exécution. Le seul inconvénient de l'utilisation de l'interface utilisateur à ces fins est le fait que les modifications de configuration effectuées via celle-ci ne sont pas persistantes - elles disparaissent lorsque le conteneur de servlet est redémarré.
Axis2 se prête à des services Web autonomes, indépendants des autres applications, et offre une grande variété de fonctionnalités, et un bon modèle pour ajouter plus de fonctionnalités au fil du temps grâce à son architecture modulaire. Certains développeurs peuvent trouver cela un peu trop lourd ou trop lourd pour leurs besoins. Ces développeurs pourraient préférer regarder Apache CXF.
CXF se concentre sur l'ergonomie et l'intégration du développeur. La plupart de la configuration se fait via l'API au lieu de fichiers XML encombrants, l'intégration de Spring est fortement soulignée, y compris la prise en charge de Spring 2.0, et les API de CXF et la configuration de Spring se reflètent assez étroitement. CXF met l'accent sur la conception basée sur le code, en utilisant des API simples pour faciliter le développement de services à partir d'applications existantes (et son intégration peut également aider).
Quel que soit le framework que vous choisissez, vous bénéficierez d'une communauté open source active et stable. Chacun de ces cadres a un support d'entreprise: Axis2 est soutenu par WSO2 et CXF par Iona. Les deux ont des communautés de développeurs animées. Axis2 existe depuis plus longtemps mais CXF rattrape rapidement son retard. Ma recommandation est la suivante: si le support multilingue est important, Axis2 est le choix clair. Si vous vous souciez d'une implémentation axée sur Java avec une intégration étroite dans des projets comme Spring, CXF est un meilleur choix, en particulier pour intégrer des services Web à l'intérieur d'autres programmes. Si les nouvelles fonctionnalités de ces projets sont pas important, et vous êtes relativement satisfait d'Axis1, vous devriez envisager de continuer et de suivre les dernières versions de maintenance jusqu'à ce que vous ayez une raison commerciale de migrer.