Les DAO (Data Access Object) ou repository des applications contiennent souvent de l’information importante sur la façon dont les données d’une base doivent être consultées. Cette information prend la forme d’une logique métier qui est encodée dans un ou plusieurs langages, souvent un langage déclaratif (SQL, HSQL, JPQL, etc.) et un langage impératif (Java, Groovy, Scala, etc.).
Tester cette logique d’accès polyglotte peut s’avérer complexe et lent car ce type de test se prète mal aux techniques classiques de mock et nécessite plutôt l’écriture de tests d’intégration qui chargent une partie du contexte réel d’exécution. Par conséquent, les tests de cette couche sont parfois délaissés, voire abandonnés.
Cet article se propose de vous montrer comment réaliser de tels tests, avec un niveau d’isolation suffisant pour la parallélisation dans un processus multithread, tout en essayant de trouver le meilleur compromis avec le temps d’exécution de chaque test. Ces tests sont présentés dans une configuration très classique utilisant Spring et JPA/Hibernate.
L’implémentation utilise une base HSQLDB et quelques bibliothèques pour faciliter l’écriture du code, en essayant de rester aussi léger que possible. Les tests sont isolés pour que vous puissiez activer l’exécution parallèle du plugin Surefire de Maven au niveau des classes de test. Vous pourrez facilement dériver l’implémentation nécessaire à isoler vos tests au niveau des méthodes si vous le souhaitez.
Lire la suite de cet article »
La plateforme Java EE conserve de nos jours encore une mauvaise réputation. Les fameux EJB 2 et conteneurs lourds démarrant en plusieurs minutes vous rappelleront quelques bons souvenirs. L’arrivée de Spring a ouvert la voie aux conteneurs légers, à l’inversion de contrôle, ou encore à l’injection de dépendances; et est devenue la solution de référence. Cependant, la plateforme Java EE a beaucoup évolué entre temps.
Nous allons voir que Java EE 6 n’a maintenant rien à envier à Spring. Cette plateforme est devenue légère et simple à prendre en main. Toutes les spécifications ne seront pas abordées en détails. Nous parlerons plutôt de conteneurs légers et testables, de managed beans, d’EJB Lite, ainsi que des nombreux services et patterns offert par la plateforme. Nous terminerons par la spécification CDI et ses extensions portables, qui offrent de belles perspectives à la plateforme Java EE 6.
Lire la suite de cet article »

La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia.
Actualité éditeurs / SSII
Le coin de la technique
Evénements de notre communauté en France et à l’étranger
Lire la suite de cet article »
Plusieurs conférences sur Spring et son écosystème ont logiquement eu lieu à Devoxx cette année. C’était hier « Productivity Enhancements in Spring 3.1 » et aujourd’hui « Spring Social« . Voyons de quoi elles parlaient.

Lire la suite de cet article »
A l’occasion de la what’s next qui se tenait jeudi 26 et vendredi 27 mai au grand rex à paris, le CTO de springsource est venu nous présenter les nouveaux projets et l’actualité de l’éditeur. plus précisément adrian colyer a commencé par nous parler des nouveaux défis de l’informatique, avec la mobilité et le développement android, les réseaux sociaux, et le cloud. tous ces sujets correspondent aux nouveaux besoins identifiés par springsource. il faut désormais déployer nos applications sur tout type de plateforme allant du site web à l’application mobile native, en s’interfaçant avec des réseaux sociaux comme les api facebook connect et twitter par exemple.
Lire la suite de cet article »

Nous vous l’avions annoncé ici-même: les 26 et 27 mai derniers se tenait la conférence what’s next au grand rex à paris. organisée par zenika, cette conférence gravitait autour des technologies et des outils de demain pour la plateforme java et son écosystème. vous avez pu suivre l’évènement sur twitter en utilisant le hashtag #wsnparis, mais la revue de presse est l’occasion de vous faire un retour sur cette première conférence du genre en france. un public d’utilisateurs java avancés, des speakers de renommée internationale et même de la bière atlassian, le tout dans une organisation sans faille et un timing parfaitement respecté: bref, ce fut un réel plaisir de participer à l’évènement.
Lire la suite de cet article »
L’attente fut longue, depuis l’annonce du rachat de SpringSource par VMware en août 2009, cependant la synergie VMware + SpringSource semble porter ses fruits. Le terrain a été préparé consciencieusement depuis presque 2 années maintenant, puisque SpringSource/VMware a bâti au fur et à mesure son portefeuille de technologies Cloud, leur permettant à ce jour de proposer sûrement une des offres les plus prometteuses du marché, comme le montre cet historique:
- En décembre 2008, SpringSource annonce la sortie de tcServer.
- En mai 2009, SpringSource annonce la mise à disposition gratuite de sa suite de développement Spring Tool Suite.
- En mai 2009, SpringSource rachète Hyperic l’éditeur de l’outil de supervision HypericHQ, permettant ainsi de disposer d’une solution de monitoring performante.
- En août 2009 déjà, le mois du rachat de SpringSource par VMware, Rod Johnson annonçait sur son blog son intension de lancer Cloud Foundry tout en donnant sa vision sur une gestion unifiée du cycle de vie des applications au travers des solutions de SpringSource. L’offre classique de Cloud Foundry est d’ailleurs toujours en ligne, mais à une nouvelle adresse.
- En avril 2010, SpringSource/VMware rachète RabbitMQ, proposant ainsi une brique de messaging prête pour le Cloud et intégrée avec Spring.
- En mai 2010, SpringSource/VmWare se dote d’un cache distribué en rachetant GemStone qui édite le produit GemFire.
- En septembre 2010, SpringSource/VMware annonce la sortie de sa plateforme vFabric.
- Au SpringOne2GX en novembre 2010, SpringSource/VMware annonce sa plateforme Code2Cloud, qui propose ni plus ni moins d’apporter le Cloud au développeur via la mise à disposition d’une suite logicielle de gestion du cycle de vie des applications. Cette plateforme Cloud met à disposition des développeurs des outils tels qu’un bugtracker basé sur Bugzilla, une intégration avec Mylyn pour Eclipse, un Gestionnaire de code source avec Git, une plateforme d’intégration continue avec Hudson, ainsi qu’un ensemble d’outils intégrés via STS.
Lire la suite de cet article »

La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.
Actualité éditeurs / SSII
Le coin de la technique
Lire la suite de cet article »

La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.
Actualité éditeurs / SSII
Le coin de la technique
Lire la suite de cet article »
Et c’est parti pour les Tools in action avec pour ma part la session Augmenter votre productivité avec Mylyn de Oliver Gierke, SpringSource.
Mylyn, c’est le framework ALM (Application Lifecycle Management) d’Eclipse. Il réorganise tout l’IDE autour de tâches. Celles-ci seront ensuite traduites par Mylyn pour nos différents outils comme notre gestionnaire de sources, notre intégration continue ou bien encore notre bugtracker. Le développeur pourra ainsi ne se préoccuper que de ses tâches, Mylyn s’occupant du reste.
Oliver Gierke nous oriente vers 3 grands domaines concernant cette fameuse productivité recherchée du développeur : focus, productivity et traceability.
Lire la suite de cet article »