Netapsys Blog

Aller au contenu | Aller au menu | Aller à la recherche

Abderrazek CHINE

Chef de projet web Java/JEE, expérimenté sur de grands projets norme iso 900x, Abderrazek a découvert le monde Java à la fin des années 90 : JNI (Java Native Interface) et les premières applications JSP. Il a depuis réalisé et dirigé des projets JEE d'envergure (EJB2 et 3, Web Services, Spring  sur Tomcat, JBoss, Weblogic), en particulier chez des éditeurs et des clients institutionnels. Il rejoint Netapsys en octobre 2009 en qualité de chef de projet et intervient pour le compte du Ministère de la Santé.

Fil des billets Fil des commentaires

mardi 9 juin 2009

Spring-Quartz : Planifier une tâche batch java en 30 minutes

L'objet de ce billet est de montrer comment planifier une tâche java avec Quartz et Spring et ce en n'ajoutant que quelques lignes de configuration xml.
Ce "QuickStart" introduisant Spring2.5+ et Quartz 1.6.5+ vous permet d'être opérationnel en 30 minutes.
Quartz est un ordonnanceur (scheduler) qui permet de planifier des tâches batch java (Job) à des intervalles spécifiés. Par exemple, réaliser des traitements lourds (génération de rapports, de statistiques) à des heures où les ressources du serveur sont suffisamment disponibles.
Quartz s’intègre assez facilement dans Spring (sauf peut être en mode Cluster, qui ne sera pas traité ici, pour lequel l'apprentissage est important!).
Afin de faciliter la mise en place de notre exemple, nous avons privilégié le mode RAMJobStore (les Jobs Quartz sont chargés en mémoire sans les persister).
Notre exemple est un projet web mais sachez qu'il est encore plus simple de prendre un projet java. Néanmoins le type de projet web est très instructif.
Nous terminerons ce billet en testant le Job exemple avec une classe JUnit4 avec Spring.
Tous les détails de configuration des dépendances Maven, de Spring et celles de Quartz dans Spring seront donnés.
Nous mentionnons, surtout à l'intérieur des codes, les explications utiles pour comprendre l'api Quartz et toutes les indications nécessaires afin d'éviter les quelques pièges de la configuration Spring-Quartz.
Un seul pré-requis nécessaire: connaître le framework Spring. La connaissance de Quartz peut s'acquérir de manière incrémentale.

Lire la suite...

lundi 25 mai 2009

Spring MVC 2.5+ par l'exemple - Partie I

L'objet de ce billet est d'illustrer progressivement, pas à pas, par un exemple, simple mais pratique, la création d'une application web avec Spring MVC utilisant exclusivement (et abusivement) les annotations de Spring apparues depuis la version 2.5 ( ex. @Controller, @Autowired).
Ce billet s'inscrit dans une série d'articles nous permettant d'introduire Spring WebFlow 2.
Dans cette première partie de la série, nous mettons en place ensemble, pas à pas, l'environnement (Eclipse & Maven) et les dépendances nécessaires. Et nous terminons cette partie par écrire une classe JUnit pour tester le controller Spring MVC (seulement avec les annotations) afin de valider notre configuration et nous lançons le client navigateur afin de tester le déploiement sous jetty.
Nous enchaînons, dans un second billet, par expliciter les couches DAO (à base de jdbc template), service et l'approfondissement du controller Spring MVC qui consomme les méthodes de la couche service.
Pour ce faire, nous présentons progressivement l'exemple qui consiste à rechercher un client par son nom (obligatoire), le prénom(facultatif). Si un ou plusieurs clients existent, on affiche la liste puis lorsqu'un client est sélectionné, on affiche l'écran qui permet d'actualiser ses détails.
Si aucun client ne correspond à la recherche, on affiche un formulaire, pré-rempli, de création de ce client puis à la validation on lui renvoie l'écran de modification des détails.
Cet exemple nous servira pour introduire Spring WebFlow.
Vous pouvez télécharger les sources de la première partie springswf-partie1.

Lire la suite...

vendredi 17 avril 2009

Tests JUnit4 combiné avec Spring et Spring MVC en mode transactionnel

Le titre de ce billet montre bien l'étendue des thèmes variés qui seront traités. Il a pour objectif d'illustrer, à l'aide d'un exemple assez complet et proche des cas réels, la mise en place des tests, en mode transactionnel, pour les différentes couches applicatives. Ainsi les vraies difficultés rencontrées par les développeurs seront évoquées.
Le billet traite JUnit4 enrichi avec les annotations de Spring 2.5+ et ses lanceurs pour exécuter facilement les tests. Des illustrations en mode transactionnel vous sont proposées à la fin de ce billet.
Le framework JUnit est l'oeuvre conjointe de Kent Beck (créateur de XP) et Erich Gamma (auteur des Design Patterns).
Avec la version 4, JUnit tente de rattraper son retard sur Testng tout en gardant la compatibilité avec JUnit3x ainsi qu'une parfaite intégration aux éditeurs Eclipse, Netbeans, ...
Avec les lanceurs de spring, les tests deviennent plus attrayants. Spring encourage ainsi à adopter l'approche TDD "Test Driven Design" ou "Test-First Developpment".
Notez que le jdk5+ est nécessaire pour certaines parties de code Java. Les commentaires dans le code java le mentionnent au bon endroit.

Lire la suite...

page 2 de 2 -