J2EE et les Enterprise Java Beans (EJB)
1
7.8/10
J2EE : les Enterprise Java Beans (EJB)
ARCHITECTURE LOGICIELLE / 22 août 2017

Les Enterprise java Beans (EJB) ont émergé en 1998 afin de proposer aux programmeurs un outil qui leur simplifie la conception et le déploiement d’une couche métier. Avec leur version 2.0, les EJB ont introduit a possibilité de travailler directement sur les données stockées dans une base de données relationnelle. Mais cette évolution et d’autres avec elle, s’est faite au prix d’une certaine lourdeur de mise en œuvre. En effet, les composants 2.0 doivent implémenter de nombreuses interfaces. En conséquence, leur déploiement nécessite d’envoyer au serveur d’applications des fichiers de description relativement lourds rédigés en langage XML. Les 4 grands principes de base Voila pourquoi la version 3.0 publiée en 2006 a tenté de simplifier l’utilisation et le déploiement des Enterprise java Beans en définissant une approche basée sur quatre principes : Les fichiers XML servant au déploiement ont été remplacés par des annotations placées directement dans le code des EJB. Ce principe s’inspire directement des apports apparus dans la version 1.5 de Java SE. Et plus précisément de la définition et de l’exploitation des annotations ; Afin d’assurer les interactions entre les EJB et le serveur d’applications où ils sont installés, il n’est plus nécessaire d’implémenter de nombreuses interfaces…

Middlewares on messages
1
6.4/10
Middlewares On Messages (MOM)
ARCHITECTURE LOGICIELLE / 2 juin 2017

Le terme « middlewares on messages » (MOM) désigne une architecture logicielle basée sur des composants (les middlewares). Ces middlewares permettent l’échange de messages entre applications réparties sur un réseau. Globalement, un middleware n’est autre qu’une couche informatique intermédiaire au sein d’un système client serveur multi-tiers. Le middleware assure donc la standardisation des échanges de services entre les fournisseurs et les consommateurs. Ainsi, d’un point de vue purement théorique, il est possible de représenter la couche middleware comme un bus d’échanges inter-applications. Plus précisément, il existe deux principes de fonctionnement : le middleware objet et le middleware à messages. Et concrètement pour les “middlewares on messages” ? Avec les « middlewares on messages » (MOM), la relation est asynchrone et organisée autour de 2 types de composants : Le « provider » ou « broker » : il s’agit du composant central du middleware, dont le rôle est de router les messages entre les applications. Les clients : les applications qui échangent les messages (une application cliente peut jouer successivement le rôle d’émetteur et celui de récepteur des messages). Le client envoie un message pour solliciter un service. Puis, ce message est acheminé par un service de messagerie vers le serveur. Une fois la requête demandée exécutée, le…

Lightweight Directory Access Protocol (LDAP)
1
8/10
Lightweight Directory Access Protocol
PROTOCOLES / 1 juin 2017

Développé en 1993 par l’université du Michigan, LDAP signifie Lightweight Directory Access Protocol. C’est un protocole standard dont l’objectif est de gérer des annuaires. il permet d’accéder à des bases d’informations sur les utilisateurs d’un réseau par l’intermédiaire de protocoles TCP/IP. Les bases d’informations sont généralement relatives à des utilisateurs. Mais elles sont parfois utilisées à d’autres fins comme pour gérer du matériel dans une entreprise. L’objectif premier de ce protocole était de remplacer le protocole DAP en l’intégrant à la suite TCP/IP. Le protocole DAP (Directory Access Protocol) permettait d’accéder au service d’annuaire X.500 de l’OSI. Ainsi, DAP est devenu un annuaire natif dès 1995, ne servant plus uniquement à accéder à des annuaires de type X500. Voilà pourquoi LDAP est considéré comme une version allégée du protocole DAP, d’où son nom de Lightweight Directory Access Protocol. LDAP permet de définir la manière dont est établit la communication entre un client et le serveur. En conséquence, il fournit à l’utilisateur des commandes pour se connecter, se déconnecter, rechercher, comparer, créer, modifier ou effacer des entrées. LDAP va également intégrer des mécanismes de chiffrement, tels que SSL ou TLS, et d’authentification comme SASL. Couplés à des règles d’accès, ils permettront…

Programmation orientée aspect
2
7.4/10
Programmation Orientée Aspect
GÉNIE LOGICIEL / 28 mai 2017

On oppose généralement la programmation orientée objet et la programmation orientée aspect. Les techniques de conception logicielles actuelles tentent d’architecturer les applications en modules a priori indépendants les uns des autres. En effet, ces modules gèrent des aspects différents du système conçu. C’est le principe même de la programmation orientée objet où le logiciel est découpé en unité de sens : les objets. Mais dans la pratique, on s’aperçoit que ces couches logicielles sont intimement liées : c’est l’entrecroisement des aspects techniques. Ainsi, une couche logicielle initialement dédiée à gérer la logique métier applicative, va se retrouver dépendante de modules gérant les aspects transactionnels, journalisation, etc. Se limiter aux méthodes de programmation ‘classiques’ conduit ainsi à une complexification du code, de son développement et de sa maintenance. Il a donc été introduit un nouveau concept permettant de gérer les aspects transversaux d’une application : la programmation orientée aspect. L’inversion de contrôle mise en œuvre par la programmation par aspect permet d’extraire les dépendances entre objets/modules (aspects techniques entrecroisés). Ces dépendances sont gérées depuis l’extérieur de ces modules. Elles sont spécifiées dans des composants du logiciel nommés aspects. AspectJ et la programmation orientée aspect AspectJ, une extension à Java, permet d’ajouter…

Propriétés ACID
1
6.6/10
Les propriétés ACID
BASES DE DONNÉES / 27 mai 2017

Ce mémoire aborde les problématiques ACID dans le contexte du big data. Les propriétés ACID (atomicité, cohérence, isolation et durabilité) forment un ensemble de propriétés dont l’objectif est de garantir qu’une transaction informatique sera exécutée en toute fiabilité. En matière de bases de données, une transaction informatique est identifiée comme étant une opération effectuée sur les données. Il s’agira par exemple d’un transfert de fonds depuis un compte bancaire vers un autre. Bien que ce transfert implique plusieurs actions telles le débit d’un compte et le crédit d’un autre, il s’agit finalement d’une seule transaction. A la fin des années 1970, Jim Gray a défini un ensemble de propriétés à même de garantir des transactions fiables.  Il a lors développé un certain nombre de technologies pour les mettre en œuvre automatiquement. Puis, en 1983, Andreas Reuter et Theo Härder ont créé l’acronyme ACID afin de désigner ces propriétés. Que signifie concrètement ACID ? Atomicité La propriété d’atomicité assure qu’une transaction se fait soit au complet soit pas du tout. Si une partie de la transaction ne peut se faire, il faudra alors effacer toute trace de la transaction. Puis, remettre les données dans l’état où elles étaient avant la tentative…