oct 15 2008

Développement web avec MAVEN - SRING 2.5 – HIBERNATE

Tag: Développement, J2EE, Non classé, Springkarl verger @ 8:48


Table des matières

Mise en place de maven. 3

Mise en place SPRING.. 4

Exemple de fichier web.xml 4

Les fichiers de configurations. 6

applicationContext-service.xml 6

formationspring-servlet.xml 7

Mise en place des controllers. 7

Declaration d’un controller. 7

Explication des annotations. 7

Diagramme de séquence simpliste d’appel à un Controller. 8

Spring security. 8

Authentification et autorisation. 8

Mise en place. 11

pom.xml 11

web.xml 11

applicationContext-security.xml 11

La gestion des transactions. 14

Définition d’une Transaction. 14

Overview d’une transaction applicative. 15

Les niveaux d’isolation des transactions. 15

Les modes de propagation des transactions. 17

Mise en place de HIBERNATE. 18

Le fichier applicationContext-hibernate.xml 18

Validation du domaine métier. 20

Contraintes intégrées. 20

Vérification des erreurs. 22

SQL et HQL Injection. 23

Requête paramétrée HQL. 23

Requite paramétrée SQL. 23

AJAX et DWR. 23

Mise en place. 24

pom.xml 24

web.xml 24

dwr.xml 24

Les problèmes d’ENCODING.. 25

DataBase. 25

Hibernate. 25

Spring framework. 25

Velocity et mails. 25

JSP. 26

Géré les paramètres et les exceptions  utilisateurs web inattendues. 26

La gestion des Tests unitaires. 26

Mesurer la couverture de test. 26

Exemple de test d’un controler web : 27

Mesurer les performances. 29

Mise en place “globale” de JAMon. 29

Paramétrer l’application pour définir les éléments dont on souhaite mesurer les temps d’exécution   29

Suivre le temps d’appel aux pages. 30

Suivre le temps d’exécution de certaines méthodes. 30

Suivre le temps d’exécution des requêtes SQL. 31

Le reporting du projet. 31

JDEPEND.. 32

Analyse des métriques de JDEPEND.. 33

PMD.. 33

 

Continue reading “Développement web avec MAVEN - SRING 2.5 – HIBERNATE”


jan 06 2008

Installer un cluster GlassFish avec Session FailOver

Tag: Architecture, Infrastructure, J2EEkarl verger @ 22:17

Nous allons installer et configurer pas à pas un cluster GlassFish avec session failover

télécharger le jar d’installation sur :

http://download.java.net/javaee5/v2ur1/promoted/Linux/glassfish-installer-v2ur1-b09d-linux.jar,

 

Installer le serveur

lancer l’installation

% java -Xmx256m -jar filename.jar

suivre les instructions

 

Se positionner dans le répertoire qui à été créé par l’installeur

% cd glassfish

donner les droits d’exécution au scripts ant intégré

% chmod -R +x lib/ant/bin

editer le fichier setup-cluster.xml pour le configurer selon vos besoins puis lancer le setup.

% lib/ant/bin/ant -f setup-cluster.xml pour construire un serveur glasfissh prenant en compte les clusters

 

<glassfish-install-dir>/bin/asadmin start-domain –user admin <domainname> pour lancer le serveur d’application sur le domaine que vous avez configurer .

 

Créer les agents

1-<glassfish-install-dir>/bin/asadmin create-node-agent <nodeagentname> –host <hostname> –port <portnumber> pour créer un nouvel agent

2-<glassfish-install-dir>/bin/asadmin start-node-agent <nodeagentname> pour démarrer votre nouvel agent

 

 

Créer le cluster

1-Créer un cluster

<glassfish-install-dir>/bin/asadmin create-cluster –user admin <clustername>

2-créer une instance rataché au cluster que vous venez de créer

<glassfish-install-dir>/bin/asadmin create-instance –user admin –nodeagent <nodeagentname> –cluster <clustername> <instancename1>

3-créer une seconde instance rataché au cluster que vous venez de créer

<glassfish-install-dir>/bin/asadmin create-instance –user admin –nodeagent <nodeagentname> –cluster <clustername> <instancename2>

4-démarrer le cluster

<glassfish-install-dir>/bin/asadmin start-cluster <clustername>

 

Nous avons créé le cluster en ligne de commande mais il est tout à fait possible de le créer via l’interface d’admin

 

createclusterviaguiadmin.jpg

Déployer une application sur le cluster

Continue reading “Installer un cluster GlassFish avec Session FailOver”


jan 05 2008

Transactions et SPRING Framework

Tag: Architecture, Développement, J2EE, Springkarl verger @ 23:20

L’objectif de cet article est de faire quelques rappels interressants sur les transactions et leur comportements avec SPRING.

Définition d’une Transaction : Une transaction regroupe une série d’opérations dans un tout indivisible. La transaction n’est validé que si chacune des taches unitaires qu’elle regroupent se sont déroulées correctement (COMMIT). Dans le cas contraire (si une des taches unitaires échoue) l’ensemble des données traitées retrouvent leur état initial(ROLBACK).

Une transaction doit respecter les quatre contraintes suivantes dites ACID :

  • Atomicité : une transaction doit s’effectuer en tout ou rien ;

  • Cohérence : la cohérence des données doit être assurée dans tous les cas, même dans les cas d’erreur où le système doit revenir au précédent état cohérent ;

  • Isolation : la transaction va travailler dans un mode isolé où elle seule peut voir les données qu’elle est en train de modifier, cela en attente d’un nouveau point de synchronisation ; le système garantit aux autres transactions, exécutées en parallèle sur le même système, une visibilité sur les données antérieures ;

  • Durabilité : lorsque la transaction est achevée, le système est dans un état stable durable, soit à l’issu d’une modification transactionnelle réussie, soit à l’issue d’un échec qui se solde par le retour à l’état stable antérieur.

Overview d’une transaction applicative

les transactions spring permettent d’encapsuler plusieurs appels de méthodes sur différentes couches et d’en assurer le caractère ACID.

overview-Transaction

Continue reading “Transactions et SPRING Framework”