Pour savoir où on va, il faut savoir d'où l'on vient

Vous avez
une question ?
Un projet ?

Contactez nous !
 

Contactez-nous

Vous avez une question ? un projet ? 
Vous souhaitez plus d'informations sur un produit ? sur notre offre ? 
Contactez-nous, on vous répond sous 4H.

retour

Les ESB open source

Les ESB open source

Les ESB sélectionnés

Nous avons sélectionné les 4 solutions qui nous semblent les plus crédibles, les plus solides et les plus pérennes aujourd'hui, celles sur lesquelles on peut envisager sans risque de construire une architecture critique pour une entreprise.

Les outils sélectionnés ne se différencient pas tant par la liste des fonctionnalités, qui pour l’essentiel découle des EIP. Ils se distinguent en revanche par les possibilités d’interfaçage, par des fonctionnalités avancées ou leur possibilité d'utilisation dans le cloud. Ils se distinguent aussi par leur dynamique de développement et leur modèle économique.

Les produits, sélectionnés par ordre alphabétique, sont les suivants:

  • Mule ESB
  • RedHat Jboss Fuse
  • Talend ESB
  • WSO2 ESB

Mule ESB

Screenshot from 2015-04-10 15:15:18

Éditeur : MuleSoft
Site internet de la solution : http://www.mulesoft.com/
Date de création : 2003
Licence : CPAL / commerciale
Version étudiée : 3.5.0

Présentation

La société

MuleSoft a été fondée par Ross Mason et Dave Rosenberg en 2006 pour développer et commercialiser leur produit phare Mule ESB.

La société est basée aux États-Unis et possède des bureaux aux Royaume-Uni, en Argentine et en Australie. Elle dispose également d'une structure commerciale en France.
MuleSoft a vu son actionnariat fortement évoluer ces dernières années. Les plus grands fonds technologiques y ont investi et dernièrement, SAP, Salesforce et Cisco ont souhaité participer  directement au projet.

La société qui avait pour credo la facilité d'intégration applicative depuis son lancement a choisi de se focaliser et d'investir depuis peu dans le cloud grâce à sa plate-forme étendard AnyPoint.

Elle a renforcé son pôle en achetant ProgrammableWeb en avril 2013.

Modèle économique

MuleSoft nous propose la base de son ESB en Open Source et vend, sous licence commerciale, une version améliorée. La tarification de celle-ci est basée sur le nombre de cores utilisés et le niveau de support.

MuleSoft a une stratégie de rémunération basée sur l'abonnement à ses services et en particulier ses services clouds.

La société se rémunère également en fournissant des prestations d'expertises techniques et de formation autour de ses produits.

Les centres de support de MuleSoft sont basés à Buenos-Aires (Argentine) et San-Francisco (Etats-Unis). Un nouveau centre devrait voir le jour à Londres dans les prochains mois.

Le produit

Ross Mason a commencé à travailler sur le projet Mule ESB en 2003. À l'époque, il n'existait pas d'outil simple d'intégration et encore moins de produits open source. La vue des produits propriétaires sur le marché, lourds et complexes, lui donna l'idée de repartir sur des bases saines où le développeur pourrait intégrer des applications sans devoir réinventer la roue.

Ross Masson et son équipe ont créé un outil spécifique et très éloigné techniquement de la concurrence.

Mule ESB est devenue au fil des années l'une des solutions les plus utilisées dans le domaine et peut s’enorgueillir de posséder plus de 3500 clients de part le monde dont 35 % du Global 500.

Spécificité du produit

Anypoint Platform

Screenshot from 2015-04-10 15:18:46

Ross Mason a annoncé en avril 2013 la création de la plate-forme Anypoint6. Cette plate-forme a été calibrée pour répondre à tous les besoins de l'intégration de systèmes legacy mais également avec les nouveaux enjeux du domaine. En particulier, Ross souhaite mettre l'accent sur ce qu'il appelle la « nouvelle entreprise » basée sur un système d'information très fragmenté qui emploie de manière importante toutes les possibilités des offres SaaS ou du Cloud au sens général.
MuleSoft dans son souci d'être toujours simple et léger n'a pas souhaité mettre en place une plate-forme lourde avec une suite logicielle complètement intégrée basée sur un socle commun. Elle est constituée de l'ensemble des solutions de MuleSoft, Mule ESB, CloudHub,
Anypoint API Manager, Anypoint Registry, etc. Chaque produit pouvant être utilisé en standalone ou combiné avec les autres.

Détail sur le projet

Architecture du produit

« OSGi ? No Thanks » par cette simple phrase que Ross Mason a prononcée en 2007 on comprend que Mule a emprunté un chemin contraire à tous ses concurrents. Mule, pour sa version 3, a revu l'intégralité de l'architecture de sa solution. Ses développeurs et architectes se sont penchés sur OSGi, l'ont testé et l'on trouvé bien conceptuellement pour un vendeur de solution mais malheureusement beaucoup trop complexe pour un développeur souhaitant intégrer une solution basée dessus.

Mule a donc créé son propre système de gestion dynamique de module en évitant les écueils du modèle de classloader JEE. Cela lui permet de simplifier ses développements et l'entropie de son application. Mais pour le futur on-t-il fait le bon choix en ne partant pas sur OSGi ?

Outil de développement

Screenshot from 2015-04-10 15:21:46

