Example de projet pour une formation dispensée sur les Web Services en Java.
Le projet comporte 5 modules:
- Un module pour la persistance des données : banking-core
- Un module pour les Web Services de type SOAP : banking-ws
- Un module pour les Web Services de type REST : banking-rest
- Un module pour les Clients SOAP : client-soap
- Un module pour les Clients REST : client-rest
Les Web Services utilisent l’implémentation APACHE CXF.
Pour chaque projet de Web Service utiliser l'archetype suivant pour generer le squelette du projet:
mvn archetype:generate -Dfilter=org.apache.cxf.archetype:
L'execution de la commande prompte une série de choix qui vous guideront à la création du POM de votre projet.
Pour le module d’accès aux bases de donnéesbanking-core
, éditez le fichier src/main/resources/META-INF/persistence.xml
et configurez les informations relatives à votre base de données :
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="banking-pu" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<class>com.banque.services.core.model.Client</class>
<class>com.banque.services.core.model.Compte</class>
<class>com.banque.services.core.model.Transaction</class>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/CoreBanking"/>
<property name="javax.persistence.jdbc.user" value="username"/>
<property name="javax.persistence.jdbc.password" value="password"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>
<property name="hibernate.useUnicode" value="true"/>
<property name="hibernate.characterEncoding" value="utf-8"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
</properties>
</persistence-unit>
</persistence>
- Lancez la commande
mvn clean install
pour compiler chaque module ou tous les modules a la fois - Placez le(s) fichier(s) .war file (banking-ws.war, banking-services,..) dans le repertoire
webapps
de Tomcat