3. MOM Open Message Queue (OMQ)
3.1 Présentation
OMQ est le Middleware Orienté Message de Sun. Il a
été développé pour fonctionner conjointement avec
GlassFish (Open ESB). Le principal contributeur est la communauté Sun /
Java.
OMQ a été réalisé pour fonctionner
avec GlassFish, le serveur d'application de Sun. Cependant, OMQ peut facilement
fonctionner tout seul ou avec d'autres types de serveur d'application Java.OMQ
est distribué sous deux licences : CDDL ou GPL v2.
3.2 Caractéristiques principales du
produit
3.2.1 Langages d'implémentation
Les sources, récupérables du site Internet de la
solution sont mal organisées. D'une part, on constate la présence
de binaires, de fichiers C et autres. De plus, il n'y a pas de système
de compilation automatique du type MAVEN ou ANT.
Ø Les seuls langages pris en compte sont
:
· Java via JMS 1.1 il ne gère pas le JMS 1.0.2)
· C : l'API est propriétaire Java,
Ø Protocoles pris en charge
Les protocoles externes pris en charge sont les suivants :
· UMS comme Universal Messaging System : C'est un
protocole de communication comparable à AMQP. Sun ne le
met guère en avant, étant données ses limitations en
termes fonctionnalités et de performance. UMS est basé sur du
XML, ce qui alourdit un peu les échanges.
A l'aide de passerelles, OMQ gère aussi le :
· SOAP : sur un support HTTP à partir d'un serveur
d'application.
· HTTP : passerelle sur un serveur d'application.
Ø Interfaces prises en charge
Selon les classes d'interface :
· Messagerie
§ JCA 1.5 sous Java ;
§ JMS 1.1 sous Java ;
§ API C : Elle est propriétaire à Java.
· Administration, Monitoring et configuration
§ JES : Java Monitoring plateforme Support ;
§ JAAS.
3.2.2 Gestion des messages
OMQ ne gère pas la priorité des messages ;
OMQ gère la compression et la décompression des messages à
la volée.Pour finir avec la gestion des messages, OMQ gère la
validation des contenus XML : « XML Schema Validation ».
Ø Traitement des messages (Le
traitement des messages n'est pas pris en compte par OMQ).
Ø Gestion des transactions
La gestion de transaction est offerte à la fois
à partir du C et du Java. OMQ propose aussi des interfaces du type XA /
JTA.
La gestion interne des transactions n'est pas
spécifiée.
Ø Persistance des messages
Il est possible de réaliser de la persistance sur le
système de fichier. La persistance est aussi disponible dans des bases
de données telles que : Oracle, MySQL, PostgresSQL, Java DB (Derby),
toutes accédées via JDBC.
Ø Interopérabilité avec d'autres
MOMs
Sun ne fournit aucun bridge JMS ou autre. Il est ainsi
à notre charge d'en créer ou d'en adapter un (open source)
à nos besoins.
Ø Gestion de la sécurité et d'un
annuaire
OMQ support SSL / TLS comme mode d'encryptions des messages.
Celui-ci peut se placer aussi bien entres applications et brokers
qu'inter-brokers.
Les applications clientes (consommatrices ou productrices)
peuvent se connecter grâce à un couple (nom d'utilisateur, mot de
passe). Les mots de passe sont encodés à l'aide de l'algorithme
MD5.
OMQ gère les groupes d'utilisateurs. On peut
personnaliser les accès aux éléments des brokers (queues,
topics, administration, monitoring) par utilisateurs ou par groupes.
Les supports de stockage des éléments de
sécurité sont:
· Fichier de configurations sous format XML
· LDAP
3.2.3 Administration
OMQ fournit aussi des outils d'administration en ligne de
commande permettant, à l'aide de scripts (shell ou autres),
d'automatiser certaines tâches. A titre d'exemple, « imqadmin »
et « imqcmd » permettent de gérer un parc de brokers, de
recharger une nouvelle configuration, ... Ces outils se montrent ainsi
particulièrement utiles.
Un monitoring du middleware est possible par messages. Il suit
les mêmes concepts que les « Advisory Messages » d'Active MQ.
La plateforme OMQ implémente JMX.
4 Configuration et déploiement
OMQ est réalisé en Java. Voici la liste des
systèmes d'exploitation dont Sun annonce le support :
Ø Solaris 9 ou 10.
Ø RedHat Entreprise Linux Advanced/ Entreprise
Server ;
Ø Windows XP / 2000 Server / 2009 Server ;
Ø Le fonctionnement sur une Linux Debian semble tout
à fait satisfaisant.
Toujours selon Sun, OMQ peut aussi bien tourner sous une
architecture Sparc que x86. Il requiert un minimum de 256 Mo de RAM, mais Sun
recommande 2 Go de Ram pour de la HA ou pour de gros volumes de messages.
Lors du téléchargement du paquet du site de Sun,
on remarque la présence d'un installateur graphique.
En ce qui concerne les exemples, ils sont au nombre de 41,
illustrant : JMS, JMX, le monitoring, et SOAP. On constate aussi la
présence d'une dizaine d'exemples montrant l'utilisation de l'API C. Les
exemples se limitent à l'utilisation des services de messageries et de
monitoring d'OMQ. Dommage qu'aucun exemple ne montre la mise en place d'une
plateforme en cluster ou high-availability (haute disponibilité).
|