MuleSoft met à disposition depuis 2012 un studio de développement, AnyPoint Studio, basé sur Eclipse. Ce studio a pour particularité de faciliter le développement et le déploiement sur Mule ESB et Cloudhub en utilisant une interface unique.

Mule a souhaité mettre l'accent sur la simplicité d'utilisation et une interface claire et très graphique. L'usage du studio est assez intuitif et une aide contextuelle est disponible pour comprendre l'usage et la configuration de chaque composant.

Screenshot from 2015-04-10 15:22:30

Anypoint Studio est livré avec un runtime intégré pour pouvoir tester ses développements facilement et, par un simple clic, permet de déployer vers un mule ESB en standalone et sur Cloudhub ou d'exporter dans une archive.

MuleSoft nous offre donc un studio bien conçu : simple, efficace et ergonomique.

Web-services et connecteurs

C'est l'une des grandes forces de Mule ESB. Mule fournit aux développeurs un ensemble de connecteurs spécialisés pour des services aussi variés que Twitter, Facebook ou Microsoft Dynamics. Certains de ces connecteurs ont également la particularité d'être certifiés par le service appelé (comme SAP) ou issus de partenariat (comme pour SalesForce).

Screenshot from 2015-04-10 15:24:26

MuleSoft n'oublie pas les autres services et permet de créer son propre connecteur ou d'utiliser tous les protocoles ou formats standards, SOAP, REST, FTP, POP3, JMS, etc.

Mule ESB apporte une bibliothèque de connecteurs vers les services les plus courants qui facilitent la vie des développeurs. Mais attention une partie de la bibliothèque fait partie de l’offre commerciale du produit.
Médiation et routage

Mule ESB possèdent un ensemble de composant lui permettant de réaliser l'essentiel des EIP existant.

Mule ESB s'appuie sur un DSL en XML complété par un langage d'expression, le Mule Expression Language (MEL) utilisable dans tous les composants de médiation.

L'une des grandes forces, là encore pour aider le développeur, c'est son composant Data Mapper qui permet de réaliser la transformation d'un message et donc le mapping d'une
structure d'un message d'origine vers la structure d'un message cible, de manière graphique par un simple glisser-déposer.

Screenshot from 2015-04-10 15:25:35

MuleSoft nous offre tous les outils classiques pour faire la médiation et le routage des messages, avec en petit plus son Data Mapper, gadget à l'origine, mais qui depuis la dernière version est devenu performant et réellement utilisable en production.

Sécurité

Mule offre un certain nombre d'outils de base permettant de sécuriser les flux d'informations :
Spring Security, WS-Security, SAML, etc.

Mule ESB dans sa version commerciale propose des outils supplémentaires comme le support de l'OAuth2, les coffres d'accréditations, le cryptage ou le filtrage selon un élément du message.

Monitoring

Screenshot from 2015-04-10 15:26:57

Mule ESB met à disposition la classique interface JMX qui permettra de suivre les différentes métriques depuis les outils de monitoring du marché.

En plus du JMX, MuleSoft fournit à travers son application Mule Management Console (MMC), dans sa version commerciale, une interface web complète permettant de gérer les serveurs.

Tout a été pensé pour avoir à portée de main tous les moyens de suivre l'activité, de gérer des alertes et d'analyser en temps réel les flux d'informations.

En plus de ces moyens, MMC permet de suivre l'activité business avec la visualisation des différents événements, des erreurs et des durées de traitements.

MuleSoft apporte donc à travers son MMC un outil simple d'emploi qui apporte toutes les informations nécessaires à un administrateur pour surveiller et agir pro-activement sur les serveurs. A noter que cette offre n'existe que pour la version commerciale de la solution.

Installation et configuration

Mule est, comme les autres ESB présentés dans ce livre blanc, un ESB léger. En cela, il bénéficie d'un processus d'installation extrêmement simple. On télécharge et on lance le runtime soit par un .exe sous Windows ou soit par un script sh sous Linux et Mac.

En plus de ce déploiement en « stand-alone », Mule offre la possibilité de déployer Mule ESB dans un serveur d'application (Tomcat, Jboss, WebLogic, WebSphere, etc.) sous forme de war.

Et si cela ne convient toujours pas, vous pouvez également embarquer Mule directement dans votre application. Mais attention aux limitations !
Les possibilités offertes au niveau de la configuration sont limitées toujours par cette volonté d'être le plus simple et le plus accessible possible.

Clustering

Mule ESB peut être déployé dans un cluster composé de 2 à 8 nœuds. La découverte entre chacun de ces nœuds est réalisée en multicast.

Screenshot from 2015-04-10 15:29:45

MuleSoft fournit un outil pour faciliter la gestion de ce mode, Mule Management Console (MMC). Cet outil va permettre de déployer les développements réalisés sur chacun des nœuds et de monitorer la plate-forme. Cet outil est utilisable cross environnements.

Mule ESB délègue la responsabilité du load balancing et du MOM à un outil tiers à la charge de l'utilisateur de la solution.

iPaaS

Screenshot from 2015-04-10 15:30:59

MuleSoft met à disposition son ESB dans le cloud grâce à sa plate-forme iPaaS Cloudhub.io. Mule s'appuie sur l'infrastructure d'Amazon AWS et recommande son usage pour la partie MOM, par exemple avec Amazon SQS.

