Frage

Hey,
Wenn wir Apache Camel, warum andere Lösungen zu verwenden, wie Apache ServiceMix und Mule?
Gibt es etwas, Apache Camel kann auf diese Produkte nicht zu vergleichen?
Wenn zu Mule / ServiceMix verwenden und wenn Kamel zu benutzen?

War es hilfreich?

Lösung

Apache Camel ist eine Bibliothek, implementiert Enterprise Integration Patterns (EIP). Während es Frühling als IOC Rahmen verwenden kann, ist es nicht einmal abhängig von Frühling, es ist also völlig plattformunabhängig. Es ist „nur“ eine Bibliothek. So können Sie es jede JVM-Umgebung ausgeführt werden, zum Beispiel einfache Jvm, Servlets, EJB, osgi. Es funktioniert nicht mit einem der Leistungen (oder dem Overhead) bringt einen Behälter, wie Mule. Es hat, meiner Meinung nach, sauberere Trennung von Bedenken in diesem Bereich.

Mule kann auch in verschiedenen Umgebungen eingebettet werden, aber ich denke, Mule beide hat die Vor- und Nachteile der Kopplung ihrer EIP-Bibliothek zu ihrem Behälter. Wenn Sie Mule in einem Servlet oder ejb-Umgebung bereitstellen, wollen Sie wirklich all das Gepäck des Mule Behälter tragen? Ich bin kein Experte Mule, und ich denke, Sie wahrscheinlich einen relativ bescheidenen Aufwand und sauber heraus einige der redundanten Fähigkeit verbringen können. (Beachten Sie dies nicht in allen Fällen schlechte Fähigkeit ist, ist es nur überflüssig ist, wenn Sie in einem anderen Behälter eingebettet ausgeführt werden.)

Apache ServiceMix ist ein OSGi-Container, der Camel verwendet EIP als Grundlage eines ESB umzusetzen. Obwohl historisch mit ihren Wurzeln in JBI begann ServiceMix hat es sich bewegt von JBI entfernt und wurde in (IMO) entwickelt eine schöne Architektur schichtet best of breed Apache CXF, Camel und ActiveMQ in einem OSGi-Container zu kombinieren. Der wichtigste Wert ist hier nicht wirklich ServiceMix und seine JBI-Unterstützung, aber die zugrunde liegenden OSGi-Container Standard gekoppelt bewährten Apache Transporte wie CXF für Web-Service und ActiveMQ JMS. OSGi ist ein Standard reift, dass Angebote einen Container, die Adressen der gleichen Arten von „DLL“ Hölle, die Microsoft vor dem Aufkommen von .NET geplagt. Während weder .NET noch OSGI löst die wesentliche Komplexität des zugrunde liegenden Problems, sie zumindest vor, ein Mittel dafür Adressierung. OSGi hat noch weitere Vorteile als gut, aber aus einer Produktauswahl Perspektive der Standards basierten Container ist primär, und dessen wesentliches Merkmal, dass Mule (und Java im Allgemeinen) nicht-Adresse ist Abhängigkeitsmanagement.

Einige wichtige Dinge zu beachten Mule mit Apache Gemeinden zu vergleichen. Mule ist wie Redhat in dem Sinne, dass, obwohl es sich um eine Open-Source-Lizenz ist es nicht wirklich meiner Meinung nach ist eine offene Gemeinschaft. Jeder kann in Apache teilnehmen während MuleSoft die Mule-Gemeinschaft und die endgültige Fahrplan besitzt. Zweitens, obwohl die Mule Gemeinschaft wohl ziemlich aktiv ist, denke ich, die Apache-Community ist viel größer (und natürlich so, da es nicht eine Gated Community ist). Beide Ansätze haben beide plusses und Nachteile. Positiv auf den Apache-Ansatz ist, dass es mehrere Anbieter für ESB basiert auf Kamel, CXF, ActiveMQ und OSGi. Zum Beispiel bietet Talend eine ESB auf den gleichen Kerntechnologien ohne die ServiceMix JBI Geschichte. Dies hat sowohl plusses und Nachteile in der Apache-Community, aber der eigentliche Punkt ist, den Unterschied zwischen Apache und Mule zu markieren. Sie werden nicht multilple Anbieter in der Mule-Community finden. So IMO ein Apache ESB wie Talend oder ServiceMix ist eine breite und umfassende und letztlich Wettbewerb Gemeinschaft als eine geschlossene Gemeinschaft wie Mule.

Ed Ost

Andere Tipps

Es ist jetzt 2016 und hat sich viel verändert, seit die Frage zunächst gefragt wurde, so würde ich es für neue Zuschauer zu überdenken möchten.

