Apache Camel

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Apache Camel
Apache Camel-Logo.png
Maintainer Apache Software Foundation
Aktuelle Version 2.14.0[1]
(19. September 2014)
Betriebssystem plattformunabhängig
Programmier­sprache Java
Kategorie Enterprise Service Bus und Message Oriented Middleware Java-Bibliothek
Lizenz Apache Lizenz 2.0
camel.apache.org

Apache Camel ist eine freie, regelbasierte Routing- und Konvertierungsengine. Mit Apache Camel kann man Routing- und Konvertierungsregeln deklarativ in Java oder Scala basierend auf einer domänenspezifischen Sprache, oder mittels Spring basierter XML-Konfiguration definieren.

Funktionsweise[Bearbeiten]

Apache Camel basiert auf Enterprise Integration Patterns - Entwurfsmuster welche für den Entwurf von Enterprise Application Integration und Message Oriented Middleware basierten Systemen geschaffen wurden. Apache Camels Bean Binding unterstützt dabei Plain Old Java Objects und JavaBeans. Dadurch integriert es einfach mit Dependency Injection Frameworks wie Spring oder Google Guice.

Apache Camel verwendet Uniform Resource Identifiers und kann somit direkt mit unterschiedlichen Transport- und Messageprotokollen wie beispielsweise HTTP, JMS oder AMQP umgehen. Es kann so beispielsweise mit JBI, SCA, Apache ActiveMQ, RabbitMQ, Apache MINA oder Apache CXF zusammenarbeiten. Somit kann basierend auf der Apache Camel Programmierschnittstelle gearbeitet werden, obwohl die darüber angesprochenen Komponenten technologisch unterschiedliche Schnittstellen verwenden.

Apache Camel wird häufig zusammen mit Apache ServiceMix (Enterprise Service Bus), Apache CXF (Web Service Framework) und Apache ActiveMQ (Java Message Service Provider) in SOA Infrastruktur Projekten eingesetzt.[2] Darüber hinaus wird oft auch Apache MINA (Framework für Netzwerkapplikationen) zusammen mit Apache Camel verwendet.

Weitere Infos[Bearbeiten]

Literatur[Bearbeiten]

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Apache Camel Homepage
  2. Apache ActiveMQ - Projects using ActiveMQ