Cloudhub est le centre névralgique de la stratégie de MuleSoft et bénéficie donc d'un support avancé de ses équipes.

Depuis peu, la plate-forme Cloudhub, en plus de réaliser de l'intégration, peut être utilisée pour faire de l'API Management en exposant des services REST, en gérant les politiques de sécurité afférentes et en fournissant un portail pour les documenter.

MuleSoft peut être considéré comme ayant pour le moment le projet le plus abouti en termes fonctionnels et de maturité du produit. Il est à noter que des développements sont en cours chez l'éditeur pour proposer du cloud privé dans les prochains mois.

Redhat Jboss Fuse 

Screenshot from 2015-04-10 15:33:22

Éditeur : RedHat
Site internet de la solution : http://www.jboss.org/products/fuse/
Date de création : 2007
Licence : Apache 2.0
Version étudiée : 6.1

Présentation

La société

RedHat est une entreprise dont la présentation n'est plus à faire. Société américaine à l'origine mais ayant des bureaux dans le monde entier, RedHat est un spécialiste de grande renommée dans le monde de l'open source. En 1993 Bob Young fonde AAC, en 1994 Mac Ewing crée sa version de linux Red Hat Linux, en 1995 Bob rachète la société de Mac et la fusionne avec la sienne pour fonder officiellement la société Red Hat Software.

En 2006, Red Hat achète la société Jboss, fondée en 1999 par Marc Fleury, spécialisé dans les intergiciels. Jboss deviendra par la suite une division à part entière de la société.

En 2012, Red Hat met la main sur la société Fuse Source, extrêmement connue pour son ESB léger qui vient compléter les produits de la gamme de Jboss.

Modèle économique

RedHat est une société où le terme Open Source est écrit dans ses gènes. Tous ses produits sont librement disponibles.

Red Hat se finance sur la formation, l'expertise, l'accompagnement de projet et surtout sur le support et les garanties qu'il apporte à ses outils.

Le produit
RedHat Jboss Fuse est un vieux projet bien connu mais... pas sous ce nom. Fuse n'est autre que la version « officielle » de l'ESB léger Apache ServiceMix. Rob Davis, James Strachan, Hiram Chirino et Guillaume Nodet tous employés de RedHat ont créé successivement Apache

ServiceMix, Apache ActiveMQ et ApacheCamel entre 2003 et 2007 et continuent à contribuer activement à ces différents projets.

Screenshot from 2015-04-10 15:35:56

Aujourd'hui Fuse commence à se démarquer du ServiceMix de base en s'intégrant petit à petit dans la plate-forme Jboss et en apportant des évolutions importantes comme l'usage de fabric8 pour la gestion centralisée du déploiement de composants ou HawtIO pour l'interface d'administration.

RedHat Jboss Fuse est un projet en perpétuel évolution, innovant et supporté par une équipe solide de passionnés.

Spécificité du produit

Intégration avec l'écosystème Jboss

Depuis le rachat par Red Hat de Fuse Source, les produits Fuse sont intégrés petit à petit à l'ensemble de l'écosystème Red Hat. En plus du studio, on pourra constater ce travail dans Jboss Fuse Service Work, une plate-forme SOA qui combine l'ESB de Fuse, le framework de service Switchyard et l'outil de gouvernance Overlord de Red Hat.

Détail sur le projet

Architecture du produit

Screenshot from 2015-04-10 15:37:34

La base du Kernel de Fuse ESB est développée sur Apache Karaf, un runtime et un conteneur léger de composants OSGi. Ce kernel contient tous les éléments de base nécessaires au produit : provisionning, gestion des logs, injection de dépendances, gestion de la sécurité, console d'administration.

Au dessus du kernel se trouve la couche de services. Celle-ci va contenir toutes les interfaces et  les implémentations de services qui permettront d'interagir avec les applications clientes. On y retrouvera notamment le framework de web-services Apache CXF, la librairie de médiation

Camel et le routeur de message normalisé qui transmettra les messages entre les différents composants OSGi.

La partie application est constitué des développements des utilisateurs de Fuse qui interagiront avec des applications ou services tiers et des services internes à Fuse ESB.

Cette architecture est en réalité une machinerie complexe mais bien huilée qui s'appuie sur de nombreux composants open source reconnus comme faisant partie de ce qui se fait de mieux actuellement.

Outil de développement

Screenshot from 2015-04-10 16:34:41

Les développements sur Fuse ESB sont réalisables depuis quelques mois depuis le JBoss Developer Studio basé sur Eclipse. Il sera
nécessaire d'installer sur celui-ci le JBoss Developer Studio Integration Stack disponible sur le Central de Red Hat pour pouvoir développer (il
n'est pas mis à disposition par défaut).

Le studio n'est en réalité qu'un outil de développement qui permet d'initialiser par clic un projet Fuse en utilisant des archétypes Maven.

Screenshot from 2015-04-10 16:36:01

Le studio offre la possibilité de créer et d'éditer ses flux Camel de manière graphique comme ses concurrents et de les débugguer.

Depuis peu il est également possible d'éditer les flux Camel directement depuis la console d'administration web sous Hawtio de manière graphique ou en éditant les sources.

Screenshot from 2015-04-10 16:38:16

