mardi 15 septembre 2009

Usine Dev Java



ensemble d'outils indispensable pour monter une usine de dev Java.

dimanche 24 août 2008

CheckStyle

Programmer ne se résume pas à écrire un code source qui puisse être compilé et donc correct vis-à-vis du langage. Checkstyle peut être utilisé dans les projets de développement informatiques afin d'assurer un niveau bien défini de qualité de code source. En effet, Encore faut-il que le code source soit lisible et convenablement commenté, pour qu'il soit facilement exploitables. Cela permet notamment à un autre développeur de modifier le code existant ou au même développeur de s'y retrouver lorsqu'il reprend son propre code ultérieurement.

pour plus d'infos, référez vous à http://fr.wikipedia.org/wiki/Checkstyle

Gestion des exceptions sous Java

Une exception indique la présence d'une erreur subie ou voulu dans le cycle d'exécution d'une partie du code.
Java propose deux catégories d'exceptions java.lang.Exception, et java.lang.RuntimeException.
La première catégorie est la classe mère de toute les exception, elle hérite de java.lang.Throwable, les exceptions qui héritent directement de cette exception doivent être déclarées dans les signatures des méthodes, ainsi les appels a des méthodes productrices d'exceptions doivent être entourées par des bloc try{ ... }catch(...).
la deuxième catégorie d'exception, regroupe les exceptions dont la classe mère est java.lang.RunTimeException, elle regroupe les exceptions qui se produisent au cours de l'exécution, qui son relative à des anomalies dans le code ou dans l'environnement d'exécution. Il est donc inutile de les mettre dans les signature des méthodes , c'est la JVM Java qui s'en occupe.

Dans un environnement de développement Entreprise, il est utile de deux classes d'exceptions, une pour gérer les exceptions métier, la deuxième pour gérer les exceptions d'exécution.

Références
http://mindprod.com/jgloss/exception.html
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html

jeudi 21 août 2008

Test Driven Development



ou en Français: Développement piloté par les tests.

Principe:

Le cycle préconisé par TDD comporte cinq étapes :
1. écrire un premier test ;
2. vérifier qu'il échoue (car le code qu'il teste n'existe pas), afin de vérifier que le test est valide;
3. écrire juste le code suffisant pour passer le test,
4. vérifier que le test passe,
5. puis refactoriser le code, c'est-à-dire l'améliorer tout en gardant les mêmes fonctionnalités.

Ppur plus de détails, référez vous à http://en.wikipedia.org/wiki/Test-driven_development

mardi 12 août 2008

Maven

Outil de gestion de configuration de projets Java, utile pour découpler le projet des IDE. Maven se base sur son propre modèle du projet, piloté par un fichier POM (Projet Object Model) définissant les dépendances du projets, ses plugins de build ...
Maven propose une organisation standard des projets Java comme suit:



Des commandes maven, tel que mvn eclipse:eclipse, permettent de générer les fichier relatifs aux IDEs (Eclipse dans ce cas)

mardi 29 juillet 2008

Web Services, et Appels de web services

Le concept de web services est apparu avec le succès du protocole HTTP et du consensus autour de XML (langage des langages). plusieurs protocoles permettent l'interrogation de web services (WSDL, XML ....).
Java et son monde a bien appréhender le concept, plusieurs frameworks permettant d'exposer les web services (Axis, Xfire, CXF...) , il permettent aussi de définir les clients consommateur des services. XMLBeans est une implémentation permettant d'exploiter des documents XML sous forme d'objet et code Java, idéal pour exploiter des web services

à venir: concept d'usine de dev

Je prépare actuellement un article concernant les usines de dev, et particulièrement, une usine de dev pour j2ee, avec des frameworks et des outils entièrement écrites en Java.

Deux concepts sont garantis par une usine de dev:

  • Le code disponible sur le repository du code compile et doit être toujours livrable.
  • L'intégrité est renforcée par des tests unitaires permettent de garantir la cohérence du code livré.


Les tests fonctionnels nécessitent des tests d'intégration ou encore des tests automatisés de saisi d'écrans (Sélénium par exemple).

pour plus d'infos, référez vous à http://fr.wikipedia.org/wiki/Integration_continue