Tutoriel web services : CXF + Spring + maven

////Tutoriel web services : CXF + Spring + maven

Maîtrisez la valeur ajoutée du framework Apache CXF pour le développement et le déploiement de vos services web. Comprenez la valeur ajoutée du couplage Spring / CXF pour vos développement de services web. Enfin, gérez vos dépendances et la génération de vos livrables avec Maven 2.

Ce tutoriel est fourni par Objis, spécialiste formation JAVA depuis 2005.

Liens utiles

 + de 100 tutoriaux java/jee Objis

 Tutoriel et formation Web Services

 Web Services (bottom-up) avec Eclipse / Axis2

 Specs WS-Addressing

 WS-Adressing avec CXF

 WS-Security avec CXF

 WS-ReliableMessaging avec CXF (config, Exemple sous Jboss)

Formation Architecture Java

Soyez prêt pour des projets ambitieux : formation architecture Java Objis

programme-detaille-formation-architecture-java-objis

Programme

 Bonne pratique : couplage Spring / Apache CXF

 Bonne pratique : intégration Apache CXF à un développement J2ee

 Bonne pratique : coder appel web service dans couche service Spring

 Bonne pratique : gestion dépendances (jars) cxf, automatisation build et création livrable war avec maven.

Prérequis

 Installation Apache CXF

¨Programme

 Contexte

 Partie 1 : Création du web service

 Partie 2 : intégration Spring / CXF

 Partie 3 : build maven

 Partie 4 : création de la livraison

 Partie 5 : déploiement web service

 Partie 6 : test

 Partie 7 : intégration dans projet Spring MVC

Contexte

Valeur ajoutée cxf+serveur pour déploiement ws

Dans le tutoriel ‘création web service avec java 6’ , la publication du service web était gérée par une classe spécifique. De plus le web service n’était pas multithread.

CXF, couplé à un serveur d’application (Ex : Tomcat) va nous permettre de nous dispenser d’une classe spécifique pour publier notre web service. De plus le web service sera accessible par plusieurs clients simultanés.

Votre mission

Dans le cadre d’une architecture applicative basée sur Spring, vous devez permettre dans la coucche service l’appel à un web service.

tutoriel_spring_objis_introduction_spring_mvc_2.png

INFO : voir le tutoriel Spring N°8 : introduction Spring MVC , pour plus d’éléments techniques.

Partie 0 : création projet web spring sous eclipse

 Installez Tomcat 6

 Installez Eclipse Entreprise (Ex : galileo)

 Intégrez tomcat dans eclipse

 Installez le plugin Spring IDE

 Créez un projet web dynamique eclipse : demospringwebservices

 Donnez au projet la ‘nature Spring’ afin de bénéficier des assistants comme celui pour création du fichier de définition des beans Spring

 Ajoutez à eclipse le plugin Maven m2eclipse (http://m2eclipse.sonatype.org/update)

 Donnez au projet la ‘nature maven’, afin de synchroniser dépendances maven/eclipse

Partie 1 : création du service web

Interface

tutoriel-web-service-cxf-spring-maven-1

 Expliquez

Implémentation

tutoriel-web-service-cxf-spring-maven-2

 Expliquez

domaine métier

tutoriel-web-service-cxf-spring-maven-3

 Expliquez l’annotation JAXB @XmlRootElement

Partie 2 : intégration Spring / CXF

Un des avantages du framework CXF est sa bonne intégration avec le framework Spring.

Dans cette partie vous allez :

— créez le fichier de configuration de Spring ApplicationContext.xml

— configurez le fichier web.xml de l’application pour l’intégration de l’application avec Spring.

Fichier AppliCationContext.xml

 A l’aide de l’assistant de création de fichier de beans, créez le fichier WEB-INFApplicationContext.xml

tutoriel-web-service-cxf-spring-maven-4

 Ajoutez le namespace jaxws , qui permettra par exemple de déclarer notre service web à publier

tutoriel-web-service-cxf-spring-maven-5

 Ajoutez le code de déclaration de notre service web

tutoriel-web-service-cxf-spring-maven-6

 

tutoriel-web-service-cxf-spring-maven-7

 Expliquez

Fichier web.xml

 Ajoutez au fichier web.xml les éléments permettant de charger le conteneur spring.

tutoriel-web-service-cxf-spring-maven-8

 Expliquez le rôle de la servlet org.apache.cxf.transport.servlet.CXFServlet

Partie 3 : build maven

 Analysez le contenu du fichier pom.xml suivant.

En particulier, expliquez la section des dépendences :

tutoriel-web-service-cxf-spring-maven-8bis

Quelle est la valeur ajoutée de Maven dans notre projet ?

Voici l’arborescence du projet .

tutoriel-web-service-cxf-spring-maven-12

Partie 4 : création de la livraison

 Lancez : mvn clean install

Après quelques secondes durant lesquels maven rapatrie en local les dépendences du projet, vous obtenez le résultat suivant :

tutoriel-web-service-cxf-spring-maven-9

Partie 5 : déploiement

 Lancez tomcat

 déposez la livraison dans le répertoire webapps de tomcat

tutoriel-web-service-cxf-spring-maven-10

 Analysez les logs console de tomcat

Parmi les ligne de log, remarquez les lignes suivantes :

tutoriel-web-service-cxf-spring-maven-11

 Expliquez.

 Avec le navigateur, allez à l’adresse suivant : http://localhost:8080/demandeformation-1.0-SNAPSHOT/

tutoriel-web-service-cxf-spring-maven-13

CXF nous informe qu’un service web a été publié et est disponible

 Analysez le WSDL du service web:

tutoriel-web-service-cxf-spring-maven-14

Partie 6 : Client

Analysez le fichier client-beans suivant :

tutoriel-web-service-cxf-spring-maven-17

 Expliquez

 Analysez le code de la classe cliente :

tutoriel-web-service-cxf-spring-maven-15

 Lancer la commande suivante : mvn exec:java -Dexec.mainClass=com.objis.demowebservice.client.Client

 Expliquez

tutoriel-web-service-cxf-spring-maven-16

Projet eclipse

demospringwebservices

Partie 7 : intégration dans projet Spring

Intégrez le code client dans le projet Spring MVC (tutoriel 8 Spring MVC Objis).

correction-tutoriel8-springg-mvc-partie10-annotations-controleur-spring25

où mettre le code du cleint web service ?

Conclusion

Dans ce tutoriel, vous avec mis en oeuvre Spring, Apache CXF et maven pour le développement, déploiement et test d’un service web.

Formation Architecture Java

Soyez prêt pour des projets ambitieux : formation architecture Java Objis

programme-detaille-formation-architecture-java-objis

2018-01-27T19:37:30+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java