Fuse nous met à disposition un studio de développement très orienté développeur Java, limité sur sa partie graphique et qui aurait notamment besoin d'ajout d'aide contextuelle pour les nouveaux arrivants.

Web-services et connecteurs

Screenshot from 2015-04-10 16:39:36

Fuse ESB s'appuie sur CXF comme Framework de web-service qui est la combinaison de Celtix (IONA Technologies/Progess Software/Fuse Source) et XFire (CodeHaus).

Il n'y a pas de connecteurs à proprement parler mais des médiateurs spécifiques fournis par la librairie de médiation Camel pour permettre d'exploiter plus facilement de nombreux services comme Twitter, Salesforce, SAP, etc. Ce sont des composants performants et utilisés dans de nombreux projets.

Médiation et routage

2

Fuse ESB s'en remet à Apache Camel pour toute sa partie médiation et routage. Ce projet issu de Service Mix est devenu l'une des librairies
d'intégration de référence sur le marché. Forte d'une grande communauté, elle met à disposition de nombreux médiateurs et implémente l'ensemble
des EIP.

Sécurité

Screenshot from 2015-04-10 16:40:52

Fuse ESB se base sur la spécification JAAS pour sécuriser l'ensemble des composants de son produit et met à disposition
l'ensemble des outils classiques à travers CXF et Camel comme SSL, gestion de certificats, WS-Security, Oauth 2, etc.

Monitoring

Screenshot from 2015-04-10 16:43:38

Red Hat a sorti début 2013 un nouvel outil, Hawtio, qui est une console web utilisant AngularJS pour sa partie front. Depuis ce
produit est intégré à de nombreux outils comme A-MQ/ActiveMQ et ServiceMix/Fuse ESB. De nombreux plugins spécifiques par exemple à Camel ou Maven sont mis à disposition.
Hawtio va ainsi fournir des tableaux de bord pour suivre en temps réel l'activité de Fuse ESB et permettre d'en créer de nouveaux personnalisés qui exploiteront les données fournies par une interface JMX.

Screenshot from 2015-04-10 16:44:55

Bien pratique la console d'administration va ainsi permettre par exemple de voir en temps réel le passage de messages dans des flux Camel.

Screenshot from 2015-04-10 16:44:58

Clustering

Fuse ESB se base sur Apache Karaf pour le clustering et comme runtime de composants OSGi.

Depuis quelques mois, l'équipe de développement a mis l'accent sur son système d'approvisionnement et a créé le projet Fabric8 qui reprend une partie du code spécifique à
Fuse par rapport à ServiceMix. Fabric8 est un système d’approvisionnement et de gestion multi-conteneur qui sait gérer notamment du Karaf, Tomcat, Wildfly et Vertx. Les prochaines versions de Fuse ESB changeront donc en profondeur avec ce nouveau système.

iPaaS

RedHat met à disposition depuis peu FuseESB dans le cloud sur sa plate-forme OpenShift. Le service est en version alpha et évolue rapidement.

L'environnement est configuré et pleinement fonctionnel en quelques clics. Les développements pourront être réalisés dans le Developer Studio de Jboss et déployés
directement via son interface. Si l'on souhaite avoir un contrôle plus avancé que celui mis à disposition par la console d'administration web, OpenShift met à disposition un outil en ligne de commande écrit en Ruby pour interagir finement avec la plate-forme. Les développements doivent être versionnés sous Git (OpenShift en fourni un si nécessaire) et grâce à un hook, chaque commit sera directement déployé sur la plate-forme.

OpenShift est une plate-forme plus large qu’un simple iPaaS, Red Hat préférant même parler de xPaaS pour la qualifier. Cette plate-forme est éprouvée par des milliers de projets qui l'utilisent tous les jours.

Talend ESB

Screenshot from 2015-04-13 07:47:32

Éditeur : Talend
Site internet de la solution : http://www.talend.com/
Date de création : 2011
Licence : Apache 2.0 / commerciale
Version étudiée : 5.5.0

Présentation

La société

Talend est une société française fondée en 2005 par Bertrand Diard et Fabrice Bonan, spécialisée dans l'intégration de données et disposant de bureaux aux 4 coins du monde.
Talend sort sa première solution, Talend Studio for Data Integration, en octobre 2006. Son logiciel phare a été téléchargé plus de 20 millions de fois et la société compte plus de 3 500 clients de part le monde.

Talend est une entreprise très impliquée dans le monde de l'Open Source et fait notamment partie du conseil d'administration du consortium OW2 et contribue à de nombreux projets Apache.

La société a fait l’acquisition de la société allemande Sopera fin 2010, un membre de la fondation Eclipse et grand spécialiste de l'intégration de données outre-Rhin qui avait pour clients Deutsche Post, Zurich Insurance ou encore Landesbank Berlin.

Modèle économique

Talend publie sous licence open source et gratuitement le cœur de tous ses produits.

La société se rémunère en vendant sous licence commerciale des versions améliorées facilitant la vie des développeurs et des administrateurs. Les prix des licences sont calculés selon de nombreux paramètres, nombre de runtime, nombre de développeurs, niveau de support, etc.

Talend propose également un support en développement et en production, des séances de formation et de l'expertise technique.
Le produit
Talend ESB est un produit partiellement Open Source, commercialisé depuis 2011, à la suite du rachat de la société Sopera. La solution est issue de la fusion de l'outil Sopera Advanced Service Factory (ASF), existant depuis 2007, et de l'outil Talend Data Management.

