Les Middleware Orientés Messages, ou « MOMs », sont des outils particulièrement précieux pour mettre en œuvre des échanges entre applications de toutes natures. Comme il arrive très souvent dans ce qui touche aux infrastructures, les solutions open source sont particulièrement en pointe dans ce domaine. Parce que le middleware est souvent le ciment de toute une architecture, les critères d’ouverture, de pérennité et d’indépendance sont essentiels dans le choix d’un tel
outil, et personne ne souhaite dépendre, dans ce contexte, de la politique commerciale de tel ou tel acteur particulier.
C’est pourquoi les solutions open source sont en position de force en matière de middleware. La force de l’open source, c’est aussi la diversité et le foisonnement de l’offre, dans une dynamique de compétition qui fait naître des produits de grande qualité. C’est le cas en matière de MOM,
où il existe différentes solutions tout à fait solides et matures.
Ce livre blanc vise à présenter l’offre open source en matière de MOM.
Nous avons identifié quatre solutions qui se distinguent par leur qualité, leur robustesse et la stature de leur éditeur.
Après avoir présenté les concepts fondamentaux et les fonctionnalités communes à tous ces outils, nous étudierons chacun d’eux de manière plus détaillée.
1) PRÉAMBULE
a) SMILE
b) QUELQUES RÉFÉRENCES
c) CE LIVRE BLANC
d) SOMMAIRE
2) CONCEPTS DES MOMS ET JMS
a) QU'EST-CE QU’UN MIDDLEWARE ?
i) Pourquoi des échanges asynchrones ?
b) LES MIDDLEWARES ORIENTÉS MESSAGES OU MOM
i) Définition
ii) MOM, EAI, ESB
iii) EDA, Event Driven Architecture
iv) Des échanges asynchrones
v) Des échanges fiables
vi) Brokers
vii) Protocoles et APIs
viii) Pourquoi un MOM open source ?
ix) Les services d'un MOM
c) JAVA MESSAGING SYSTEM OU JMS
i) Introduction
ii) Modes de communication
iii) Quelques définitions
iv) Encodage du Corps des messages
v) La structure du message JMS
vi) Ordre des messages
vii) Durée de vie d'un message
viii) Priorité
ix) Sélection des messages
x) Aiguillage et spécialisation
xi) Synthèse JMS
d) CARACTÉRISTIQUES PRINCIPALES DES MOM
i) Langages d'implémentation, APIs et environnements supportés
ii) Protocoles
iii) Traitement des messages par le MOM
iv) Gestion des transactions
v) Dead Message Queue
vi) Persistance des messages
e) FONCTIONNALITÉS AVANCÉES
i) Code générique et JNDI
ii) Enterprise Integration Patterns
iii) Interopérabilité entre MOMs
iv) Passerelle à base d’ESB
v) Gestion de la sécurité
vi) Administration et monitoring
vii) Configuration et déploiement
viii) Répartition de charge applicative
ix) Topologie et réseau de brokers
x) Tolérance aux pannes
xi) Auto-découverte
3) LES MOMS OPEN SOURCE
a) LES MOMS ÉTUDIÉS
i) JORAM
ii) Présentation
iii) Caractéristiques principales du produit
iv) Détail sur le projet
b) ACTIVE MQ
i) Présentation
ii) Caractéristiques principales du produit
iii) Gestion des messages
iv) Traitement des messages
v) Gestion des transactions
vi) Persistance des messages
vii) Répartition de charge et haute disponibilité multi-site.
viii) Interopérabilité avec d'autres MOMs
ix) Gestion de la sécurité et d'un annuaire
x) Administration
xi) Configuration et déploiement
xii) Détail sur le projet
c) MOM OPEN MESSAGE QUEUE (OMQ)
i) Présentation
ii) Caractéristiques principales du produit
iii) Détail sur le projet
d) MOM JBOSS MESSAGING (JBM)
i) Présentation
ii) Caractéristiques principales du produit
iii) Détail sur le projet
4) COMPARATIF
5) BENCHMARK DE DÉBIT
a) Scénario de test
b) Réalisation du test
c) Configuration
d) La machine
e) Résultats du test
f) Active MQ avec Persistance
g) Active MQ, sans Persistance (volatile)
h) Joram avec Persistance
i) JORAM sans Persistance (volatile)
j) Analyse
6) SYNTHÈSE
« Un middleware est davantage qu'un simple protocole d'appel des services offerts par une application, et typiquement RPC, RMI ou bien SOAP, tous égalementsynchrones,ne sont pas vraiment considérés comme des middlewares. »