Dans cet article


Offres d'emploi

Tags

Apache ServiceMix

Apache ServiceMix

Dans un SI moderne, posséder un ESB de qualité est une obligation pour réussir sa transformation SOA. Seul bémol, face à la multitude de choix des ESB et les mauvaises expériences du passé, se lancer dans un tel projet peut paraître difficile. Heureusement, nous avons déniché la perle rare : Apache ServiceMix !

L'ESB Open Source Apache Service Mix

L’ESB Open Source Apache Service Mix

Les ESB : une image jusqu’à présent plutôt négative

Suite aux échecs retentissants de nombreux projets au sein des entreprises, les premières versions des logiciels d’EAI / ESB ne jouissent pas forcement d’une bonne réputation dans l’entreprise.

Souvent très lourd et long à mettre en place, un ESB était souvent perçu comme peu agile, or, l’intérêt même d’un ESB dans une approche SOA, est d’augmenter la souplesse dans le SI. De plus, le coût de licence de ces ESB ancienne génération est souvent prohibitif.

Les ESB : un nouvel élan

Pourtant, la présence d’un ESB est capitale afin d’être en mesure de transférer, convertir, enrichir des données d’un logiciel vers un autre, au sein du SI et le tout, en temps réel.

Heureusement depuis peu, il existe de nombreux ESB open source qui permettent d’effectuer correctement ces actions et, par la même occasion, de redorer le blason des ESB. Très simples à mettre en place, ils se comportent plus comme une boite à outils technologiques qu’en véritables logiciels complexes à mettre en oeuvre.

Focus sur Apache ServiceMix

En matière d’ESB efficace, on peut prendre l’exemple d’Apache ServiceMix ou, de son équivalent, Fuse ESB. Cet ESB est, en effet, une agrégation de technologies robustes et packagés de sorte à créer un ESB de premier choix pour un grand nombre d’usages.

Apache ServiceMix : les principales technologies

Dans Apache ServiceMix (ou SMX), les principales technologies sont les suivantes:

  • Apache ActiveMQ (Gestion de messagerie Asynchrone de type JMS)
  • Apache Camel (Messaging, routing et implémentation EIP)
  • Apache CXF (Gestion des WEBSERVICE (SOAP/JSON))
  • Apache Karaf (Conteneur OSGI)
  • Activiti (gestion de BPM)

On retrouve immédiatement des noms très connus et réputés de l’univers JAVA / JEE, à savoir, l’excellent Apache ActiveMQ qui permet de traiter des messages JMS. Ce broker de messagerie est sans doute l’un des meilleurs broker open source.

Vient ensuite Apache Camel qui permet de manière très simple de router et de réaliser la médiation de messages. De plus, Il offre une implémentation pour l’intégralité des EIP (Entreprise Integration Pattern) sorte de référence et de bonnes pratiques pour la gestion de messages dans le SI.

On retrouve ensuite Apache CXF afin d’avoir out-of-the-box les connecteurs SOAP et JSON et pouvoir réaliser en deux temps trois mouvements, une connexion vers les WS du SI ou externe au SI.

Pour orchestrer tout ça, on a encore un très bon projet Apache, Karaf qui est un conteneur léger OSGI et permet de déployer les autres composants.

Enfin et non des moindres, la possibilité de rajouter directement au sein de l’ESB Apache Service Mix, Activiti. Activiti est une solution simple et performante pour faire du BPM directement depuis Apache Service Mix.

Les forces d’Apache ServiceMix

  • *Open source et robuste:*

Basée sur la communauté Apache, SMX se repose sur des technologies JAVA JEE éprouvées et stables. Les modules sont tous issues de la fondation Apache et sont utilisés depuis de nombreuses années, même indépendamment du contexte Service Mix. L’agrégation des ces technologies, est également utilisée par d’autres projets ESB comme Fuse ESB et Talend ESB.

  • *Architecture modulaire SMX*

Son architecture modulaire le rend très léger et adaptable facilement aux besoins des utilisateurs. De nombreuses fonctionnalités sont intégrées, mais seules les fonctionnalités réellement utilisées sont déployées.

  • *Performance de SMX*

Sa conception, très simple, lui permet d’avoir de très bonnes performances même avec de très gros volumes d’appels. Néanmoins, SMX est plus performant pour traiter des petits messages en temps réel que pour des gros volumes. De plus, il ne consomme que peu de ressources comparé à la concurrence.

  • *La console SSH*

