Freitag, 19. November 2010

Tag 5: 10:45 - 11:45 : Apache Camel, a powerful open source integration framework

Wenn Apache Camel nur halbwegs das hält, was Titel und Inhalt dieser Veranstaltung versprachen, dann ist dieses Framework definitiv ein "must have"!

Camel ist ein frei verfügbares Business Integration Framework. Es bedient also die Notwendigkeit in vielen Unternehmensanwendungen, andere Komponenten oder Systeme ansteuern und integrieren zu müssen.

Die Muster, nach denen dies geschieht und die nichtfunktionalen Anforderungen, denen man sich bei der Integration konfrontiert sieht, sind über viele Unternehmensanwendungen betrachtet vergleichbar. Und so tritt Camel an, einem diese "Grundlast" auf vereinheitlichte Weise zu nehmen.

Die theoretische Grundlage bilden die sogenannten Enterprise Integration Patterns, wie sie in der einschlägigen Literatur beschrieben sind (das Standardwerk zu diesem Thema findet man hier). Im wesentlichen werden hierbei zur Beschreibung Symbole mit einer bestimmten Semantik eingesetzt und auf diese Weise Rezepte zur Lösung bestimmer (Standard-)Probleme formuliert. Camel bietet die Verwendung dieser Patterns auf unterschiedliche Weise an:
  • Als DSL, programmierbar in XML, Java, Groovy und Scala
  • Über eine GUI, welche diese Symbole zur "Programmierung" anbietet
Jeder darüber beschriebene Integrationsschritt folgt dem EVA-Prinzip: Eingabe - Verarbeitung - Ausgabe. Stark vereinfacht nennt man so eine Verarbeitungskette Route, in der Eingabe und Ausgabe die Endpoints und die Verarbeitung durch Predicates beschrieben werden.

Camel erhebt den Anspruch, auf vielen Gebieten "einfach oder "leicht" zu sein:
  • Im Wesentlichen wird die Laufzeitumgebung durch eine handvoll JARs definiert. Es ist kein Laufzeit-Container notwendig, wenngleich möglich.
  • Es gibt eine große Zahl an Komponenten, die eine Reihe von Anwendungsfällen, Zielsystemen und Konvertern abbilden, welche aber auch durch eigene Lösungen erweitert werden können.
  • Die Konfiguration ist einfach (s. o.).
  • Die transportierten Daten basieren nativ auf Java POJOs. Konvertierungen in ein anderes Datenformat muss nur im Bedarfsfall erfolgen.
  • Camel arbeitet gut mit Spring zusammen.
Hinzu kommt eine umfangreiche online verfügbare Dokumentation, die definitiv Appetit auf mehr macht.

Keine Kommentare:

Kommentar veröffentlichen