Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
enseignement:d35:tp:ejb [2022/11/18 01:35] Emmanuel Brunoenseignement:d35:tp:ejb [2023/09/20 18:52] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 ====== I311 - EJB, CDI et REST ====== ====== I311 - EJB, CDI et REST ======
-L'objectif de cette séance est de mettre en place simplement des EJB, des beans CDI en lien avec les services web REST et la persistance JPA.+L'objectif de cette séance est de mettre en place simplement des EJB, des beans CDI en lien avec les services web REST et la persistance JPA dans un serveur d'application géré dans un conteneur.
  
 ===== Mise en place de l'environnement de travail ===== ===== Mise en place de l'environnement de travail =====
-Dans ce cadre de ces TP nous utiliserons le serveur d'applications JakartaEE glassfish et plus plus précisément la distribution Payara (https://www.payara.fish/).  +==== Le serveur d'application JEE ==== 
-Des images docker sont disponibles pour différents profils et différents JDK (https://hub.docker.com/u/payara/). Dans un premier temps, nous utiliserons la version 5 complète  (https://hub.docker.com/r/payara/server-full). La série des Payara5 est compatible avec Jakarta EE9.1 et la série Payara6 avec Jakarta EE 10.+Dans le cadre de ces TP nous utiliserons le serveur d'applications JakartaEE Glassfish et plus précisément la distribution Payara (https://www.payara.fish/). Dans un premier temps, nous utiliserons la version 5 complète  (https://hub.docker.com/r/payara/server-full). La série des Payara5 est compatible avec Jakarta EE9.1 et la série Payara6 avec Jakarta EE 10. Des images docker sont disponibles pour différents profils et différents JDK (https://hub.docker.com/u/payara/)
  
 Une édition spéciale de payara dite micro (https://www.payara.fish/learn/getting-started-with-payara-micro/) est dédiée aux architectures micro-services. Une édition spéciale de payara dite micro (https://www.payara.fish/learn/getting-started-with-payara-micro/) est dédiée aux architectures micro-services.
  
-==== Avec docker ==== +==== Installation dans des conteneurs ==== 
-Il est aussi possible et fortement conseillé d'utiliser docker pour cela+Il fortement conseillé d'utiliser des conteneurs pour mettre en oeuvre le serveur d'application, la base de données relationnelles et les autres services
-https://github.com/dptinfoutln/dockerpayaracompose/tree/develop (qui s'appuie sur https://github.com/payara/docker-payaraserver-full)+ 
 +Vous trouverez ici un exemple de base qui s'appuie sur https://github.com/payara/docker-payaraserver-full 
 +https://github.com/dptinfoutln/dockerpayaracompose/tree/develop
  
 <konsole> <konsole>
Ligne 21: Ligne 23:
 </konsole> </konsole>
  
-L'interface du serveur est accessible sur https://localhost:4848/ ou celle de votre VM virtualbox.+L'interface d'administration du serveur est accessible sur https://localhost:4848/ (ou l'IP de votre VM).
  
 Pour paramétrer les connexions à la base de données, étudier le docker-compose.yml qui contient un exemple avec H2 (à adapter pour postgres). Pour paramétrer les connexions à la base de données, étudier le docker-compose.yml qui contient un exemple avec H2 (à adapter pour postgres).
  
-Pour déployer une application, il est possible de le faire depuis l'interface web d'administration, via un volume docker, ou en faisant un image contenant l'application.  +Pour déployer une application, il est possible de le faire depuis l'interface web d'administration, via un volume docker, ou en faisant une image contenant l'application. Votre IDE peut être paramétré pour faire cela via l'API spécifique du serveur (https://docs.payara.fish/community/docs/documentation/ecosystem/intellij-plugin/README.html).
-Votre IDE peut etre paramétré pour faire cela via l'API spécifique du serveur (https://docs.payara.fish/community/docs/documentation/ecosystem/intellij-plugin/README.html).+
  
 ===== Une application JEE "Minimale" ===== ===== Une application JEE "Minimale" =====
-Nous allons revoir les concepts de bases et la mise en pratique avec une application minimale : +  * Nous allons revoir les concepts de bases et la mise en pratique avec une application minimale : 
-https://github.com/ebpro/simplejee91/tree/develop+    https://github.com/ebpro/simplejee91/tree/develop 
 + 
 +  Ce projet illustre les concepts et techniques de base en s'appuyant sur les documents suivants. 
 + 
 +  * La mise en place de base et l'utilisation d'une Servlet sont expliqués ici : 
 +    * https://blog.payara.fish/getting-started-with-jakarta-ee-9-hello-world 
 +    * L'accès à la servlet http://localhost:8080/hello/world
  
-La mise en place de base et l'utilisation d'une servlet sont expliqués ici : +  * La mise en place de base d'une API REST est présentée ici : 
-https://blog.payara.fish/getting-started-with-jakarta-ee-9-hello-world +    https://blog.payara.fish/getting-started-with-jakarta-ee-9-how-to-create-a-rest-api-with-jakarta-ee-9 
-L'accès à la servlet +    L'accès à l'API REST : curl -v http://localhost:8080/hello/api/hello
-http://localhost:8080/hello/world+
  
-La mise en place de base d'une API REST est présentée ici : +  * La mise en place de base de CDI est présentée ici  
-https://blog.payara.fish/getting-started-with-jakarta-ee-9-how-to-create-a-rest-api-with-jakarta-ee-9 +    https://blog.payara.fish/getting-started-with-jakarta-ee-9-context-and-dependency-injection-cdi 
-L'accès à l'API REST +    * curl -v "http://localhost:8080/hello/api/hello/cdi/Bob?language=fr" 
-curl -v http://localhost:8080/hello/api/hello+    curl -v "http://localhost:8080/hello/api/hello/bye"
  
-La mise en place de base de CDI est présentée ici  +  * A vous de découvrir la mise en place JPA avec JEE (deux points principaux : l'adaptation du persistance.xml et l'injection d'un entity manager). 
-https://blog.payara.fish/getting-started-with-jakarta-ee-9-context-and-dependency-injection-cdi +    https://blog.payara.fish/getting-started-with-jakarta-ee-9-jakarta-persistence-api-jpa
-curl -v "http://localhost:8080/hello/api/hello/cdi/Bob?language=fr" +
-curl -v "http://localhost:8080/hello/api/hello/bye"+
  
-vous de décrouvrir la mise en place JPA avec JEE +partir de là, mettre en place vos classes métiers avec CDI et des EJBs en vous appuyant sur la persistance JPA et permettre l'accès via une API REST.
-https://blog.payara.fish/getting-started-with-jakarta-ee-9-jakarta-persistence-api-jpa+
  
-A partir de là, mettez en place vos classes métiers avec CDI et des EJBs en vous appuyant sur la persistance JPA et activer l'accès via une API REST. 
  
-Pour aller beaucoup plus loin.... +Pour aller beaucoup plus loin.... https://github.com/hantsy/jakartaee9-starter-boilerplate
-https://github.com/hantsy/jakartaee9-starter-boilerplate+
  
 ---- struct data ---- ---- struct data ----