Showing posts with label inversion de contrôle. Show all posts
Showing posts with label inversion de contrôle. Show all posts

Sunday, July 10, 2016

Développement Web Java EE: JDBC, JPA, Spring (Inversion de Contrôle, Injection de Dépendances), JSF, Jasper Reports, HikariCP (Sources de Données Multiples)

Cet article regroupe une série de 8 tutoriels ayant pour objectif une prise en main en douceur du développement Web basé sur le standard Java Enterprise Edition (Java EE) et tirant profit d'outils tels que:

  • Java Persistence API (JPA), pour le mapping relationnel/objet (ORM) en considérant notamment ses implémentations par EclipseLink et Hiberante.
  • HikariCP pour gérer un pool de connexions à une (ou plusieurs) base(s) de données et ainsi optimiser la création et l'utilisation de connexions.
  • Spring core pour l'inversion de contrôle (via l'injection de dépendances), Spring AoC pour la programmation orientée aspect et Spring Security pour assister le contrôle d'accès et la gestion des sessions utilisateur.
  • Java Server Faces (JSF) pour un environnement graphique riche et flexible.
  • Jasper Reports et plus généralement la bibliothèque Java iText PDF pour faire du reporting propre, simple et pratique.
Les liens pour les tutoriels sont listés et les tutoriels correspondants décrits, ci-dessous:
  1. http://targetcode.blogspot.com/2016/03/java-et-les-bases-de-donnees-jdbc-et-jpa.html: dans ce tutoriel nous considérons dans un environnement "pas plus gros" que Java SE, la connexion à une base de données à l'aide de programmes Java: nous considérons le cas de JDBC mais aussi de JPA.
  2. http://targetcode.blogspot.com/2016/04/le-framework-spring-injection-de.html: les notions d’inversion de contrôle et de programmation orientée aspect sont abordées par ce tutoriel et illustrées à l'aide d’exemples de code faisant intervenir Spring. Toujours dans un contexte Java SE.
  3. http://targetcode.blogspot.com/2016/04/architecture-3-tiers-integration-de.html: nous présentons dans ce document une introduction à l'architecture 3-tiers. Cette présentation, théorique dans un premier lieu, est ensuite illustrée par une étude de cas qui met en pratique une intégration du framework Spring avec une implémentation de JPA. Toujours dans un contexte Java SE.
  4. http://targetcode.blogspot.com/2016/05/architecture-3-tiers-integration-de-jsf.html: nous présentons dans ce document un tutoriel mettant en place l'intégration des frameworks Java Server Faces (JSF), Spring et une implémentation de JPA. Nous passons dans ce tutoriel à un contexte Java EE.
  5. http://targetcode.blogspot.com/2016/05/securite-des-applications-web.html: nous présentons dans ce tutoriel Spring Security. L'idée est de rajouter une couche de sécurité au résultat obtenu en suivant le tutoriel numéro 4.
  6. http://targetcode.blogspot.com/2016/05/outils-de-reporting-integration-de.html: nous présentons dans ce tutoriel l'intégration de l'outil de reporting Jasper Reports à une application web Java EE. Nous présentons de même la génération de fichiers PDF à l'aide de la bibliothèque iText PDF.
  7. http://targetcode.blogspot.com/2016/05/pool-de-connexions-integration-de.html: Nous présentons dans ce document une configuration assez minimale pour mettre en place un pool de connexions au sein d'une application web respectant le standard Java Enterprise Edition (Java EE). La solution retenue est HikariCP, nous nous proposons de l'intégrer avec deux implémentations de Java Persistence API (JPA): EclipseLink et Hibernate.
  8. http://targetcode.blogspot.com/2016/06/integration-de-jpa-et-spring-plusieurs.html: Ce document présente un ensemble de configurations permettant d'utiliser différentes sources de données dans un contexte intégrant Spring et Java Persistence API (JPA). Nous traitons les cas des implémentations suivantes de JPA: EclipseLink et Hibernate. Nous traitons aussi le cas où un pool de connexions est utilisé, dans notre cas ça sera HikariCP.
Il est possible de suivre les tutoriels indépendamment ou d'utiliser le code (en téléchargement libre, en bas de chaque tutoriel). Il est conseillé pour le lecteur ayant le temps et voulant accomplir une bonne prise en main des concepts décrits de les suivre dans l'ordre.

Keywords: HikariCP, Injection de Dépendances, inversion de contrôle, Jasper Reports, java, JDBC, JPA, JSF, Sources de Données Multiples, Spring, 

Sunday, April 10, 2016

Le Framework Spring: Injection de Dépendances & Programmation Orientée Aspect [French]

Nous présentons dans ce document un tutoriel permettant une familiarisation avec le framework Spring.

L’utilisation de Spring est présentée dans le cadre de Java Standard Edition (Java SE), cependant elle sert à introduire son utilisation dans le cadre plus large des applications web respectant le standard Java Enterprise Edition (Java EE).

Les notions d’inversion de contrôle et de programmation orientée aspect sont abordées et illustrées à l’aide d’exemples de code faisant intervenir Spring.

Téléchargements:
Le document PDF
Le projet Eclipse IntroductionIoC

Concernant le projet Eclipse IntroductionIoC:
Le projet Eclipse contient un ensemble de packages, chacun contient la version courante de l'application prise comme exemple introductif dans le document à une étape donnée.
Voici la liste des packages et leurs correspondances avec les sections du document:

PackageSections
tn.nat.cnss.ioc.simple
1.2
tn.nat.cnss.ioc.oo
1.2
tn.nat.cnss.ioc.singleton
1.3, 1.4
tn.nat.cnss.ioc.ibp
1.5
tn.nat.cnss.ioc.spring
2.1.1
tn.nat.cnss.ioc.spring.constructor
2.1.2
tn.nat.cnss.ioc.spring.annotation
2.1.3
tn.nat.cnss.ioc.spring.annotation.component
2.1.3
tn.nat.cnss.ioc.spring.aop
2.2.2
tn.nat.cnss.ioc.spring.aop.annotation
2.2.3

Keywords: AoP, injection de dépendance, inversion de contrôle, IoC, programmation orientée aspect, progrmmation par interface, Spring,