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…

JEE - JSP - Servlet – JSF
1
8.6/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, du code Java et certaines actions prédéfinies peuvent être ajoutés 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. Ces actions peuvent être utilisées notamment pour appeler des fonctions. Il est également possible de créer…

Web services REST
1
8.7/10
Web Services REST
WEB SERVICES / 25 mai 2017

Les web services REST font partie de la grande famille des services basés sur une technologie permettant à des applications de dialoguer à distance via Internet. Ceci se fait indépendamment des plates-formes et des langages sur lesquelles elles reposent. Pour ce faire, les services Web s’appuient sur un ensemble de protocoles Internet très répandus (XML, HTTP), afin de communiquer. Cette communication est basée sur le principe de demandes et réponses, effectuées avec des messages XML. Les services web sont décrits par des documents WSDL (Web Service Description Language), qui précisent les méthodes pouvant être invoquées, leurs signatures et les points d’accès du service (URL, port). Les services Web sont accessibles via SOAP, la requête et les réponses sont des messages XML transportés sur HTTP. Il existe probablement autant de définitions des Web Services que d’entreprises qui les créent. Mais presque toutes ces définitions ont un certain nombre de points communs. Premièrement, les services web proposent aux utilisateurs du Web des fonctionnalités pratiques grâce à un protocole Web standard (dans la plupart des cas, le protocole utilisé est SOAP). Deuxièmement, les Web Services offrent un moyen de décrire leurs interfaces suffisamment en détail pour permettre à un utilisateur de créer une…

Architectures n-tiers
1
7.7/10
Architectures N-tiers
ARCHITECTURE LOGICIELLE / 25 mai 2017

Les architectures n-tiers ont été pensées pour pallier aux limites des architectures trois tiers et concevoir des applications puissantes et simples à maintenir. Ce type d’architecture permet de distribuer plus librement la logique applicative, ce qui facilite la répartition de la charge entre tous les niveaux. Cette évolution des architectures trois tiers met en œuvre une approche objet pour offrir une plus grande souplesse d’implémentation et faciliter la réutilisation des développements. Théoriquement, ce type d’architecture supprime tous les inconvénients des architectures précédentes. Elle permet l’utilisation d’interfaces utilisateurs riches et sépare nettement tous les niveaux de l’application. Elle offre de grandes capacités d’extension et facilite la gestion des sessions. L’appellation “n-tiers” peut laisser penser que cette architecture met en œuvre un nombre indéterminé de niveaux de services. Mais ces niveaux restent à un nombre maximum de trois (les trois niveaux d’une application informatique). En fait, l’architecture n-tiers qualifie la distribution d’applications entre de multiples services et non la multiplication des niveaux de service. Ainsi, les trois niveaux d’abstraction d’une application sont toujours pris en compte. Rôle de la POO dans les architectures n-tiers Cette distribution est facilitée par l’utilisation de composants métier, spécialisés et indépendants, introduits par les concepts orientés objets…

Google App Engine
1
6.5/10
Google App Engine
GÉNIE LOGICIEL / 24 mai 2017

Une “Platform as a Service”, ou PaaS, est une catégorie de services de Cloud computing qui fournit la plateforme et l’environnement informatique nécessaire aux développeurs pour mettre en place leurs différents services et applications sur Internet. Google App Engine est la solution de PaaS (Platform as a Service) fournie par Google. Le but principal d’App Engine est d’offrir la mise à l’échelle automatique des applications. Ceci peut se faire en allouant les ressources en fonction de la fluctuation du trafic. App Engine fournit un environnement de développement Java basé sur la technologie standard Servlet. Google App engin fournit également une solution de persistance non relationnelle adaptée aux applications “dans le cloud”. Les nombreux services App Engine (Mail, Memcache, Tasks, Users…) offrent ainsi un écosystème riche. C’est cet écosystème qui facilite l’hébergement et le développement d’applications en bénéficiant de l’infrastructure de Google. Google App Engine constitue une alternative rationnelle à des besoins de plus en plus courants : haute disponibilité, réplication, pics de fréquentation saisonniers. Google App Engine est gratuit jusqu’à un certain niveau de ressources consommées. Actualités récentes de Google App Engine En mars 2017, Google a annoncé qu’une nouvelle version révisée d’App Engine était disponible. L’annonce a eu lieu…