81 votes

Apache Camel et d'autres produits ESB

Hey,
Si nous avons Apache Camel, pourquoi utiliser d'autres solutions comme 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?

73voto

Ed Ost Points 801

Apache Camel est une bibliothèque qui implémente enterprise integration patterns (EIP). Si l'on peut utiliser le Printemps que ses CIO cadre, il n'est même pas dépendant de Printemps, de sorte qu'il est complètement indépendant de la plateforme. Il est "juste" une bibliothèque. Si vous pouvez l'exécuter toute JVM de l'environnement, simples, par exemple, jvm, servlet, ejb, osgi. Il n'a pas d'apporter avec tous les avantages (ou les frais généraux) d'un conteneur tel Mule. Il a, à mon avis, l'assainissement de la séparation des préoccupations dans ce domaine.

Mule peut également être intégré dans des environnements différents, mais je pense que la Mule a à la fois les avantages et les inconvénients de couplage leur EIP bibliothèque de leur conteneur. Lorsque vous déployez Mule à l'intérieur d'une servlet ou ejb environnement, voulez-vous vraiment à transporter que les bagages de la Mule conteneur? Je ne suis pas une Mule expert, et je pense que vous pouvez probablement dépenser un montant relativement faible de l'effort et de nettoyer quelques de la capacité redondante. (Notez que ce n'est pas mauvais capacités dans tous les cas, il est juste redondant si vous êtes en cours d'exécution incorporé à l'intérieur d'un autre récipient.)

Apache ServiceMix est un conteneur OSGI qui utilise à dos de Dromadaire pour mettre en œuvre PIE que la base de l'ESB. Bien que ServiceMix historiquement commencé avec ses racines dans JBI, il a éloigné de JBI et a évolué en (OMI), une belle architecture en couches combinant le meilleur de la race Apache CXF, à dos de Chameau, et ActiveMQ dans un conteneur OSGI. Le principal intérêt ici n'est pas vraiment ServiceMix et ses JBI de soutien, mais le conteneur OSGI standard couplé à prouvé Apache transports comme CXF pour les services web et ActiveMQ de JMS. OSGI est un adulte qui offre un conteneur qui répond aux mêmes types de "DLL" l'enfer qui s'abattait sur Microsoft avant l'avènement de la .NET. Bien que ni .NET, ni OSGI résout l'essentiel de la complexité du problème sous-jacent, ils ont au moins de fournir des moyens pour y faire face. OSGI a d'autres avantages, mais à partir d'une sélection de produits perspective les normes de conteneurs est le principal, et sa caractéristique essentielle qui Mule (et Java en général) n'a pas d'adresse est la gestion des dépendances.

Certaines choses importantes à noter dans la comparaison de Mule de Apache communautés. Mule est comme Redhat, dans le sens que même si c'est une licence open source, il n'est pas vraiment à mon avis une communauté ouverte. N'importe qui peut participer à Apache alors que MuleSoft propriétaire de la Mule de la communauté et de la finale de la feuille de route. Deuxièmement, bien que la Mule de la communauté est sans doute assez actif, je pense que le Apache de la communauté est beaucoup plus grand (et naturellement, puisque ce n'est pas une communauté fermée). Les deux approches ont à la fois des points positifs et des inconvénients. Un des aspects positifs de l'Apache approche est qu'il existe plusieurs fournisseurs pour l'ESB est basé sur des Chameaux, CXF, ActiveMQ, et OSGI. Par exemple, Talend offre un ESB sur les mêmes technologies de base sans la ServiceMix JBI l'histoire. Cela a des points positifs et des inconvénients dans les Apache de la communauté, mais le point principal est de mettre en évidence la différence entre Apache et le Mulet. Vous ne trouverez pas multilple fournisseurs dans la Mule de la communauté. Donc, IMO Apache ESB comme Talend ou ServiceMix est plus large et plus inclusive, et en fin de compte compétitifs de la communauté qu'une communauté fermée, comme de la Mule.

Ed Ost

12voto

David Dossot Points 20153

Si vous les comparez à dos de Chameau et d'une Mule, vous verrez qu'ils sont construits sur des concepts similaires (enterprise integration patterns, la possibilité d'utiliser SEDA les files d'attente...).

Un facteur clé de succès est le nombre de transports (Chameau vs Mule). En outre, la Mule peut exécuter embarqué (comme Chameau) ou autonome, courtier d'intégration, avec l'appui de l'application de déploiement à chaud. En plus de cela, Mule Enterprise Edition propose une avancé de la console de gestion qui peuvent faire une différence dans la production.

8voto

Kai Wähner Points 936

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 un cadre d’intégration léger, ServiceMix et etc. sont des ESB complets.

5voto

Ross Mason Points 198

Camel est un moteur de médiation, tandis que la Mule est une lumière-poids de la plate-forme d'intégration. La différence est que la Mule offre toutes les fonctionnalités d'un ESB, y compris un conteneur pour le déploiement des applications, de REPOS et de Services Web. Mule peut être embarqués dans la même manière Chameau afin de permettre l'application aux développeurs d'intégrer des il code de l'application avec leur code d'intégration. Les deux s'intègrent étroitement avec le Printemps.

Mule ne pas utiliser de JBI pour de bonnes raisons , et maintenant que la JBI spec a été dissous (pas de groupe de travail, détenue par Oracle qui a passé sur le JBI spec à l'origine) n'est pas bonne, professionnel ou technique de raison d'utiliser JBI.

4voto

Claus Ibsen Points 16878

Apache Camel contient des réponses à des FAQ qui permettent de mieux comprendre ceci: 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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X