Talend ESB est un outil de premier plan permettant de jouer à la fois sur le tableau de la Qualité de Données et de la Qualité de Service. Basées sur ServiceMix, les key features qui démarquent cette solution sont une plate-forme de médiation très bien outillée, une capacité de distribution des services, un monitoring technique centralisé et de haut niveau le tout incorporé dans la plate-forme d'intégration unifiée de Talend.

Talend ESB est disponible dans une version communautaire sous licence Apache et en version entreprise sous une licence commerciale.

Spécificité du produit

Talend Unified Platform

Talend fournit une plate-forme unifiée permettant la gestion complète de l’intégration au sein d'un système d'information :

  • DQM : Data Quality Management
  • MDM : Master Data Management
  • ETL : Extract-Transform-Load
  • ESB : Enterprise Service Bus
  • BPM : Business Process Management
Screenshot from 2015-04-13 07:51:59

Cette plate-forme apporte en support :

  • un outil de développement commun, Talend Open Studio,
  • un référentiel commun
  • un conteneur unifié d’exécution
  • un système de déploiement
  • une console de monitoring unique.
Détails sur le projet

Architecture du produit

Talend ESB est bâti intégralement à l’aide de standards Open Source dont les principales briques sont issues de la fondation Apache et plus particulièrement de son projet Apache ServiceMix :

  • Apache Camel8 pour la médiation
  • Apache ActiveMQ9 comme message broker s’appuyant sur Camel et Jetty
  • Apache CXF10 comme framework de développement des Web Services
  • Apache Karaf11 – conteneur léger de composant OSGi
Screenshot from 2015-04-13 07:54:29

Talend les a associés à une version personnalisée d'Hyperic HQ pour le monitoring de l'ensemble.

Talend a choisi de s'appuyer sur des briques open source solides et éprouvées. L'outil bénéficie de fait pleinement des dernières avancées et du support des différentes communautés.

Outil de développement

Talend met à disposition un IDE, Talend Open Studio basé sur Eclipse, commun à tous les produits de sa plate-forme. Ce studio permet donc de créer des routes Camel, des jobs classiques d’intégration de données et des services.

Screenshot from 2015-04-13 07:56:14

Talend a séparé en deux perspectives la réalisation des flux ESB :

  • une perspective orientée service qui va permettre de configurer toutes les interactions externes
  • une perspective de médiation qui va permettre de transformer, filtrer et orienter les messages qui transitent.

Le studio incorpore les principaux médiateurs fourni par Apache Camel et fournit un composant configurable pour ajouter les autres.

Les avantages du studio :

  • une documentation intégrée : un simple clic vous permet d'accéder à la documentation d'un composant et de voir des exemples d'utilisation.
  • un runtime intégré qui permet de tester directement ses développements.
  • une visualisation directement dans son IDE de la transmission des messages entre les composants en phase de test.

Talend offre un studio bien conçu qui facilite la vie et améliore la productivité des développeurs. La différenciation de perspective entre service et intégration ne dépaysera pas
les connaisseurs de Talend DI.

Web-services et connecteurs

Talend ESB s'appuie sur la puissance d'Apache CXF pour développer et exposer de manière transparente des web-services basés sur des implémentations d'API tels que JAX-RS ou JAX-WS.

Cette utilisation lui permet de supporter de nombreux protocoles et formats tels que SOAP, HTTP/REST, CORBA ou JMS.

L’outil allie à Apache CXF la richesse de la bibliothèque Camel qui met à disposition la gestion de endpoints spécifiques à des services d'entreprise, ou grand public, comme Salesforce, SAP,Solr ou Twitter.

Talend bénéficie de toute la puissance et la richesse de la partie ETL (Transformation, consolidation et nettoyage de données, mapping avancé, très riche bibliothèque de
connecteurs aux logiciels du marché).

Médiation et routage

Talend, dans son esprit d'unification d’expérience, a intégré la perspective de développement des routes de médiation dans le même studio, en gardant la même logique ergonomique que celle de l’ETL. L’intégration entre les routes de médiation et les jobs talend (ETL) est native.

Talend ESB s'appuie sur Apache Camel et sa bibliothèque forte de plus de 150 composants12 et de Camel Extra qui apporte une dizaine de composants supplémentaires non hébergés directement sur le site de la fondation Apache pour des problèmes d'incompatibilités de licences (Hibernate, Neo4j, ZeroMQ, etc). Apache Camel est une librairie extensible de composants et il est facile de créer son propre composant qui pourra ensuite être partagé avec la communauté. Chaque composant est documenté en détail en tant que consommateur et/ou producteur avec l'ensemble de ces options et illustré par de nombreux exemples.

Screenshot from 2015-04-13 08:00:52

Talend a récemment introduit des outils de mapping graphiques avancés (cMap et Talend Data Mapper ) qui simplifient et enrichissent ses capacités de mapping de données.

Screenshot from 2015-04-13 08:02:01

Sécurité
Sécuriser l’accès aux services déployés est un élément clé lors de la mise en place d'un ESB. La solution ESB de Talend est conforme aux spécifications WS-Security et WS-Policy. Elle fournit un module Secure Token Service (STS) pour générer des jetons de sécurité. Talend supporte de nombreux autres standards de sécurités comme SAML et Oauth.

