JORAM data sheet

Le runtime de JoramMQ s’appuie sur le logiciel open source JORAM dans sa dernière version de référence, inchangé par rapport à la distribution sur ow2.io.

Ouverture et Conformité aux Standards

  • JMS™ 2.0 – JORAM est pleinement conforme à la dernière spécification JMS 2.0. Ceci permet d’utiliser JORAM comme bus d’interconnexion universel entre toute application qui utilise une interface d’accès JMS™.
  • Protocoles – Les principaux protocoles de l’Internet et du Web sont pris en charge par JORAM : TCP/IP, HTTP, SOAP, SSL, etc. Joram est accessible au travers des protocoles AMQP (v1.0) et STOMP. Un plugin spécifique à l’offre JoramMQ apporte également la conformité à MQTT.
  • Plate-forme J2EE™ – JORAM est actuellement intégré comme composant de messagerie asynchrone dans plusieurs plates-formes J2EE, open source ou non, disponible sur le marché.
  • Environnements Java : de J2EE™ à J2ME™ – JORAM est disponible sur une grande variétés de plates-formes disposant d’environnements Java aux capacités variées, y compris les terminaux mobiles et les systèmes Java embarqués. Les applications J2ME™, disponibles sur ces équipements, peuvent désormais utiliser JORAM pour inter-opérer avec des applications JMS via Internet. Grâce à cette fonctionnalité JORAM se présente aujourd’hui comme le connecteur asynchrone universel entre des composants logiciels distribués sur une large gamme de supports.
  • Support de clients non-Java – Joram offre une API « JMS like » pour les clients C et C++. La prise en compte des protocoles AMQP, STOMP et SOAP permet également l’accès à la plateforme au travers de multiples langages.
  • Interopérabilité – JORAM dispose d’une passerelle universelle qui permet à des applications développées sur JORAM de communiquer avec des applications JMS externes sans modification du code applicatif. Des passerelles sont également disponible avec la messagerie SMTP et avec le système de transfert de fichiers FTP.

Performance, disponibilité et fiabilité garantie

L’architecture interne de JORAM, fondée sur une technologie innovante à base d’agents distribués, a été conçue pour répondre efficacement aux problèmes de goulots d’étranglements engendrés par la distribution sur Internet :

  • L’architecture distribuée et configurable permet de localiser géographiquement les serveurs en fonction de la topologie et de la demande des applications clientes. Le trafic sur le réseau est minimisé et la charge de traitement des messages est répartie entre les serveurs.
  • L’architecture d’une plate-forme JORAM distribuée est évolutive et permet ainsi de répondre de façon incrémentale à la montée en charge des besoins sans refonte de l’application.

Disponibilité et fiabilité sont au coeur de la plate-forme JORAM afin d’offrir aux applications toutes les garanties souhaitées. La plupart de ces mécanismes sont débrayables afin de permettre à une application de ne pas payer le coût d’une fonction qui ne serait pas nécessaire.

  • Garantie de délivrance des messages – Le bus à messages garantit une fiabilité à 100 % des envois de messages entre serveurs malgré les défaillances possible du réseau ou des serveurs. Cette propriété est réalisée grâce à une architecture interne du système de communication fondé sur des points de reprise et des transactions « légères ».
  • Store and Forward – La fonction « Store and Forward », implantée dans les serveurs JORAM, garantit la fiabilité des échanges entre deux clients JMS et préserve l’autonomie de fonctionnement des clients JMS malgré les pannes des serveurs et duréseau.
  • Transactions – JORAM fournit le support pour l’interface transactionnelle XA.

Joram permet la réplication d’un objet de communication de type « Queue » ou « Topic » sur un ensemble de serveurs géographiquement distribués.

  • Disponibilité – Cette fonction accroît la disponibilité globale du système en permettant à un sous-ensemble de clients JMS de fonctionner normalement malgré la défaillance d’un serveur ou réseau.
  • Répartition de charge – Cette fonction permet de répartir la charge inhérente au transport et au traitement des messages sur les différents serveurs, réduisant la charge CPU de chaque serveur et le trafic entre les serveurs.

Flexibilité et Extensibilité

Grâce à son haut niveau de configuration, vous pouvez construire à la demande la plate-forme JORAM qui répond exactement à vos besoins. Vous serez en mesure, par la suite, de faire évoluer cette plate-forme pour l’adapter à l’évolution de vos applications et de la structure de votre entreprise décentralisée.

  • Architecture configurable – La plate-forme JORAM bénéficie de plusieurs niveaux de configuration. Un premier niveau concerne l’organisation des serveurs et le placement des objets de communication. Un deuxième niveau concerne le choix des protocoles de communication (entre les serveurs et entre un client et un serveur). Un dernier niveau concerne la définition des paramètres de qualité de service (persistance, sécurité, etc.).
  • Architecture extensible
    • Les objets de communication de Joram, Queue et Topic, implantent une API permettant d’étendre simplement la sémantique de ces objets (acquisition de données, traitements et transformation de messages, distribution de données, etc.).
    • A côté de l’API JMS, JORAM fournit également une API à base d’agents distribués qui permet le développement rapide d’applications distribuées, fondées sur le concept d’intelligence distribuée. La disponibilité conjointe des deux APIs est un point fort de JORAM dans la mesure où elle permet à de nouveaux services, développés en termes d’agents, de dialoguer avec des applications plus traditionnelles en utilisant la messagerie JMS.
  • Optimisations – Différents cas d’optimisation sont possibles en liaison avec le niveau de qualité de service et en relation avec la possibilité de co-localiser un serveur et un ensemble de clients sur une même machine.

Administration et Sécurité

JORAM fournit un ensemble d’outils et de mécanismes pour réaliser l’administration d’une plate-forme distribuée et pour mettre en œuvre les politiques de sécurité souhaitées.

  • API d’administration – JORAM offre un support étendu de JMX permettant la surveillance et l’administration de ses composants au travers des multiples outils disponibles. Une API d’administration de type CLI est également disponible.
  • Authentification et confidentialité – JORAM fournit des fonctions de gestion des utilisateurs et des droits d’accès au système. Les connexions sécurisées entre les serveurs et entre les clients et les serveurs sont possibles via SSL.
  • Gestion des pare-feux – JORAM prend en charge les architectures sécurisées par des pare-feux.

Support à l’intégration

En tant que composant essentiel d’une solution d’intégration, le bus doit s’interfacer facilement avec divers environnements existants. JoramMQ Entreprise apporte des compléments de logiciel et de packaging pour en simplifier l’usage dans les environnements suivants :

  • divers systèmes Linux et Windows,
  • divers runtime Java,
  • diverses implantations J2EE,
  • divers autres environnement d’intégration.

JoramMQ Entreprise est validé et supporté dans ces environnements, et le suivi de leurs évolutions est garanti.