Hey,
Si nous avons Apache Camel, pourquoi utiliser d'autres solutions telles qu'Apache ServiceMix et Mule?
Y a-t-il quelque chose que Apache Camel ne peut pas comparer à ces produits?
Quand utiliser Mule/ServiceMix et quand utiliser Camel?
Apache Camel est une bibliothèque qui implémente des modèles d'intégration d'entreprise (EIP). Bien qu'il puisse utiliser Spring comme cadre IOC, il n'est même pas dépendant de Spring, il est donc totalement indépendant de la plate-forme. C'est "juste" une bibliothèque. Vous pouvez donc exécuter n'importe quel environnement JVM, par exemple simple jvm, servlet, ejb, osgi. Il n'apporte aucun des avantages (ou des frais généraux) d'un conteneur tel que Mule. À mon avis, la séparation des préoccupations dans ce domaine est plus nette.
Mule peut également être intégré à différents environnements, mais je pense que Mule présente à la fois les avantages et les inconvénients du couplage de leur bibliothèque EIP à leur conteneur. Lorsque vous déployez Mule dans un environnement de servlet ou ejb, souhaitez-vous réellement transporter tous les bagages du conteneur Mule? Je ne suis pas un expert de Mule, et je pense que vous pouvez probablement consacrer un effort relativement modeste et nettoyer une partie de la capacité redondante. (Notez que cette fonctionnalité n’est pas mauvaise dans tous les cas, elle est simplement redondante si vous utilisez une version intégrée dans un autre conteneur.)
Apache ServiceMix est un conteneur OSGI qui utilise Camel pour implémenter EIP comme base d'un ESB. Bien que ServiceMix ait historiquement commencé avec ses racines dans JBI, il s’est écarté de JBI et a évolué pour devenir (IMO) une belle architecture en couches combinant les meilleurs Apache CXF, Camel et ActiveMQ dans un conteneur OSGI. La valeur principale ici n'est pas vraiment ServiceMix et son support JBI, mais le conteneur standard / OSGI sous-jacent// couplé à des transports Apache éprouvés tels que CXF pour les services Web et ActiveMQ pour JMS. OSGI est un standard mature qui propose un conteneur qui aborde les mêmes types d’enfers "DLL" que ceux qui ont affecté Microsoft avant l’avènement de .NET. Bien que ni .NET ni OSGI ne résolvent la complexité essentielle du problème sous-jacent, ils fournissent au moins un moyen de le résoudre. OSGI présente également d’autres avantages, mais du point de vue de la sélection des produits, le conteneur standard est primordial et la gestion des dépendances est l’une des caractéristiques essentielles que Mule (et Java en général) ne prend pas en compte.
Quelques points importants à noter lors de la comparaison des communautés Mule et Apache. Mule est comme Redhat dans le sens où bien qu’il s’agisse d’une licence open source, ce n’est pas vraiment, à mon avis, une communauté ouverte. Tout le monde peut participer à Apache alors que MuleSoft est propriétaire de la communauté Mule et de la feuille de route finale. Deuxièmement, bien que la communauté muletienne soit sans doute très active, je pense que la communauté apache est beaucoup plus grande (et naturellement, puisque ce n’est pas une communauté fermée). Les deux approches ont à la fois des avantages et des inconvénients. L’un des aspects positifs de l’approche Apache est qu’il existe plusieurs fournisseurs pour ESB basés sur Camel, CXF, ActiveMQ et OSGI. Par exemple, Talend propose un ESB sur les mêmes technologies de base sans l'historique ServiceMix JBI. Cela a des avantages et des inconvénients au sein de la communauté Apache, mais l’essentiel est de souligner la différence entre Apache et Mule. Vous ne trouverez pas plusieurs vendeurs dans la communauté Mule. Ainsi, IMO, un ESB Apache tel que Talend ou ServiceMix, est une communauté plus large et plus inclusive, et finalement compétitive, qu'une communauté fermée comme Mule.
Ed Ost
Mon article de blog répond exactement à cette question: http://www.kai-waehner.de/blog/2011/06/02/when-to-use-Apache-camel/ => Apache Camel est une intégration légère. cadre, ServiceMix et ainsi de suite sont des ESB complets.
Camel est un moteur de médiation, tandis que Mule est une plate-forme d'intégration légère. La différence est que Mule offre toutes les fonctionnalités d'un ESB, y compris un conteneur pour le déploiement d'applications, REST et les services Web. Mule peut être intégré de la même manière Camel pour permettre aux développeurs d’appliquer leur code d’application à leur code d’intégration. Les deux s'intègrent étroitement avec Spring.
Mule n'utilise pas JBI pour de bonnes raisons et maintenant que la spécification JBI a été dissoute (pas de groupe de travail, propriété d'Oracle ayant transmis la spécification JBI à l'origine), il n'existe aucune bonne raison professionnelle ou technique d'utiliser JBI.
Apache Camel contient des FAQ entrées qui apportent des éclaircissements à ce sujet http://camel.Apache.org/faq
Et la collection de liens sur Apache Camel http://camel.Apache.org/articles.html
Établissez des liens lorsque des membres de la communauté parlent et comparez Camel à d'autres projets.
Noël, il y a un certain nombre d'erreurs dans la FAQ de Camel, sans surprise, aucune d'elles en notre faveur :)
Tout d'abord, vous devez comprendre que Service Mix est comme un conteneur pouvant exécuter du code Apache Camel et que Mule ESB est un produit distinct à lui seul.
Vous pouvez créer de nombreuses différenciations entre les produits ESB.
Vous devriez savoir quelques choses avant de regarder dans la différenciation. Elles sont
Ce qui précède sera l’un des meilleurs facteurs à prendre en compte avant de faire votre choix. Ce qui précède est générique pour la plupart des produits et doit faire l’objet d’une attention particulière.
La différence de produit secondaire sera spécifique aux outils et à son domaine. C'est probablement la réponse que vous recherchez. Trouvez la liste que vous devez faire une introspection avant de faire une sélection.
C’est probablement une recherche que vous devez faire vous-même pour choisir la différence. Il existe de nombreux moyens d'ajouter de la valeur au produit pour que celui-ci soit adapté à votre organisation plutôt que d'être le meilleur sur le marché.
Quand il s'agit de Apache camel ou Other ESB. La différence qui fera