Lorsque nous parlons de services de développement de services Web, nous devons introduire plusieurs frameworks actuellement utilisés pour développer des services Web, à savoir Axis, axis2, Xfire, CXF et JWS (c'est-à-dire, comme mentionné précédemment JAX-WS, il s'agit d'une implémentation du service Web fourni par la version Java 6)
Les premiers sont tous des projets open source, parmi lesquels axis2 et cxf sont les plus couramment utilisés, et Axis et XFire ont été utilisés À mesure que la technologie continue d'évoluer, elle touche lentement à sa fin. Actuellement, seuls axis2 et cxf disposent de mises à jour officielles, tandis qu'Axis et XFire ne sont plus mis à jour.
Ce qui suit présentera les différences entre ces frameworks afin que vous puissiez faire un meilleur choix :
XFire est un nouveau framework aux côtés d'Axis2 Une première génération Plateforme WebService . On l'appelle la nouvelle génération car elle :
1. Prend en charge une série de nouvelles normes pour les services Web - JSR181, WSDL2.0, JAXB2, WS-Security, etc. ; En utilisant Stax pour interpréter XML, les performances ont été qualitativement améliorées. XFire utilise Woodstox comme implémentation de Stax ;
3 Facile à utiliser, vous pouvez publier des services à partir de pojo de manière pratique et rapide
4. Mécanismes, y compris Aegis par défaut, xmlbeans, jaxb2, castor.
Comparaison des performances entre XFire et Axis11 XFire est 2 à 6 fois plus rapide que Axis1.3 2. est Axis1 .1/2 à 1/5 de 3
Comparaison entre XFire et Axis2Bien que XFire et Axis2 soient tous deux des plateformes WebService de nouvelle génération, les développeurs d'Axis2 Trop impatient de lancer la version 1.0, la 1.0 n'est donc pas encore une version stable. Son développeur affirme que la version 1.1 sera bientôt lancée, et espère que la version 1.1 sera une version stable. Certaines personnes pensaient qu'Axis2 allait mourir après que XFire ait été donné à Apache. En fait, aux yeux de beaucoup de gens, Axis2 n'est pas une forme pojo. Dan Diephouse a prouvé que XFire a plus de marché qu'Axis
J'ai également constaté que de nombreuses personnes ont commencé à passer d'Axis à XFire, y compris moi, qui a également convaincu les gens autour de moi En ce qui concerne l'utilisation de XFire pour le développement de services Web, il est courant que je puisse apprendre à mon équipe à utiliser XFire pour publier son propre service Web en quelques minutes.
Je préfère que XFire soit effectivement beaucoup plus simple qu'Axis2.
AXIS VS CXFDans le domaine de la SOA, nous pensons que le service Web est la pierre angulaire du système SOA. Pour les développeurs de services, AXIS et CXF doivent être familiers. Les deux produits sont des outils de développement open source de services Web sous Apache Incubator.
La dernière version d'Axis au moment de la publication de cet article était la 1.4 ; CXF a désormais atteint la version 3.0.
Ces deux frameworks sont développés à partir de projets open source existants
Axis2 est développé à partir de la série Axis1.x. CXF est une combinaison des projets XFire et Celtix. Axis2 est entièrement réimplémenté de bas en haut, en utilisant une nouvelle architecture de modules offrant une meilleure évolutivité. CXF réapprofondit également les deux outils de développement XFire et Celtix.
Comparer les méthodes de développement de services Web de ces deux frameworks est aussi important que comparer leurs fonctionnalités.
Du point de vue d'un développeur, les fonctionnalités des deux frameworks sont assez différentes.
La méthode de développement d'Axis2 est similaire à un petit serveur d'applications. Le package de développement d'Axis2 doit être déployé sous forme de WAR dans un conteneur Servlet, tel que Tomcat. Grâce à ces conteneurs, le service Web fonctionnel peut. être bien surveillé et géré.
Le module administrateur Web d'Axis2 nous permet de configurer dynamiquement Axis2. Un nouveau service peut être téléchargé, activé, désactivé et les paramètres du service Web peuvent être modifiés.
L'interface utilisateur de gestion peut également gérer un ou plusieurs services en cours d'exécution. Un inconvénient de cette méthode de gestion basée sur l'interface est que tous les paramètres modifiés pendant l'exécution ne peuvent pas être enregistrés, car après le redémarrage, toutes les modifications que vous effectuez deviendront invalides.
Axis2 se permet d'être utilisé comme une application autonome pour publier le Web Service, et fournit un grand nombre de fonctions et un bon modèle, qui peut continuellement ajouter de nouvelles fonctions grâce à sa propre architecture (architecture modulaire).
Certains développeurs pensent que cette approche est trop lourde pour leurs besoins et préféreront CXF
CXF accorde plus d'attention à l'ergonomie et à l'intégrabilité des développeurs.
La plupart peuvent être effectués via l'API de configuration, remplaçant les fichiers de configuration XML les plus encombrants. L'intégration de Spring est souvent mentionnée et l'API de CXF et les fichiers de configuration de Spring peuvent être une très bonne correspondance.
CXF met l'accent sur la conception axée sur le code et utilise une API simple pour faciliter le développement de services à partir d'applications existantes.
Peu importe que vous choisissiez Axis2 ou CXF, vous pouvez obtenir beaucoup d'aide de la communauté open source.
Les deux frameworks ont des sociétés commerciales fournissant des services, WSO2 prend en charge AXIS2 et Iona prend en charge CXF. Les deux sociétés disposent de communautés de développeurs actives.
Ce qui suit présente les concepts de base de ces frameworks de services Web1 JWS est une implémentation du service WebService en langage Java et est utilisé pour développer et publier Serve. Du point de vue du service lui-même, le service JWS n'a pas de frontières linguistiques. Cependant, le langage Java permet aux développeurs Java de publier et d'appeler facilement des services WebService.
2. Axis2 est un framework WebService lourd sous Apache Pour être précis, il s'agit d'un moteur Web Services/SOAP/WSDL. Il peut non seulement produire et publier du WebService, mais également générer. Java et autres versions linguistiques du code client et serveur WebService.
C'est son avantage. Cependant, cela conduit inévitablement à la complexité d'Axis2. Les développeurs qui l'ont utilisé savent que le nombre et la taille des packages sur lesquels il s'appuie sont stupéfiants à conditionner, à déployer et à publier, et qu'il ne peut pas être bien intégré aux applications existantes. intégré en un seul.
Mais si vous souhaitez développer des clients dans des langages autres que Java, les riches outils fournis par Axis2 seront votre meilleur choix.
3. XFire est un framework WebService hautes performances. Avant Java6, sa popularité dépassait même l'Axis2 d'Apache. L'avantage de XFire est qu'il est facile à développer et s'intègre bien au Web existant. est très pratique pour le développement
Cependant, aucun outil de codage pertinent n'est fourni pour les langages autres que Java. XFire a ensuite été racheté par Apache parce qu'il était trop bon. Après l'acquisition, avec la montée en puissance de Java6 JWS, le moteur open source WebService n'était plus favorisé et est progressivement tombé en déclin.
4. CXF est un framework SOA simple et lourd sous Apache, qui implémente ESB (Enterprise Service Bus).
CXF est issu du projet XFire et a été formé après transformation, tout comme l'actuel Struts2 vient de WebWork
On voit que le sort de XFire sera le même que celui de WebWork, et cela finira par disparaître de la conscience des gens. CXF n'est pas seulement un excellent moteur de services Web/SOAP/WSDL, mais aussi un bon bus ESB, qui offre une option pour la mise en œuvre de SOA. Bien sûr, ce n'est pas le meilleur. Il n'implémente qu'une partie de l'architecture SOA.
Remarque : concernant la relation entre Axis2 et CXF, la première est qu'Axis2 est apparu plus tôt et CXF a rapidement rattrapé son retard.
Comment choisir :
1. Si l'application nécessite une prise en charge multilingue, Axis2 devrait être le premier choix ;
2. l'application est Si vous suivez la philosophie Spring, Apache CXF est un meilleur choix, en particulier pour les services Web intégrés
3 Si l'application ne nécessite pas de nouvelles fonctionnalités, utilisez simplement le projet d'origine. Les frameworks utilisés, tels que. Axis1, XFire, Celtrix ou BEA et les implémentations de services Web d'autres fabricants ne perdent pas de temps ni d'argent.
Enfin, ma suggestion est la suivante : si vous avez besoin d'un support multilingue, vous devez choisir AXIS2.
Si vous devez concentrer votre implémentation sur JAVA et souhaitez intégrer Spring, CXF est un meilleur choix, notamment pour intégrer votre service Web dans d'autres programmes.
Si vous estimez que les nouvelles fonctionnalités de ces deux frameworks ne vous sont pas d'une grande utilité, vous sentirez qu'Axis1 est également un bon choix. Vous devriez continuer à l'utiliser jusqu'à ce que vous ayez de bonnes raisons de le remplacer. .
Merci à tous d'avoir lu, j'espère que vous en bénéficierez beaucoup.
Cet article est reproduit à partir de : https://blog.csdn.net/apicescn/article/details/42965785
Tutoriel recommandé : "Tutoriel Java"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!