Screenshot from 2015-04-13 08:02:59

Dans sa version entreprise Talend fourni des outils supplémentaires liés à la sécurité, comme XML Key Management Specification (XKMS) et Talend Security Service.

Ce dernier est basé sur le gestionnaire d'identité Apache Syncope et permet d'implémenter ses propres politiques de sécurité via XACML.
Talend fournit tout ce que l'on peut attendre d'un ESB et même plus dans sa version professionnelle avec l'ajout d'un gestionnaire d'identités.

Monitoring

Talend ESB met à disposition une interface JMX au niveau de chacune des briques de sa solution.

Une interface Service Activity Monitoring (SAM) est mise à disposition pour visualiser les messages échangés et suivre les métriques afférentes aux services déployés. Cette interface est disponible au sein de l'outil d'administration de la suite Talend : Talend Administration Center (TAC).

Screenshot from 2015-04-13 08:05:14

Pour collecter et exploiter les logs, il est possible d'utiliser Talend Log Server qui est fourni dans la version Entreprise de la solution. Talend Log Server s'appuie sur le trio : Logstash, Elasticsearch et Kibana.

Pour innover et enrichir ses fonctionnalités de monitoring, Talend a aussi a intégré Hyperic HQ.

Ces choix sont certes judicieux mais ils impliquent la nécessité d’avoir de nouvelles connaissances pour pleinement les exploiter.

Installation et configuration

Dans sa version commerciale, la solution Talend fournit depuis la version 5 un assistant d'installation graphique ou en ligne de commande pour l'ensemble de la suite dont notamment l'application d'administration, le référentiel partagé, la base de donnée, le moteur de compilation, les serveurs d'exécution. Cet assistant ne se contente pas d'installer les produits de Talend mais permet également d'installer les produits tiers nécessaires comme SVN, Tomcat ou MySQL ou de s'intégrer avec ceux déjà existants.

Dans la version communautaire toute la procédure d'installation sera à réaliser manuellement.

Les modules supplémentaires comme STS, SAM, Zookeeper et ActiveMQ seront à configurer entièrement.

Clustering

Talend ESB runtime s'appuie sur le conteneur OSGI Apache Karaf. C'est la puissance de celui-ci et en particulier de son composant Apache Cellar qui lui confère la capacité de mise à l’échelle.

Apache Cellar est construit sur Hazelcast, un système de cache distribué en mémoire.

La distribution des événements et la gestion de la disponibilité des services sont nativement gérées par Cellar. La phase de découverte des nœuds dans le cluster se fait soit par multicast soit par WKA.

iPaaS

Talend ne dispose pas d'offre iPaaS au moment de la réalisation de ce document mais commercialise une offre dédiée « platform for Hybrid Cloud », préparée pour simplifier son intégration dans un cloud existant.

Par ailleurs, Talend a commercialisé par le passé la partie ETL en SaaS, et compte tenu de leurs communications et l’enjeu du cloud dans le marché, une offre en iPaaS verra certainement le jour dans les mois à venir.

Wso2 ESB

Screenshot from 2015-04-13 08:09:22

Éditeur : WSO2
Site internet de la solution : http://www.wso2.com/
Date de création : 2005
                                         Licence : Apache 2.0
                                         Version étudiée : 4.8.1

Présentation

La société

WSO2 est une société américaine dont le siège social se situe à Palo Alto en Californie. La société édite une suite de solutions dédiées à la création d’architecture SOA et en particulier WSO2 ESB.

La société a été fondée par le Dr. Sanjiva Weerawarana et Paul Fremantle, anciens de chez IBM, créateurs notamment de Apache SOAP et WSIF (Web Services Invocation Framework).

WSO2 a aujourd’hui des bureaux aux Etats-Unis (Palo Alto et Bloomington), aux Royaume-Uni (Londres) et au Sri Lanka (Colombo). L’éditeur n’a pas de bureau en France.

Modèle économique

WSO2 ESB est basé sur des composants 100% Open Source sous licence Apache 2. L’outil ne possède pas de version premium payante. Son code source est librement accessible sur un dépôt SVN.

La société se rémunère :

  • Sur le support en développement et en production dont la tarification est basée sur le nombre d'instances de production.
  • En proposant des séances de formation et un programme « quick starter » pour commencer à développer avec un coach.
  • Avec son offre de services professionnels : consultants SOA ou experts techniques.

WSO2 propose également des certifications sur ces différentes solutions.

Le produit

WSO2 ESB est un projet totalement open source développé depuis 2005. Une nouvelle version du produit est publiée tous les 6 mois environ.

WSO2 ESB repose sur la plateforme Carbon, implémentant les spécifications OSGi, commune à tous les produits de WSO2, modulaire, extensible et pouvant nativement être mis à l'échelle. Il utilise les projets Apache Synapse, pour la composante de médiation, et Apache Axis2, pour les web services, dont l'éditeur est le créateur et le principal contributeur.

Rapide et ayant une empreinte mémoire réduite le bus de service d'entreprise de WSO2 est hautement interopérable et supporte de nombreux transports, formats et protocoles comme POP3, JMS, AMQP, FIX, CIFS, MLLP, SMS, SOAP, REST, EDI, HL7, OAGIS, Hessian, CORBA/IIOP.