Strategisch

  • Apache Camel hat zu seinen Wurzeln treu geblieben und nicht entwickelte sich zu einem Schwergewicht noch vollwertiger Laufzeitplattform. Es ist vielseitig und modular aufgebaut und kann ausgeführt werden:

    1. Embedded in jeder Art von Java Containern (Servlet-Container, Anwendungsserver, Frühling Boot).
    2. Standalone als Java-Prozess.
    3. Innerhalb einer OSGi-Umgebung ( Apache Karaf ).
  • Apache Camel hat weiterhin eine Traktion und Aktivität auf monatlicher Basis zu entwickeln und zu gewinnen, wie es durch die Kurve unter diesem Punkt dargestellt, die ich von OpenHub . Die totzukriegen hält ebenfalls zu.

 Apache Camel Teilnehmer pro Monat

  • Im Jahr 2012 Red Hat erworben FuseSource , einer der wichtigsten Förderer und Entwickler hinter Apache Camel, ActiveMQ, ServiceMix und CXF. Mehrere Committer und PMC-Mitglieder nun von Red Hat zur Arbeit auf Apache Camel eingesetzt werden.

  • Mule ESB bietet zwei Versionen ihres Produktes : Community (kostenlos unter dem CPAL Lizenz) und Unternehmen (gegen Entgelt). Sie definieren ihre Gemeinschaft Version als:

Ideal zur Auswertung oder Vorproduktion Verwendung.

=> Was bedeutet, dass Sie eine bezahlt Enterprise Abonnement für den Produktionseinsatz.

  • In der Tat, Mule ESB Community Edition steht unter der CPAL Lizenz . Dies bedeutet, dass, wenn Sie immer noch diese Version verwenden entscheiden, Mule DÜRFEN :

    • Jedes Mal, wenn ein Executable und Source Code oder eine größere Arbeit gestartet wird oder zunächst ausgeführt, eine prominente Darstellung von MuleSoft Zuschreibung Informationen muß auf der grafischen Benutzeroberfläche durch die Endbenutzer Zugriff solchen Covered Code (die eingesetzt auftreten kann auf einem Begrüßungsbildschirm umfasst Display), falls vorhanden. => Im Grunde müssen Sie werben , dass alles, was Sie aufgebaut haben, mit Mule auf Mule ausgeführt wird.

    • Wenn Ihre Bereitstellung von Mule ESB über das Netzwerk zugegriffen wird (es wird immer, da es eine Integrationsplattform ist!), Müssen Sie auch die Quelle der Bereitstellung zur Verfügung stellen, wer darauf zugreift.

  • Wie jemand anderes bereits erwähnt, ist Apache Camel ein völlig offenes Projekt und angetrieben durch die Gemeinschaft, für die Gemeinschaft . Die ganze Quellcode ist öffentlich zugänglich, und jeder ermutigt wird, in Pull-Anforderungen zu senden, tragen Komponenten und Hilfe oder Anfragen in den Foren. Im Gegensatz dazu ist die Mule-Community ein Gated Community .

  • Last, but not least; vielleicht der wichtigste Teil. ist hier, was Google Trends hat über Mule ESB vs. Apache Camel zu sagen. Beachten Sie, dass ich die neuen semantischen Themen bin mit Messung für höhere Genauigkeit eher als die Standard- Abfrage keywords . Auf diese Weise sind wir nicht die Popularität der Tiere (Mule vs Kamel) zu messen, aber der Software! Interpretation: Mule tendierten nach unten starkvon 2007 bis 2011, während Apache Camel tendierten nach oben. Seit 2011 ist Mule plateaued, während Apache Camel gesund Trend nach oben hält!

 Mule vs Kamel in Google Trends

Technische Entwicklung von Apache Camel

Ich wollte nur einige funktionale Metriken über die Entwicklung von Apache Camel seit 25. September 2010 geben, wenn Sie ursprünglich die Frage gestellt. Dies war der Quellbaum zu diesem Zeitpunkt .

  • Damals hatte Camel 88 Komponenten, hat es nun 220 Komponenten, einschließlich Integration mit Facebook, Twitter, Salesforce, Apache Ignite Apache Cassandra , AWS, Apache Kafka , MongoDB, Apache Spark etc.
  • Viele, viele technische Verbesserungen. Async Routing Engine Nachrichtenverlauf, Circuit Breaker EIP, viele, viele Verbesserungen und Erweiterungen der EIP wie Aggregation, Splitting, dynamisches Routing, usw.
  • Das Ökosystem hat jetzt erwachsen auch enthalten Hawtio für die Überwachung und Verwaltung, fabric8 für die Bereitstellung, etc.
  • Seitdem sind mehr als 5500 Tickets einschließlich neuer Funktionen gelöst wurden, Verbesserungen, Bugs, etc.
  • Und viel, viel mehr!

Abschlussnoten

Beide Produkte haben eine Menge in den letzten Jahren weiterentwickelt 5,25! Jedoch aufgrund der unterschiedlichen Lizenzen und der Gemeinde Art des Mule ESB und Apache Camel, ich glaube nicht, dass sie vergleichbar sind, nicht mehr zueinander.

