• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Apache Projekte als Basis einer Integrationsplattform
 

Apache Projekte als Basis einer Integrationsplattform

on

  • 1,204 views

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

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

Statistics

Views

Total Views
1,204
Views on SlideShare
1,204
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Apache Projekte als Basis einer Integrationsplattform Apache Projekte als Basis einer Integrationsplattform Presentation Transcript

    • Berlin Expert Days 2012 Apache Projekte als Basis einer Integrationsplattform01.04.2012 - COINOR AG - 1
    • Ihre Referenten01.04.2012 - COINOR AG - 2
    • 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
    • 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
    • Einstieg BED Bank Datenintegration01.04.2012 - COINOR AG - 5
    • AusgangssituationIntegration der BED Bank Systeme Banking Kunden ? Konten01.04.2012 - COINOR AG - 6
    • BED Bank SystemePunkt-zu-Punkt-Verbindungen Banking Kunden Konten01.04.2012 - COINOR AG - 7
    • 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
    • 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
    • Umsetzung Lösungsvorschlag unter Einsatz von Apache Projekten01.04.2012 - COINOR AG - 10
    • 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
    • ActiveMQBED Bank Queue Manager01.04.2012 - COINOR AG - 12
    • ActiveMQBED Bank Queue ManagerJMS Message01.04.2012 - COINOR AG - 13
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • BED Bank MOM im KarafStartbildschirm und installierte Bundles01.04.2012 - COINOR AG - 23
    • Und jetzt? Kommerzielle Bündelung der Apache Projekte01.04.2012 - COINOR AG - 24
    • 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
    • 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
    • Kommerzielle Apache ProduktanbieterTalend ESB Umsetzung der Buchungs-Routen mit dem Talend ESB Studio01.04.2012 - COINOR AG - 27
    • 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
    • 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
    • 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
    • Ihre Referenten01.04.2012 - COINOR AG - 31
    • 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