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. Ensuite, un service de messagerie achemine ce message vers le serveur. Une fois la requête demandée exécutée, le serveur poste…

JEE - JSP - Servlet – JSF
1
8.8/10
JEE : architecture JSP / Servlet / JSF
GÉNIE LOGICIEL / 28 mai 2017

JEE (Java Entreprise Edition) est une plate-forme fortement orientée serveur pour le développement et l’exécution d’applications distribuées. Il s’agit de la version entreprise de la plate-forme “Java“. Elle se compose de l’environnement “JSE” ainsi que de nombreuses API et composants destinés à une utilisation “côté serveur”. Il s’agit donc d’une évolution du Java. Un des avantages majeurs de JEE est de faire abstraction de l’infrastructure d’exécution. En effet, JEE spécifie les rôles et les interfaces pour les applications, ainsi que l’environnement d’exécution dans lequel les applications sont déployées. Cela permet aux développeurs d’application de ne pas avoir à reprogrammer les services d’infrastructure. Et les différentes applications de JEE Le JavaServer Pages (JSP) est une technique basée sur le langage Java. JSP permet aux développeurs de créer dynamiquement du code HTML, XML ou tout autre type de page web. De cette manière, il est possible d’ajouter du code Java et certaines actions prédéfinies dans un contenu statique. Depuis la version 2.0 des spécifications, la syntaxe JSP est totalement conforme au standard XML. Par ailleurs, la syntaxe JSP permet aussi d’ajouter des balises XML, appelées actions JSP. En particulier, il est possible d’utiliser ces actions pour appeler des fonctions. Il est également…

Programmation orientée aspect
1
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 qui découpe le logiciel en unités 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). C’est depuis l’extérieur de ces modules que se gèrent les dépendances. 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 la fiabilité d’exécution d’une transaction informatique. En matière de bases de données, on peut identifier une transaction informatique 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 de…

Solutions et protocoles de log
1
7.8/10
Solutions et protocoles de log
PROTOCOLES / 5 mai 2017

Les solutions et protocoles de log permettent la mise en place de journaux d’événements. Ces journaux d’événements constituent une brique technique indispensable à la gestion de la sécurité des systèmes d’information. Afin de détecter des incidents de sécurité, il est possible d’utiliser a priori les journaux comme une source d’information riche. Dans ce cas, on peut alors consulter et analyser en temps réel les événements constituant les journaux. Mais l’administrateur du réseau peut également y retrouver les traces d’un incident de sécurité a posteriori. L’analyse des journaux d’un ensemble de composants peut alors permettre de comprendre le cheminement d’une attaque et d’évaluer son impact. Il faut donc garder à l’esprit que l’activité de journalisation est un moyen de détection et d’analyse. Elle ne se substitue pas aux mécanismes de protection du système d’information. Mais, son emploi doit se faire de façon complémentaire. L’utilité des solutions et protocoles de log dépend de leur génération et de leur récupération. Une architecture de journalisation doit donc suivre l’évolution du système d’information concerné (prise en compte des nouveaux équipements, des nouveaux usages, etc.). Plan du mémoire “Solutions et protocoles de log” Ce mémoire s’attache tout d’abord à définir la notion de log et à…