Apache ServiceMix offre avec Karaf, une console type SSH de qualité qui permet aux administrateurs de le configurer et de diagnostiquer facilement les problèmes.

  • *SMX en perpétuelle évolution*

Apache ServiceMix évolue rapidement et les bugs et problèmes (déjà peu nombreux) sont corrigés rapidement de version en version.

  • *SMX et les connecteurs*

Out-of-the-box, SMX via Camel offre de nombreux connecteurs pour interagir avec toutes sortes d’applications au sein du SI, essentiellement en WS (JSON et SOAP), JMS, ou fichier.

  • *Intégration facilitée avec MAVEN de SMX*

Avec SMX, il est possible d’installer directement une bundle depuis un dépôt MAVEN. En terme d’exploitation, il est particulièrement aisé de réaliser des mises à jour.

Les faiblesses d’Apache Service Mix:

En dépit d’un bon nombre d’avantages, Apache ServiceMix est comme tous les outils : il n’est pas parfait et comporte encore quelques faiblesses.

  • Une clusterisation pas toujours évidente ni fonctionnelle
  • Une documentation faible voir inexistante pour Service Mix mais très fournie sur la partie Camel
  • Une communauté grandissante mais réduite

De l’Open au coeur du SI

Choisir un ESB de type Apache Service Mix, c’est choisir de faire entrer au coeur du SI l’Open Source et s’affranchir des contraintes des éditeurs logiciels propriétaires. C’est faire le choix de l’ouverture (avec ses défauts) pour son architecture. Mais, c’est surtout, un changement de mentalité au sein de l’entreprise. Dans les projets SOA, introduire Apache Service Mix permet d’ouvrir cette boite noire qu’est souvent l’ESB, une boite qui coûte cher, à laquelle personne n’y comprend rien et qui n’atteint pas les objectifs qu’on lui à fixer.

Choisir Apache Service Mix, qui est une technologie toute simple (basée sur du JAVA), permet bien souvent de reprendre le contrôle. De plus en plus d’entreprises font confiance à Apache Service Mix pour gérer les flux au sein du SI et bien souvent, la promesse d’avoir un ESB simple et performant se révèle enfin exacte !

Si vous souhaitez en savoir plus sur Apache Service Mix ou vous former, la suite sur AXOPEN.COM.

L'équipe AXOPEN

Voir aussi les articles suivants

NGINX – Retour d’expérience et limitation

Le 20/08/2014 par Pierre Liseron

NGINX est devenu sans conteste l’un des serveurs web les plus populaires essentiellement pour les raisons suivantes : Points forts NGINX C’est un serveur web est extrêmement rapide (Grace au pattern REACTOR) Nginx est très léger (Grace à son modèle Thread Driven) Nginx possède une configuration plus facile qu’APACHE car seuls les paramètres utiles sont disponibles. Pour réaliser la même configuration pour un site simple type WORDPRESS ou DRUPAL, la configuration NGINX est plus petite et donc plus lisible.
Lire l'article

Planisware : déterminer la version des différents composants d’un Intranet Server
Introduction Afin d’assurer une gestion de configuration efficace d’une application sous Planisware il est nécessaire de pouvoir identifier la version de chacun des composants techniques (version du noyau, version de l’applet, etc…). Cet article ne traite pas de la gestion des objets d’environnement (ou paramétrage) Planisware. Composant Exemple Noyau – version majeure P5 SP3 Noyau – version patch (« officiels »+deltas) Maintenance Pack 5.
Lire l'article

Firewall, GeoIP et IPTables

Firewall, GeoIP et IPTables

Le 04/03/2014 par Pierre Liseron

De plus en plus de serveurs sont attaqués par du flooding HTTP, mettant à genou votre serveur Apache, l’empêchant ainsi de répondre aux vraies requêtes qui lui sont adressées. Il est possible de se battre contre ces requêtes avec fail2ban par exemple ou d’autres solutions, mais contre une attaque de type DDOS ou aucune adresse IP n’est identique entre deux requêtes les efforts sont souvent vains. Le meilleur moyen trouvé pour faire baisser significativement le nombre de flood HTTP est de limité les pays pouvant accéder à votre serveur.
Lire l'article