In einer zunehmend vernetzten und automatisierten Welt wird die Integration von IT-Systemen immer bedeutender und stellt oft eine große Herausforderung für Software- Architekten und Entwickler dar. Mit dem Einsatz von Enterprise Integration Patterns, die bewährte Integrationslösungen beschreiben, kann diese Aufgabe wesentlich vereinfacht werden.
Nach einer kurzen Erläuterung einiger wichtiger Enterprise Integration Patterns, wird in diesem Vortrag das Open-Source Framework Apache Camel vorgestellt und gezeigt wie es unter Verwendung von minimalen Java oder XML Code dazu eingesetzt werden kann leistungsfähige Enterprise Integration Patterns zu implementieren um Systeme und Services über unterschiedliche Transport-Protokolle und Datenformate zu integrieren. Weiterhin wird auf die Einsatzmöglichkeiten von Apache Camel zur Dokumentation, Überwachung und Test von Webservices eingegangen.
2. Über den Referenten Eduard Hildebrandt +49 (0 160) 8870983 +49 (0711) 72846627 [email_address] IT Consultant Architekt Berater EAI Coach SOA MDA
3.
4.
5. Definitionen Enterprise Application Integration (EAI) ist ein Konzept zur unternehmensweiten Integration der Geschäftsfunktionen entlang der Wertschöpfungskette , die über verschiedene Applikationen auf unterschiedliche Plattformen verteilt sind, und im Sinne der Daten- und Geschäftsprozessintegration verbunden werden können. Enterprise Integration Patterns sind bewährte Lösungsschablonen zur Integration von Geschäftsfunktionen und Anbindung von verschiedenen Anwendungen auf unterschiedlichen Plattformen. = Design Patterns beschreiben bewährte Lösungs-Schablonen für ein Entwurfsproblem. Sie stellen damit wiederverwendbare Vorlagen zur Problemlösung dar, die in einem spezifischen Kontext einsetzbar sind. +
6. Buchempfehlung Titel: Enterprise Integration Patterns Autor: Gregor Hohpe und Bobby Woolf Verlag: Addison-Wesley ISBN: 0321200683
7. Messaging Nachricht Nachricht Channel Sender Empfänger data format dependencies location dependencies temporal dependencies
8. Was ist Apache Camel? http://activemq.apache.org/camel Open-Source Java Framework Implementiert ca. 35 Enterprise Integration Patterns Domain Specific Language (Fluent API)
18. Einsatz von Router Channel Wünsche Ehefrau Sohn Tochter Wunsch Wunsch Wunsch Channel Wünsche der Ehefrau Channel Wünsche des Sohnes Channel Wünsche der Tochter Router Invalid Messages
21. Einsatz von Message Translator Channel Wünsche Ehefrau Sohn Tochter Wunsch Wunsch Wunsch Channel Wünsche der Ehefrau Channel Wünsche des Sohnes Channel Wünsche der Tochter Channel Wünsche im einheitlichen Format Router Invalid Messages Translator Translator Translator
22. Transformation der Nachrichten (Ehefrau) // CSV: Produkt,Anzahl Milch,2 <wish> <productName>Milch</productName> <quantity>2</quantity> </wish> Wunsch der Ehefrau: Translator Allgemeine Darstellung:
23. Transformation der Nachrichten (Sohn) // Java Serialization [binäre Daten] Wunsch des Sohns: <wish> <productName>Kinderei</productName> <quantity>2</quantity> </wish> Translator Allgemeine Darstellung:
24. Transformation der Nachrichten (Tochter) <wunsch> <produkt>Teddybaer</produkt> <anzahl>1</anzahl> </wunsch> Wunsch der Tochter: <wish> <productName>Teddybaer</productName> <quantity>1</quantity> </wish> Translator Allgemeine Darstellung:
25. Einsatz von Normalizer Channel Wünsche Ehefrau Sohn Tochter Wunsch Wunsch Wunsch Channel Wünsche der Ehefrau Channel Wünsche des Sohnes Channel Wünsche der Tochter Channel Normalisiert Wünsche Router Invalid Messages Translator Translator Translator Entspricht Normalizer Pattern
26.
27. Einsatz von Normalizer Channel Wünsche Ehefrau Sohn Tochter Wunsch Wunsch Wunsch Normalizer
37. Einsatz von Splitter Channel Wünsche Ehefrau Sohn Tochter Wunsch Wunsch Wunsch Normalizer Filter Aggregator Splitter http://family-hildebrandt.com/eduard/eip_with_apache_camel/ Example Source Code:
38. Wo kann Apache Camel eingesetzt werden? Enterprise Service Bus (z.B. ServiceMix) Messaging System (z.B. Active MQ) Service Runtime (z.B. Apache CXF) Ihre eigenen Java Anwendung (mit oder ohne Spring Framework)
39.
40.
41. Warum EIP und Apache Camel? Damit das nicht mit Ihrer Architektur passiert!
43. Setzen Sie statt dessen Enterprise Integration Patterns ein… Channel Wünsche Ehefrau Sohn Tochter Wunsch Wunsch Wunsch Channel Wünsche der Ehefrau Channel Wünsche des Sohnes Channel Wünsche der Tochter Channel Wünsche im einheitlichen Format Router Invalid Messages Translator Translator Translator … und dokumentieren Sie Ihre Architektur!
46. Fazit 1. In der Realität ist Enterprise Integration anspruchsvoll! 2. Enterprise Integration Patterns sind bewährte Lösungs-Schablonen. Nutzen Sie diese! 3. Apache Camel ist ein hervorragendes Integration Framework. Testen Sie es! 4. Lassen Sie sich beraten!
49. www.logica.com/de No. 6 June 2009 Guidelines & Samples Logica is a leading IT and business services company, employing 39,000 people across 36 countries. It provides business consulting, systems integration, and IT and business process outsourcing services. Logica works closely with its customers to release their potential – enabling change that increases their efficiency, accelerates growth and manages risk. It applies its deep industry knowledge, technical excellence and global delivery expertise to help its customers build leadership positions in their markets. Logica is listed on both the London Stock Exchange and Euronext (Amsterdam) (LSE: LOG; Euronext: LOG). More information is available at www.logica.com.