Java

Archi & techno

Socle technique des applications Java EE : dans le WAR ou dans le serveur ?

Le sujet du packaging des applications Java EE a suscité récemment des échanges riches sur notre mailing-list interne. C'est pourquoi nous avons trouvé intéressant d'en publier une synthèse. Nous remercions Dominique Jocal pour avoir réalisé cette synthèse, ainsi que les participants à ce débat : Benoît Lafontaine, Mikael Robert, Bertrand Paquet, Marc Bojoly - et nous vous souhaitons une bonne lecture ! Un projet de montée en version ou de changement de serveur d’application Java et de JVM est l’occasion pour une direction technique de…

Lire la suite
Archi & techno

Vers des API haut niveau pour Java et NoSQL avec Spring Data

A l'heure où les nouvelles technologies de stockage de données regroupées sous les termes NoSQL et Distributed Data Grid deviennent populaires, il est intéressant de suivre l'évolution de cet écosystème et notamment des librairies d'intégration avec ces outils. Des librairies apportant un certain niveau d'abstraction émergent, avec l'espoir de voir apparaître des solutions de haut niveau comparables aux ORM que nous utilisons pour les bases relationnelles. Nous allons nous intéresser aujourd'hui au projet Spring Data, qui propose une certaine unification pour les accès aux bases de…

Lire la suite
Archi & Techno

Audit with JPA: creation and update date

When writing a business application with persistent data, some auditing capabilities are often required. Today, state of the art for persisting data involves using an ORM tool through the JPA interface. Being able to add two columns containing the creation date and the update date is a common auditing requirement. My colleague Borémi and I have had to answer this question. We have grouped and studied several implementations already used by other Octos. In order to help you choose the best tool for such need,…

Lire la suite
Archi & techno

Audit avec JPA : date de création et de dernière mise à jour

Lorsqu'on écrit une application avec des données persistantes, il est souvent nécessaire de pouvoir réaliser de l'audit sur les modifications. Aujourd'hui, l'état de l'art pour la persistance des données se base sur des outils de type ORM à travers l'interface JPA en Java. Etre capable d'ajouter à chaque table la date de création et de dernière mise à jour est souvent la première demande en terme d'audit. Borémi et moi avons du répondre à cette question en mission. Nous avons regroupé et étudié différentes implémentations,…

Lire la suite
Archi & techno

Java EE: Objectif Cloud !

Vous n'avez pu rater la semaine dernière l'annonce de la sortie de la JSR 342! Il s'agit de la spécification de Java EE 7 dont le principal focus se veut être le Cloud. Cette évolution de la plateforme était attendue. En effet, nombreux sont ceux qui, depuis plusieurs mois, prédisent que l'avenir de Java dépendra de sa faculté à intégrer les paradigmes du Cloud, tels que le "multitenancy" (partage d'une même application entre plusieurs utilisateurs ou organisations clientes) ou encore l’élasticité (mise à disposition automatique…

Lire la suite
Archi & techno

Envoyez des notifications push à vos applications Android avec C2DM

Gardez le contact avec vos utilisateurs, apportez leur de l'information ponctuelle et dynamisez l'utilisation de votre application... sans que celle-ci n'ait besoin d'être en cours d'exécution ! C'est ce que permettent les notifications push sur nos smartphones. Android propose depuis la version 2.2 de l'OS la gestion de ces messages légers par l'utilisation des services C2DM (Cloud To Device Messaging) de Google. L'utilisation de ces services s'avère moins aisée que l'implémentation des notifications proposée par Apple pour l'iPhone. L'objet de cet article est donc de…

Lire la suite
Archi & techno

Mutation Testing, un pas de plus vers la perfection

Mutation Testing Il n'est plus à prouver l'utilité des tests unitaires. Ils sont essentiels dans la conception d'une application de qualité. Mais, savons-nous quantifier leur pertinence, leur qualité ? Un indicateur de couverture du code par les tests à 100%, ne signifie pas du code 100% testé. Cet indicateur ne détermine que  grossièrement le pourcentage de code exécuté lors du passage des tests unitaires, pas plus. Voici une technique qui vous permettra d’accorder plus de confiance à vos tests. Le processus de cette technique se déroule en deux grandes étapes…

Lire la suite
Archi & techno

JEE 6 : JEE enfin productif, léger et testable ? Partie 2

Dans la première partie nous avons vu comment avec JEE 6 nous pouvions représenter nos données et écrire des services (via EJB) permettant de les exploiter. Nous allons maintenant voir comment les exposer d'abord via un WebService REST puis via JSF 2. Exposition des données : REST On connaissait déjà l'exposition simplifiée de services REST en JEE5. La spécification JAX-RS 1.1 apporte toutefois quelques nouveautés fort appréciables. L'écriture du WebService n'a en soit pas vraiment changée, exemple : @Path(value = "/formationsrest") public class FormationsRestService {…

Lire la suite
Archi & techno

JEE 6 : JEE enfin productif, léger et testable ? Partie 1

Java Enterprise Edition 6 est sortie depuis quelques temps déjà. Cette plateforme a été évoquée dans de nombreuses conférences à Devoxx 2010 et un certain nombre de livres traitent déjà du sujet. Les retours sont à peu près tous les mêmes : Java EE devient enfin plus léger et productif ! Les serveurs d'applications, en particuliers Glassfish et JBoss, implémentent maintenant nativement les spécifications de JEE6 et la blogosphère a déjà bien décortiqué chacune d'entres elles. De plus une partie des nouveautés provient de frameworks…

Lire la suite