Parcours : OpenclassRooms - DA Java/JEE
Projet 7 : Développez le nouveau système d’information d’une bibliothèque
Login : lou@lou.fr / lou
- [ webservice ] : SOAP Web service
- [ batch ] : Système d’envoi d’e-mails récurent
- [ client ] : Application web
- Spring Framework 5.0.6
- Spring Security 5.0.5
- Spring Batch 4.0.1
- Spring Data 2.0.7
- Hibernate 5.0.6
- Apache Struts 2.5.16
- Apache CXF 3.2.4
- Apache Log4J 2.11.0
- Javax Mail 1.6.1
- Bootstrap 3.3.7
- PostgreSQL 10.4
La modification des informations de connexion à la base de données doit être réalisée dans le fichier de configuration du serveur d’application.
- l’authentification d’un utilisateur
- la récupération des ouvrages emprunté par un utilisateur ainsi qu’un historique*
- la possibilité de prolonger la durée de l’emprunt d’un ouvrage*
- la consultation des différents ouvrages enregistrés en base de données
- la création d’un nouveau compte utilisateur
- d’enregistrer un retour d’ouvrage
- de récupérer la liste des ouvrages non rendus à temps
Info : Seul le web service peut se connecter à la base de données.
- la possibilité d’effectuer une recherche d’ouvrage aussi bien par titre que par auteurs ou genre
- une interface d’authentification
- une interface utilisateur avec le rappel des informations du compte ainsi que la possibilité d’étendre le délai d’un emprunt
Le batch effectue un envoi d’e-mail récurrent en se connectant, en mode administrateur, au web service afin de récupérer la liste des ouvrage non rendus à temps.
Un fichier de propriétés regroupe un template des différentes phrases qui seront ajoutées à chaque e-mail, ainsi que la configuration du serveur d'envoi. Il est donc nécessaire de correctement configurer les données (en particulier les lignes concernant l'authentification : user & pass) comme indiqué ci-dessous :
# Config
mail.smtp.host=smtp.gmail.com
mail.smtp.port=587
mail.smtp.starttls.enable=true
mail.smtp.auth=true
# Authentication
mail.auth.user=alertSender@gmail.com
mail.auth.pass=***
Le déploiement se réalise sous Docker à l'aide du fichier yaml (docker-compose) situés dans le dossier "docker" du projet.
Afin de connecter le web service à la base de données, il est nécessaire de configurer le serveur d'application comme suit :
<GlobalNamingResources>
<!-- JNDI Resources -->
<Resource name="jdbc/kylibrary"
global="jdbc/kylibrary"
auth="Container"
type="javax.sql.DataSource"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://KyLibraryDB:5432/kylibrary"
username="kybox"
password="kybox-db-kylibrary"
maxActive="100"
maxIdle="20"
minIdle="5"
maxWait="10000"/>
</GlobalNamingResources>
<Context>
<!-- JNDI Datasource -->
<ResourceLink name="jdbc/kylibrary"
global="jdbc/kylibrary"
auth="Container"
type="javax.sql.DataSource"/>
</Context>
Après avoir lancé (cmd : docker-compose up) les 3 conteneurs (KyLibraryDB, KyLibraryPGA & KyLibrary), il sera nécessaire de packager les 3 modules Maven en 3 fichiers WAR et de les ajouter en tant qu'applications sur le serveur Tomcat (conteneur KyLibrary).
- E-mail : nslr@riseup.net
- Twitter : https://twitter.com/KyboxYan
- Linkedin : https://www.linkedin.com/in/kybox