Apache Camel ist vollständig Open Source ??, während Mule ESB Gemeinschaft verlangt von den Nutzern Attribute MuleSoft und den Quellcode der Software zu veröffentlichen, die Mule verwendet. Die Apache Software-Lizenz ist eine auf Geschäftsreisende ausgerichtet Lizenz: Sie sind frei Kamel zu verwenden, ohne Zuschreibungen noch andere Anforderungen. Wirklich frei wie in Bier

Hope diese Reflexion über die letzten Jahre hilft, neue Zuschauern! :)


Disclaimer: Ich bin ein Committer und PMC Mitglied im Apache Camel Projekt

.

Meine Blog-Beitrag Antworten genau diese Frage: http://www.kai-waehner.de/blog/2011/06/02/when-to-use-apache-camel/ => Apache Camel ist ein leichter Integrations-Framework, ServiceMix und so auf voll sind ESBs.

Camel ist eine Mediation Motor während Mule ist eine leichte Integrationsplattform. Der Unterschied besteht darin, dass das Mule bietet alle Möglichkeiten eines ESB mit einem Behälter für die Bereitstellung von Anwendungen, REST und Web Service. Mule kann auf die gleiche Art und Weise Camel eingebettet werden Anwendungsentwickler einzubetten es Anwendungscode mit ihren Integrationscode zu ermöglichen. Beide integrieren eng mit Frühling.

Mule verwendet keine JBI für gute Gründe und jetzt, dass die JBI spec aufgelöst wurde (keine Arbeitsgruppe von Oracle gehört, die weitergegeben der JBI-Spezifikation ursprünglich) gibt es keinen guten fachlichen oder technischen Grund ist JBI zu verwenden.

Es gibt einige FAQ-Einträge bei Apache Camel, die auf diesem etwas Licht http://camel.apache.org/faq

Und die Link-Sammlung bei Apache Camel http://camel.apache.org/articles.html

einige Links, wo Menschen in der Gemeinde Gespräche und Camel im Vergleich zu anderen Projekten.

Claus, gibt es eine Reihe von Fehlern in der Camel FAQ, wenig überraschend, keiner von ihnen in unseren Gunsten:)

  • das UMO Modell in Mule ist nicht mehr in Mule. Wir Anlaß sich von diesem Modell in Mule 2 entfernt und es in Mule komplett geändert wurde 3. Wir haben jetzt eine sehr einfache Message Processor Modell, das über sie Ihre Aussage macht redundante
  • Mule wird nun explizite Typumwandlung für ein paar Jahre hat, ist dies kein Unterscheidungsmerkmal für Camel
  • Mule ist lizenziert unter der OSI genehmigt CPAL 1.0 Lizenz . Dies ist eine Open-Source-Lizenz nicht gewerblicher. Bitte aktualisieren Sie diese so schnell wie möglich

Zuerst müssen Sie verstehen, dass Service-Mix wie ein Container ist, die Apache Camel Code ausführen kann und Mule ESB ist ein separates Produkt von selbst

Es könnte eine Menge von Differenzierungen, die Sie zwischen ESB-Produkte anbieten können.

Sie sollten ein paar Dinge wissen, bevor in der Differenzierung suchen. Sie sind

  1. Wie die Produkte entwickelt
  2. Die Lizenzierung
  3. Die Support-Funktionen
  4. Open Source oder nicht
  5. Wenn Open Source kann die Quelle modifiziert und verwendet werden und so weiter.

Das oben wird ein besten Faktoren sein, dass Sie in schauen müssen, bevor Sie eine Auswahl treffen. Die oben allgemein für die meisten der Produktauswahl und es braucht besondere Aufmerksamkeit auch hier.

Der Sekundärprodukt Unterschied spezifisch für die Werkzeuge sein und seine domain.This wahrscheinlich ist die Antwort, die Sie suchen. Hier finden Sie die Liste, die Sie introspect müssen, bevor eine Auswahl zu treffen.

  1. Unterstützung der Gemeinschaft
  2. Produktstapel
  3. Extensibility in Bezug auf Ihren eigenen Code zu ändern
  4. Lernen Fähigkeit und Usability
  5. Produktsupport, wenn sie als Unternehmen gekauft

Dies ist wahrscheinlich eine der Forschung, dass Sie auf eigene Faust zu tun, den Unterschied zu wählen. Alle Möglichkeiten gibt es viele Wert fügt hinzu, dass machen das Produkt geeignet, um Ihre Organisation eher als auf dem Markt am besten zu sagen.

Wenn es um Apache Kamel oder andere ESB kommt. Der Unterschied, machen sind

  1. Die Anzahl des Transports
  2. Apache Camel Sie die Vielfalt der DSL über Mule Bereitstellung und andere sind, dass sie nicht über mehrere DSL wie in Camel.
  3. Mule in seinem Produktstapel enthält API-Management und im Hause Cloud Connectors wo wie Apache Camel ist ein Framework, wenn FUSE ESB berücksichtigt wird JBoss-Stack bietet eine anständige Menge an anderen Produkten, die Ihre Auswahl ergänzen können.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top