MuleSoft - Introduction à Mule ESB

ESB signifie Enterprise Service Busqui est essentiellement un outil middleware pour intégrer diverses applications ensemble sur une infrastructure de type bus. Fondamentalement, il s'agit d'une architecture conçue pour fournir un moyen uniforme de déplacer le travail entre les applications intégrées. De cette manière, à l'aide de l'architecture ESB, nous pouvons connecter différentes applications via un bus de communication et leur permettre de communiquer sans dépendre les unes des autres.

Mettre en œuvre ESB

L'objectif principal de l'architecture ESB est de découpler les systèmes les uns des autres et de leur permettre de communiquer de manière stable et contrôlable. La mise en œuvre d'ESB peut se faire à l'aide de‘Bus’ et ‘Adapter’ de la manière suivante -

  • Le concept de «bus», qui est réalisé via un serveur de messagerie comme JMS ou AMQP, est utilisé pour découpler différentes applications les unes des autres.

  • Le concept d '«adaptateur», chargé de communiquer avec l'application backend et de transformer les données du format d'application au format bus, est utilisé entre les applications et le bus.

Les données ou le message passant d'une application à une autre via le bus sont dans un format canonique, ce qui signifie qu'il y aurait un format de message cohérent.

L'adaptateur peut également effectuer d'autres activités telles que la sécurité, la surveillance, la gestion des erreurs et la gestion du routage des messages.

Principes directeurs de l'ESB

Nous pouvons appeler ces principes des principes d'intégration fondamentaux. Ils sont les suivants -

  • Orchestration - Intégration de deux ou plusieurs services pour réaliser la synchronisation entre les données et les processus.

  • Transformation - Transformation des données du format canonique au format spécifique à l'application.

  • Transportation - Gestion de la négociation de protocole entre des formats comme FTP, HTTP, JMS, etc.

  • Mediation - Fournir plusieurs interfaces pour prendre en charge plusieurs versions d'un service.

  • Non-functional consistency - Fournir un mécanisme pour gérer les transactions et la sécurité également.

Besoin d'ESB

L'architecture ESB nous permet d'intégrer différentes applications où chaque application peut communiquer à travers elle. Vous trouverez ci-dessous quelques instructions sur l'utilisation d'ESB -

  • Integrating two or more applications - L'utilisation de l'architecture ESB est avantageuse lorsqu'il est nécessaire d'intégrer au moins deux services ou applications.

  • Integration of more applications in future - Supposons que si nous voulons ajouter plus de services ou d'applications à l'avenir, cela peut être facilement fait à l'aide de l'architecture ESB.

  • Using multiple protocols - Si nous devons utiliser plusieurs protocoles tels que HTTP, FTP, JMS, etc., ESB est la bonne option.

  • Message routing - Nous pouvons utiliser ESB au cas où nous aurions besoin d'un routage de message basé sur le contenu du message et d'autres paramètres similaires.

  • Composition and consumption - ESB peut être utilisé si nous devons publier des services de composition et de consommation.

Intégration P2P vs intégration ESB

Avec l'augmentation du nombre d'applications, une grande question devant les développeurs était de savoir comment connecter différentes applications? La situation a été gérée en codant manuellement une connexion entre diverses applications. C'est appelépoint-to-point integration.

Rigidityest l'inconvénient le plus évident de l'intégration point à point. La complexité augmente avec l'augmentation du nombre de connexions et d'interfaces. Les inconvénients de l'intégration P-2-P nous amènent à l'intégration ESB.

ESB est une approche plus flexible de l'intégration d'applications. Il encapsule et expose chaque fonctionnalité d'application sous la forme d'un ensemble de capacités réutilisables discrètes. Aucune application ne s'intègre directement à une autre, à la place, elles s'intègrent via un ESB comme indiqué ci-dessous -

Pour gérer l'intégration, ESB comprend les deux composants suivants -

  • Service Registry- Mule ESB a Service Registry / Repository où tous les services exposés dans l'ESB sont publiés et enregistrés. Il agit comme un point de découverte à partir duquel on peut consommer les services et les capacités d'autres applications.

  • Centralized Administration - Comme son nom l'indique, il fournit une vue des flux transactionnels de performance des interactions se produisant à l'intérieur de l'ESB.

ESB Functionality- L'abréviation VETRO est généralement utilisée pour résumer les fonctionnalités d'ESB. C'est comme suit -

  • V(Valider) - Comme son nom l'indique, il valide la validation du schéma. Il nécessite un analyseur de validation et un schéma à jour. Un exemple est un document XML confirmant un schéma à jour.

  • E(Enrichir) - Il ajoute des données supplémentaires à un message. Le but est de rendre le message plus significatif et utile à un service cible.

  • T(Transformer) - Il convertit la structure de données dans un format canonique ou à partir d'un format canonique. Des exemples sont la conversion de la date / heure, de la devise, etc.

  • R(Routing) - Il acheminera le message et agira en tant que portier du point d'extrémité d'un service.

  • O(Exploiter) - La tâche principale de cette fonction est d'appeler le service cible ou d'interagir avec l'application cible. Ils fonctionnent au niveau du backend.

Le modèle VETRO offre une flexibilité globale à l'intégration et garantit que seules des données cohérentes et validées seront acheminées dans tout l'ESB.

Qu'est-ce que Mule ESB?

Mule ESB est un bus de services d'entreprise (ESB) Java léger et hautement évolutif et une plate-forme d'intégration fournis par MuleSoft. Mule ESB permet au développeur de connecter des applications facilement et rapidement. Indépendamment des diverses technologies utilisées par les applications, Mule ESB permet une intégration facile des applications, leur permettant d'échanger des données. Mule ESB a les deux éditions suivantes -

  • Edition communautaire
  • Edition pour entreprise

Un avantage de Mule ESB est que nous pouvons facilement passer de la communauté Mule ESB à l'entreprise Mule ESB car les deux éditions sont construites sur une base de code commune.

Caractéristiques et capacités de Mule ESB

Les fonctionnalités suivantes sont possédées par Mule ESB -

  • Il a une conception graphique simple par glisser-déposer.
  • Mule ESB est capable de cartographier et de transformer visuellement les données.
  • L'utilisateur peut obtenir l'installation de centaines de connecteurs certifiés pré-construits.
  • Surveillance et administration centralisées.
  • Il fournit de solides capacités d'application de la sécurité d'entreprise.
  • Il fournit la facilité de gestion des API.
  • Il existe une passerelle de données sécurisée pour la connectivité cloud / sur site.
  • Il fournit le registre des services où tous les services exposés dans l'ESB sont publiés et enregistrés.
  • Les utilisateurs peuvent avoir le contrôle via une console de gestion Web.
  • Un débogage rapide peut être effectué à l'aide de l'analyseur de flux de service.