Spécificités du produit

Plateforme Middleware WSO2

WSO2 ESB n'est qu'un produit parmi une plate-forme middleware complète orientée SOA.

WSO2 y ayant ajouté en début d'année une série de produits dédiés au mobile pour surfer sur la vague du « Bring Your Own Device (BYOD) ». Tous les produits de cette  plate-forme sont basés sur le même framework, WSO2 Carbon.

Screenshot from 2015-04-13 08:15:32
Détail sur le projet

Architecture du produit

Screenshot from 2015-04-13 08:17:10

WSO2 ESB est basé sur le framework Carbon qui possède plus de 250 composants OSGi.

Les composants de base comme la gestion des logs, la gestion du déploiement des configurations ou l'interface d'administration sont utilisés dans tous les produits de WSO2.

D'autres sont spécifiques à un produit donné ou commun à plusieurs comme la gestion du registre.

Grâce à ce framework il est possible de créer facilement son propre produit basé sur cette librairie de composants.
WSO2 ESB est basé sur le conteneur de web-service Apache Axis 2 et l'ESB léger Apache Synapse. Ces 2 solutions sont très orientées SOAP et supportent les spécifications WS-*.

La solution embarque un registre, issu de WSO2 Governance Registry, pour stocker les différentes configurations des web-services, routes et endpoints.

WSO2 fournit une architecture agile permettant de facilement faire évoluer le produit et riche d'une importante bibliothèque de composants. On regrettera par contre que celle-ci soit peu documentée.

Outil de développement

Screenshot from 2015-04-13 08:19:28

WSO2 met à disposition un IDE basé sur Eclipse, commun à tous les produits de sa plate-forme.

Récemment refondu, le studio permet de créer des conteneurs d'applications composites (CAR) pouvant notamment contenir les définitions des web-services, des routes et des endpoints.

WSO2 Developer Studio, étant un outil commun à toute la plate-forme, il n'embarque pas directement les différents produits. Pour tester et déployer ses développements, il est possible de configurer dans l'outil les paramètres de connexion à son serveur qui permettront par un simple clic de déployer les archives CAR.

Screenshot from 2015-04-13 08:20:38

L’outil a été refondu fin 2013 et est depuis en actif évolution.

WSO2 ESB offre un deuxième outil de développement directement embarqué avec le serveur.

L'ensemble des possibilités de l'ESB peuvent y être directement configuré. Cette outil est en voie de dépréciation et devrait être remplacé à terme entièrement par le studio.

Screenshot from 2015-04-13 08:21:52

WO2 travaille actuellement avec Codenvy pour mettre à disposition un IDE dans le cloud.

La variété des outils de développement mis à disposition est assez intéressante mais l’accompagnement utilisateur est encore à améliorer.

Web-services et connecteurs

WSO2 ESB permet d'exposer des web-services en SOAP et en REST grâce à Apache Axis 2 et supporte de nombreux protocoles et formats tels que POP3, JMS, AMQP, FIX, CIFS, MLLP, SMS, EDI, HL7, OAGIS, Hessian, CORBA/IIOP.

L’outil dispose depuis peu (4.8) de connecteurs spécifiques à certains services dont le nombre est encore très limité : Google Spreadsheet, JIRA, Lnkedin, Paypal, Salesforce , Twilio et Twitter.

WSO2 devrait accentuer ces efforts dans ce domaine dans les prochains mois pour rejoindre ces concurrents.

Médiation et routage

Screenshot from 2015-04-13 08:29:55

WSO2 ESB repose entièrement sur Synapse pour la médiation et le routage. Apache Synapse met à disposition une quarantaine de
composants de médiation utilisables dans les routes. La syntaxe pour les configurer est basée sur un DSL en XML.

Les messages transmis entre les composants et vers l’extérieur doivent être en général encapsulés dans un message SOAP car Apache Axis2 restreint le format utilisable.

En plus de la documentation d'Apache Synapse13, WSO2 met à disposition deux documentations : la première reprenant la description de chacun des composants au sein du guide utilisateur14 et la seconde étant une documentation ciblée sur l'implémentation d'EIPs particuliers15. La documentation fournit quelques exemples d'utilisation simples.

WSO2 met à disposition toutes les briques de base nécessaires à la médiation et au routage.

Sécurité

WSO2 ESB offre la possibilité de sécuriser ses flux en utilisant Apache Rampart pour la gestion de WS-Security et WS-Trust pour les messages SOAP. Il met à disposition des médiateurs Oauth2 et LDAP pour authentifier les messages dans un autre format.

L'outil offre également la possibilité de mettre en place des policies, par exemple pour limiter le nombre de messages envoyés.

WSO2 ESB peut être couplé avec WO2 Identity Manager pour bénéficier d'une authentification centralisée des flux.

WSO2 met donc à disposition tous les outils de sécurité que l'on attend de la part d'un ESB.

Monitoring

WSO2 ESB propose dans son interface d'administration des outils graphiques de monitoring. Il est ainsi possible de visualiser les constantes systèmes et les statistiques concernant les différents flux et web-services configurés.

Screenshot from 2015-04-13 08:33:51

WSO2 ESB met à disposition une interface JMX et SNMP pour pouvoir être intégré avec les outils de supervision classiques existants sur le marché.

