Apache Projekte als Basis einer Integrationsplattform

1.490 Aufrufe

Veröffentlicht am

Präsentation zum Vortrag von Paul Trommler und Christopher Sobotta auf den Berlin Expert Days am 30.03.2012.

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.490
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
1
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Apache Projekte als Basis einer Integrationsplattform

  1. 1. Berlin Expert Days 2012 Apache Projekte als Basis einer Integrationsplattform01.04.2012 - COINOR AG - 1
  2. 2. Ihre Referenten01.04.2012 - COINOR AG - 2
  3. 3. Ein junges Unternehmen mit anspruchsvollen Zielen und solider KapitalausstattungStandorte Kernfakten Festangestellte  Aktiengesellschaft in Mitarbeiterbeteiligung  Grundkapital: 1,375 Mio. €  Gründung: Juli 2007 Berlin  Branchenfokus Finanzindustrie Auszug Kundenliste Umsatz in Mio. € Frankfurt  Commerzbank AG Karlsruhe  DWS Investments GmbH  Xchanging München  FIDUCIA IT AG  ING DiBa AG  Landesbank Berlin AG  Union Investment Gruppe01.04.2012 - COINOR AG - 3
  4. 4. COINOR unterstützt Deutschlands führende Finanzdienstleisterbei der Verbesserung von Geschäftsprozessen IT Trends Open Source SOA Prozess Cloud Computing … Strategie Business Trends Konsolidierung Spezialisierung Geschäftsmodelle … Implementierung Business Transformation Wir transportieren Strategien in Prozesse und implementieren diese Prozesse in der IT Unser Erfolgskonzept ist dabei ganz besonders: Wir kombinieren hohe Fach- und Technologiekompetenz mit den Methoden unseres Business Engineering Frameworks Die einzigartige Bündelung dieser 3 Kompetenzen ermöglicht uns die effektive Entwicklung von Konzepten, innovativen Architekturen und Technologien01.04.2012 - COINOR AG - 4
  5. 5. Einstieg BED Bank Datenintegration01.04.2012 - COINOR AG - 5
  6. 6. AusgangssituationIntegration der BED Bank Systeme Banking Kunden ? Konten01.04.2012 - COINOR AG - 6
  7. 7. BED Bank SystemePunkt-zu-Punkt-Verbindungen Banking Kunden Konten01.04.2012 - COINOR AG - 7
  8. 8. BED Bank SystemePunkt-zu-Punkt-Verbindungen  Höherer Integrationsbedarf führt schnell zu Chaos Banking Börse Kunden Konten Buch- Depots haltung01.04.2012 - COINOR AG - 8
  9. 9. BED Bank SystemeAlternativansatz Message-Oriented Middleware  Zentrale Integrationsplattform standardisiert Anbindung  Message-Oriented Middleware Ansatz  Hub & Spoke Banking Börse Kunden MOM Konten Buch- Depots haltung01.04.2012 - COINOR AG - 9
  10. 10. Umsetzung Lösungsvorschlag unter Einsatz von Apache Projekten01.04.2012 - COINOR AG - 10
  11. 11. Messaging bedingt Queueing Konten Buchung.in Girokonto.in Messaging-Ansatz: Datensätze wandern in persistierten Einzelnachrichten Messaging bedingt Einsatz eines Message Queue Managers  Anfragen aufnehmen, speichern, weitergeben  Garantierte Verarbeitung  Queues und Topics  Organisation der Queues01.04.2012 - COINOR AG - 11
  12. 12. ActiveMQBED Bank Queue Manager01.04.2012 - COINOR AG - 12
  13. 13. ActiveMQBED Bank Queue ManagerJMS Message01.04.2012 - COINOR AG - 13
  14. 14. Content-based Routing ergänzt MessagingBeispiel Aktienkauf Depotbuchung? Depot.in Depot.out Aktienkurs anreichernBuchung.in Kontobuchung? Börse Webservice Depots Girokonto.in Routing und Queues setzen gemeinsam Datenflüsse um Enterprise Integration Patterns bilden Integrationsprobleme abwww.eaipatterns.com01.04.2012 - COINOR AG - 14
  15. 15. Umsetzung des Routings mit Apache CamelOpen Source Rules & Routing Engine Apache Camel setzt Enterprise Integration Pattern um Regelbasiertes Routen und Konvertieren (auf Event/Nachrichten-Basis) Konfiguration der Regeln durch eine Java DSL oder Spring XML Bietet über URIs Zugriff auf verschiedenste Protokolle („Components“)  JMS  JPA  HTTP  CXF  FILE  … Erweiterung durch Beans für ETL-Aufgaben möglich Ergebnis ist ein Java Programm („Camel Route“)01.04.2012 - COINOR AG - 15
  16. 16. Umsetzung des Routings mit Apache CamelAktienkauf Routen Ausschnitt Aktienkauf mit Spring XML und Java DSL<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring"> <route> <from uri="jms:buchung.in"/> <choice> <when><simple>${in.body} contains <banksystem>giro</banksystem> </simple> <to uri="jms:giro.in"/></when> <when><simple>${in.body} contains <banksystem>depot</banksystem> </simple> <to uri="jms:depot.in"/> </when> </choice> </route></camelContext>public class DepotBanking extends RoutBuilder{... public void configure() throws Exception { AggregationStrategy aggregationStrategy = new KursAggregationStrategy(); from("jms:depot.in") .enrich("cxf:bean:boerseEndpoint", aggregationStrategy ) .to("jms:depot.out"); }...}01.04.2012 - COINOR AG - 16
  17. 17. Umsetzung des Routings mit Apache CamelAktienkauf - Kursermittlung KursAggregationStrategy Bean wertet Webservice-Ergebnis auspublic class KursAggregationStrategy implements AggregationStrategy { public Exchange aggregate(Exchange oldExchange, Exchange newExchange) { // JMSMessage auswerten und in ein BoerseImpl Objekt konvertieren. BoerseImpl boerse = newExchange.getIn().getBody(BoerseImpl.class); // Erstelle ein neues Wertpapier-Objekt und setze den aktuellen Kurs. Wertpapier wertpapier = new Wertpapier(); wertpapier.setKurs(boerse.getAktienKurs()); // Erstelle ein DepotObjekt und mappe das Wertpapier auf das Depot. DepotKonto depotKonto = new DepotKonto(); depotKonto.getWertpapiere().add(wertpapier); // Überschreibe den aktuellen exchange mit dem neuen Depot Objekt. oldExchange.getIn().setBody(depotKonto); return oldExchange; }}01.04.2012 - COINOR AG - 17
  18. 18. Routing greift auf externe Geschäftslogik zurückUmsetzung durch Webservices Aktienkurs anreichern Börse Börse Webservice MOM benötigt neben Messaging und Routing auch Geschäftslogiken und Zugriffauf „exotische Systeme“ Webservices bieten Berechnungen und Systemkapselung  Einheitliche Technologie für Geschäftslogiken innerhalb der MOM  „System as a Service“-Ansatz  Vereinheitlichung heterogener Systeme innerhalb der MOM01.04.2012 - COINOR AG - 18
  19. 19. Apache CXFWebservice Framework Apache CXF  Namenzusammenschluss aus IONA Celtix und Codehouse XFire Frontend Programmiermodelle  Simple public interface Boerse{ public double getAktienKurs(String isin);  JAX-WS }  JAX-RS @WebService public interface Boerse{ public double getAktienKurs(@WebParam(name="isin") String isin); } DataBindings  JAXB Webservice Standards  WS-* Transport  JMS / Apache Camel Transport01.04.2012 - COINOR AG - 19
  20. 20. Apache CXFBeispiel Freiheit bei der Entwicklung Bottom-Up Top-Down JAVA WSDL./java2ws-d /Users/chris/workz/BED/BED-Bank-WS/test/-cp /Users/chris/workz/BED/BED-Bank-WS/bin/ de.coinor.bedbank.ws.Boerseorg.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClassINFO: Creating Service {http://ws.bedbank.coinor.de/}BoerseService from class de.coinor.bedbank.ws.Boerse01.04.2012 - COINOR AG - 20
  21. 21. MOM Komponenten benötigen Container Depots Börse Anforderungen der BED Bank MOM an einen Container  Hot Deployment der Komponenten aus Repository  Kontrolle über Artefakte (Starten, Stoppen)  Logging  One MOM, one Container01.04.2012 - COINOR AG - 21
  22. 22. Apache KarafOpen Source OSGi Container Zur BED Bank MOM passender leichtgewichtiger Runtime Container Unterstützt OSGi 4.2 Container (Apache Felix 3.0 und Eclipse Equinox 3.6) OSGi Bundle = .jar Datei, zusätzliche Manifest Header Vorgestellte Technologien der MOM Komponenten sind OSGi-tauglich01.04.2012 - COINOR AG - 22
  23. 23. BED Bank MOM im KarafStartbildschirm und installierte Bundles01.04.2012 - COINOR AG - 23
  24. 24. Und jetzt? Kommerzielle Bündelung der Apache Projekte01.04.2012 - COINOR AG - 24
  25. 25. Bundeling der Apache Projekte Projekte auf Apache Seiten frei und kostenlos verfügbar Quellcode, Beispiele, Dokumentation und Tutorials meist verfügbar Herausforderungen  Projektübergreifende Nutzung oft im Dunkeln  Out-of-the-Box-Nutzung schwierig, Anpassung an Use Cases  Support im Enterprise-Umfeld notwendig  Kein Tooling im Lieferumfang, effektive Nutzung erschwert Lösungsansatz: Bundeling der Technologien durch kommerzielleAnbieter, vergleichbar Linux-Distributionen01.04.2012 - COINOR AG - 25
  26. 26. Kommerzielle Apache ProduktanbieterTalend ESB Talend ESB ist Out of the Box nutzbar Talend IDE ermöglicht grafische Entwicklung von Camel Routen und CXF Services Standard Edition kostenlos (www.talend.org), ohne Support Enterprise Edition mit Professional Support mit Developer Seat Lizensierung Aktive Mitglieder in Apache Projekten01.04.2012 - COINOR AG - 26
  27. 27. Kommerzielle Apache ProduktanbieterTalend ESB Umsetzung der Buchungs-Routen mit dem Talend ESB Studio01.04.2012 - COINOR AG - 27
  28. 28. Kommerzielle Apache ProduktanbieterFuseSource Tochterunternehmen von Progress Software, Fokus auf Enterprise ready Apache 25 Mitglieder in den Apache Projekten tätig Lösung basiert auf Apache Camel, CXF, ServiceMix, ActiveMQ, HypericHQ  Fuse ESB – ServiceMix  Fuse Mediation Router - Camel  Fuse Message Broker – ActiveMQ  Fuse Services Framework - CXF  Fuse HQ – Hyperic HQ Enterprise Support bei Professional Edition01.04.2012 - COINOR AG - 28
  29. 29. FuseSourceIDE Unterstützung Zusätzlich Fuse IDE for Camel Alle Produkte als Open-Source Editionen zum Download verfügbar  Routen aus IDE heraus nicht deploybar01.04.2012 - COINOR AG - 29
  30. 30. AbschlussApache Open Source Projekte können zentraleIntegrationsaufgaben übernehmen Karaf ActiveMQ Camel CXF Enterprise Support durch kommerzielle Anbieter bietet breiteEinsatzmöglichkeiten im Produktionsumfeld Umgehung teurer Wartungsverträge / attraktiveres Lizenzmodell OpenSource-Ansatz bietet Einflussmöglichkeiten und sichert Weiterentwicklung01.04.2012 - COINOR AG - 30
  31. 31. Ihre Referenten01.04.2012 - COINOR AG - 31
  32. 32. Apache Software FoundationKurzvorstellung 1999 gegründete ehrenamtliche Organisation Gemeinschaft von Entwicklern für Open-Source Softwareprojekte Apache Lizenz Finanzierung über Sponsoring (Bronze – Platinum) Auszug Top Level Projekte  Ant  Jakarta  Maven  Struts  Subversion  Tomcat01.04.2012 - COINOR AG - 32

×