Où puis-je trouver des informations sur les utilisations et les avantages d'un bus de service d'entreprise (ESB)?
Je cherche des informations sur:
Je recherche un niveau de détail plus précis que simplement Wikipedia ou des brochures de marketing en ligne de fournisseurs. Idéalement, un exemple de code aiderait à clarifier ce qui est impliqué dans l'utilisation d'un ESB. Les informations d'un point de vue .NET ou Java seraient les plus utiles.
Merci.
Je suggérerais à ESB ou non à ESB pour commencer, écrit par le créateur de Mule .
Les ESB sont un bon moyen d'implémenter Enterprise Integration Patterns .
Les alternatives dépendent vraiment du problème que vous essayez de résoudre.
Cela dépendra du ESB que vous choisirez, même si, étant donné que la plupart des bons sont conçus pour faire appel à toutes sortes de protocoles ainsi qu'à des POJO hôtes, vous n'avez pas besoin de beaucoup pour construire des systèmes compatibles ESB. Cela vaut la peine d'essayer de rendre votre code asynchrone.
Par exemple, Apache Camel a probablement la configuration la plus succincte, voici un tutorial .
Trois avantages clés:
Cependant, assurez-vous que ceux-ci apporteront/ une valeur commerciale à votre situation. Avoir un ESB ajoute encore une complexité supplémentaire à votre entreprise. Idéalement, vous ne devriez pas choisir cette solution en fonction de quelques applications, mais de toute l'organisation. Il ne doit exister qu'un un cluster de production ESB pour l'organisation.
Alternatives:
Pratique
J'ai énoncé les alternatives possibles. Ils peuvent sembler moche au début, mais cela ne veut pas dire que vous ne pouvez pas commencer comme ça. Personnellement, j'écris des choses pour parler directement à la télécommande sans passer par un ESB pour m'assurer que cela fonctionne sans trop se soucier des problèmes d'intégration.
Si vous ne possédez pas d'ESB, je vous suggère d'essayer Mule pour le développement et WebSphere ESB pour les tests et la production. J'ai tendance à utiliser deux produits qui sont supposés suivre les normes pour nous assurer de garder les fournisseurs honnêtes et pour assurer que vos développeurs se conforment aux normes empêchant le blocage par inadvertance des vendeurs.
En fin de compte, répondez simplement à la question suivante: le temps ajoute-t-il un peu de complexité pour simplifier d’autres complexités pour votre entreprise vaut-il le coût à long terme?
En plus des sites déjà mentionnés. Vous devriez lire cet article sur " Ne pas utiliser un ESB sauf si vous devez absolument ". Il a été écrit par le CTO de MuleSource, l’un des plus populaires ESB open source disponibles. Ce n'est pas vraiment une réponse à votre question, mais plutôt une question de vous demander "Ai-je besoin d'un ESB"?
Il existe une série décente en 3 parties sur IBM concernant ESB qui est plutôt orientée concept et indépendante du vendeur (pour l’essentiel). J'ai trouvé beaucoup de bonnes choses sur ESB en fouillant dans le site d'IBM. Vous trouverez également des informations, des vidéos et des vidéos de qualité sur le site BizTalk .
Un bus de service d'entreprise (ESB) est une architecture logicielle pour middleware qui fournit des services fondamentaux pour des architectures plus complexes. Par exemple, un ESB incorpore les fonctionnalités requises pour mettre en œuvre une architecture orientée service (SOA). D'une manière générale, un ESB peut être considéré comme un mécanisme qui gère l'accès aux applications et aux services (en particulier les versions héritées) afin de présenter une interface unique, simple et cohérente aux utilisateurs finaux via des interfaces côté client basées sur le Web ou sur des formulaires. parties avant.
Pour les services et applications dorsaux hétérogènes distribués, ainsi que pour les utilisateurs frontaux hétérogènes distribués et les consommateurs d’informations, ESB propose essentiellement ce que le middleware est censé faire: masquer la complexité, simplifier l’accès, permettre aux développeurs d’utiliser des formes génériques de requête, d’accès et interaction, gestion des détails complexes en arrière-plan. La clé de l’attrait d’ESB, et peut-être aussi de son succès futur, réside dans sa capacité à prendre en charge une intégration incrémentielle de services et d’applications en fonction des besoins de l’entreprise, et non en fonction des technologies disponibles.
http://searchsoa.techtarget.com/definition/enterprise-service-bus
WSO2 Enterprise Service Bus (Produit)
Documentation WSO2 Enterprise Service Bus (ESB) 4.7.0! WSO2 ESB est un ESB rapide, léger, 100% open source et convivial, distribué sous la licence logicielle Apache v2.0. WSO2 ESB permet aux administrateurs système et aux développeurs de configurer facilement le routage, la médiation, la transformation, la journalisation, la planification des tâches, le basculement, l’équilibrage de la charge, etc. Il prend en charge les modèles EIP (Enterprise Integration Pattern) les plus couramment utilisés et permet la commutation de transport, les événements, la médiation basée sur des règles et la médiation basée sur les priorités pour les besoins d'intégration avancés. Le moteur d'exécution ESB est conçu pour être complètement asynchrone, non bloquant et diffuser en continu sur la base du moteur de médiation Apache Synapse.
WSO2 ESB est développé sur la plate-forme révolutionnaire WSO2 Carbon, un framework basé sur OSGi qui fournit une modularité transparente à votre SOA via la composant. Il inclut de nombreuses fonctionnalités et composants optionnels (add-ons) que vous pouvez installer dans ESB et vous pouvez facilement supprimer des fonctionnalités non requises dans votre environnement, vous permettant ainsi de personnaliser et d'adapter entièrement ESO WSO2 en fonction de votre SOA exacte. Besoins.
Architecture L’infrastructure d’application sur les entreprises peut être complexe par nature, comprenant des centaines d’applications avec une sémantique complètement différente. Certaines de ces applications sont conçues sur mesure, certaines sont acquises de tiers et certaines peuvent être une combinaison des deux et peuvent fonctionner dans différents environnements système.
L'intégration de ces applications hétérogènes est vitale pour l'entreprise. Différents services peuvent utiliser différents formats de données et protocoles de communication. Les emplacements physiques des services peuvent changer arbitrairement. Toutes ces contraintes signifient que vos applications sont toujours étroitement couplées. Un ESB peut être utilisé pour relier ces couplages entre différents services et consommateurs de services.
WSO2 ESB est un ESB complet et prêt à l'emploi. Il est construit sur le projet Apache Synapse, qui utilise le projet Apache Axis2. Tous les composants sont construits en tant que bundles OSGi.
Découvrez ce podcast Hanselminutes . Il répond à quelques questions que vous devriez vraiment vous poser avant de mettre en place un bus de service.
Regardez ma présentation " L'embarras du choix - Comment choisir le bon ESB ".
J'explique quand utiliser un ESB, Integration Suite ou tout simplement un cadre d'intégration (tel qu'Apache Camel). Je discute également des différences entre les ESB propriétaires et open source.
La première question que vous devez vous poser est la suivante: pourquoi avez-vous besoin d'un ESB?
ESB est généralement utilisé dans les architectures distribuées Event SOA, qui semblent être un mot à la mode actuellement. Avant de vous lancer dans ESB, laissez-moi vous rappeler le premier principe de distribution des systèmes Fowler de Martin:
http://martinfowler.com/bliki/FirstLaw.html
"Ma première loi de la conception d'objets distribués: ne distribuez pas vos objets (de P de EAA).
Le chapitre correspondant est disponible en ligne. "
Lorsque vous construisez un nouveau système, l’aspect le plus important est sa pérennité, ce qui signifie une évolutivité et une facilité de maintenance faciles. Si vous construisez votre système autour du concept de services détachés avec un contrat défini statique distribué dans un environnement en réseau, vous pouvez "masquer" l'architecture souhaitée pour ce service particulier, car les interfaces sont toujours présentes.
ESB est proche des systèmes de messagerie asynchrones. Avant de vous lancer dans une telle implémentation, sachez qu’une architecture ne doit pas nécessairement être homogène, c’est que tous les services doivent être implémentés de la même manière, ne commettez pas la plus grosse erreur qui soit. Dès le début, en distribuant votre système, vous ne devriez le faire que lorsque vous avez besoin d'évoluer, pas avant. Ce que vous devez vous assurer cependant, c’est que vos services doivent pouvoir être distribués facilement en cas de besoin, sans que le contrat soit rompu, ce qui impliquerait des changements pour les clients de ce service.
En ce qui concerne les avantages d'ESB, ils sont identiques à ceux de SOA. ESB ajoute le contexte des opérations de messages asynchrones (événements).
Un très bref aperçu des avantages d'un ESB peut être trouvé ici:
http://javaenterpriseworld.blogspot.de/2014/02/benefits-of-esb.html
Les principaux pros sont grossièrement listés ...
il n'y a aucune raison d'utiliser un ESB. Ne le fais pas. Complexité inutile. Pourquoi passer par un intermédiaire quand vous pouvez aller directement? Les gens d'ESB vous diront que point à point est mauvais, mais que, d'une manière ou d'une autre, pointer du doigt vers et depuis l'ESB est bon.
Jetez un coup d’œil à http://www.windowsazure.com/en-us/develop/Java/how-to-guides/service-bus-queues/ et http://www.windowsazure.com/fr-fr/develop/Java/guides pratiques/services-bus-topics/ Ce sont de bonnes choses.
Tout d'abord, laissez-moi vous expliquerSOA. Il s’agit de construire une architecture sous la forme d’un ensemble de modules logiciels réutilisables exposés sous forme de «services» avec des interfaces bien définies. Les services facilitent le couplage lâche et extraient les détails de mise en œuvre des clients.
L’architecture SOA peut être compliquée si chaque composant appelle directement des services. Par conséquent, il présente les problèmes communs suivants.
Le ESB est la solution aux problèmes ci-dessus. ESB…
Vous trouverez quelques exemples de cas d'utilisation ici . Notez qu'ils proviennent du site de développement d'AdroitLogic et qu'ils sont étroitement associés à UltraESB, l'ESB d'AdroitLogic.