L'outil offre la possibilité de configurer les logs avec une granularité au niveau d'un web-service ou d'un flux particulier grâce aux possibilités de Log4J. L'ensemble de cette configuration peut être modifié à la volée dans l'interface d'administration de l'ESB.

En complément du Service Activity Monitor (SAM), il est possible de faire du Business Activity Monitor (BAM) en le combinant avec WSO2 BAM.

WSO2 ESB offre une solution de monitoring très poussée et son alliance avec WSO2 BAM offre un réel avantage à la solution.
Installation et configuration

L'installation de base est très simple puisqu'il suffit de décompresser l'archive et de lancer un jar via un script fourni. En quelques secondes on se retrouve devant un ESB pleinement fonctionnel.

La connexion à une base de données ou à une application particulière comme ActiveMQ nécessite de déposer manuellement sur le serveur les librairies clientes et de déclarer ces nouvelles possibilités dans un fichier de configuration.

WSO2 ESB étant un ESB léger il ne contient que le strict nécessaire. Il ne possède par exemple pas de MOM et recommande l'installation d'ActiveMQ ou de WSO2 MQ (basé sur Qpid).

WSO2 offre des outils dont la mise en route est très rapide. Cependant, le paramétrage de l’outil lors de la mise en production peut vite devenir complexe et chronophage compte tenu de la multiplicité des paramètres et des fichiers de configuration. La documentation elle-même se retrouve vite limitée par rapport aux possibilités.

Clustering

WSO2 ESB se base sur les possibilités du framework Carbon pour la clusterisation. La solution n'intègre pas directement un load balanceur et il sera nécessaire d'en configurer un devant les différents nœuds du cluster. WSO2 Load Balancer est recommandé mais les autres outils du marché répondront parfaitement au besoin.

WSO2 ESB offre la possibilité de partager son registre entre ses différents nœuds en utilisant une base de données traditionnelle et ou d'en déléguer la responsabilité à WSO2 Governance Registry.

Pour offrir de meilleures performances, le produit inclut la solution Hazelcast qui va permettre de distribué le cache de données entre les différents nœuds du cluster.

iPaas

WSO2 ESB, comme l'intégralité de la plate-forme WSO2, peut être déployée dans le cloud.

WSO2 se base sur le framework PaaS Stratos reversé en juin 2013 à la fondation Apache. La société offre 3 possibilités :

  • WSO2 Public Cloud, une plate-forme cloud partagée entre les différents utilisateurs
  • WSO2 Managed Cloud, une plate-forme cloud dédiée à un utilisateur et gérée par WSO2
  • WSO2 Private Cloud, un outil téléchargeable permettant de déployer et gérer sa propre plate-forme cloud.

Ce service encore en Beta n'a pu être testé pour le moment mais sa description nous semble prometteuse et offre une innovation face à ses concurrents : être totalement  maître de son cloud.

Autres ESB Open Source

Il existe de nombreux autres ESB open sources sur le marché et il serait trop long de tous les citer. Vous retrouverez ici quelques ESB qui restent de bonne facture mais que nous n'avons pas sélectionnés dans notre top du moment.

Open ESB
Screenshot from 2015-04-13 08:39:42

Éditeur : OpenESB Community
Site internet de la solution : http://www.open-esb.net/
Date de création : 2006
Licence : CDDL

OpenESB aussi commercialisé sous le nom de Glassfish ESB et était l'ESB de Sun Microsystems avant son rachat par Oracle. Oracle n'a pas souhaité poursuivre son développement et depuis lors une communauté d'utilisateur s'est formée pour l'assurer. Structuré autour de l'implémentation complète de JBI, cet ESB ne bénéficie plus d'un gros poids lourd derrière lui pour en assurer une réelle évolution.

Petals ESB
Screenshot from 2015-04-13 08:40:57

Éditeur : Linagora / OW2
Site internet de la solution : http://petals.ow2.org/
Date de création : 2006
Licence : LGPL

Petals ESB est édité par le consortium OW2 et Linagora qui a fait acquisition de la société PetalsLink en 2012. Nous n’avons pas d’information sur l’évolution future du produit.

RedHat Jboss ESB
Screenshot from 2015-04-13 08:42:47

Éditeur : Red Hat
Site internet de la solution : http://jbossesb.jboss.org/
Date de création : 2006
Licence : LGPL

Jboss ESB est un ESB d'ancienne génération originellement développé par une compagnie d'assurance canadienne (Aviva Canada). Cette solution est en voie dépréciation remplacé par des solutions plus légères de l'éditeur, SwitchYard et Fuse.

Ultra ESB
Screenshot from 2015-04-13 08:42:49

Éditeur : AdroitLogic
Pays d'Origine : Sri Lanka
Site internet de la solution : http://adroitlogic.org/
Date de création : 2010
Licence : AGPL / commerciale

UltraESB est un nouvel arrivant sur le marché mais qui a en réalité beaucoup d'expérience. La société supportant le produit possède dans ses rangs l’un des plus anciens et actifs contributeurs d’Apache Synapse, qui a souhaité repartir sur une nouvelle base technique pour son nouveau projet.

AdroitLogic fait beaucoup parler de son ESB en utilisant abondamment ses benchmarks de performances qu'il publie sur http://esbperformance.org/.

Aujourd'hui, il a encore tout à prouver en termes de fonctionnalités, d'adhérence de la communauté et de références.