Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PyTAF - Application Integration mit Python im Bereich Financial Markets

PyTAF - Application Integration mit Python im Bereich Financial Markets

Nachrichtenorientierte Realtime/Neartime-Anwendungsintegration mit Python in Financial Markets (PyCon DE 2011 Leipzig)

Holger Joukl

October 11, 2011
Tweet

Other Decks in Programming

Transcript

  1. Landesbank Baden-Württemberg 06. Oktober 2011, PyTAF - Application Integration mit

    Python im Bereich Financial Markets, Holger Joukl, Seite 1 © Landesbank Baden-Württemberg PyTAF - Application Integration mit Python im Bereich Financial Markets Holger Joukl (Referent) Manuela Kälberer Rainer Kluger Leipzig 06.10.2011
  2. 06. Oktober 2011, PyTAF - Application Integration mit Python im

    Bereich Financial Markets, Holger Joukl, Seite 2 © Landesbank Baden-Württemberg Inhaltsverzeichnis Anwendungsumfeld – Anwendungslandschaft ~1999/2000 – Ausgangslage: Schwächen der bestehenden Integrationslandschaft – Zielbild: Integrationsarchitektur X Lösungsansatz – Idee – Umsetzung – Eingesetzte Technologien – Evolution X Erfahrungen – Zahlen + Ziele – Python als Integrationssprache
  3. 06. Oktober 2011, PyTAF - Application Integration mit Python im

    Bereich Financial Markets, Holger Joukl, Seite 3 © Landesbank Baden-Württemberg Anwendungslandschaft LBBW-Handel ~1999/2000 BONDtr@der BOS BOS-Angebote DAVID DISPO FDB Fenics FW-Dispo FXtr@der GCP GLS HAPL HASE ZeUS Marktdaten (Reuters) Kondor+ Zast WM-Rating ABAG WM Spk-Fixing Samba Risque RanSys ORC Opus Opics MIDAS MERVA Marzipan Marktdaten (LBBW intern) Marktdaten (Moneyline) KIS Info-Portal CM
  4. 06. Oktober 2011, PyTAF - Application Integration mit Python im

    Bereich Financial Markets, Holger Joukl, Seite 4 © Landesbank Baden-Württemberg Ausgangslage: Schwächen der bestehenden Integrationslandschaft Applikation B LBBW-Interface 3 Applikation E Applikation C LBBW- Interface 4 LBBW- Interface 5 Applikation D LBBW- IF 10 LBBW-IF 9 LBBW- IF 8 Applikation A LBBW- Interface 2 LBBW- Interface 7 LBBW- Interface 1 LBBW- Interface 6 Redundante Entwicklungen Überwachbarkeit Plattformübergänge Starke Kopplung n:m Beziehungen Quelle: M. Böckh
  5. 06. Oktober 2011, PyTAF - Application Integration mit Python im

    Bereich Financial Markets, Holger Joukl, Seite 5 © Landesbank Baden-Württemberg Zielbild: Integrationsarchitektur Message Bus Applikation A 1 2 Applikation B 1 2 LBBW-Interface X Applikation D 5 4 Applikation E 4 5 LBBW-Interface W Applikation C Nachricht verschwindet, wenn alle Abnehmer versorgt sind Sende Nachricht mit Name ... A B A C A B + C 1 2 5 4 LBBW- Interface Y LBBW- Interface Z Transport- & Datenbeschreibung von Nachrichten Integriertes Interface Integriertes Interface Empfange alle Nachrichten mit Name ... ... ... Paket‚B‘ Feld Wert ... ... Paket‚A‘ Feld Wert Sender- Anwendung Datenextraktion Datentransport Daten-Import Empfänger- Anwendung Logische Schrittfolge für eine Schnittstelle Aufbereiter & Packer Entpacker & Daten-Mapping 1 2 3 4 5 Entkopplung Wiederverwendbarkeit Vereinheitlichung Reduktion Adapter
  6. 06. Oktober 2011, PyTAF - Application Integration mit Python im

    Bereich Financial Markets, Holger Joukl, Seite 6 © Landesbank Baden-Württemberg Lösungsansatz: Idee Message Bus (MoM) Alle Daten sind selbstbeschreibende Nachrichten („Messages“): •hierarchische Datenstrukturen •plattformunabhängige Datentypen Zentrales Element: Nachrichten-Bus (alle LBBW-relevanten Plattformen & Sprachen) Framework/Toolkit zur SST-Entwicklung: •Schnittstellen-GUI •Reiche Standardfunktionalität: Konnektivität, Datentransformation •Erweiterbarkeit der Funktionalität durch SST-Entwickler Integrations-Sprache: Lesbar. Wartbar. Einfach erlernbar.
  7. 06. Oktober 2011, PyTAF - Application Integration mit Python im

    Bereich Financial Markets, Holger Joukl, Seite 7 © Landesbank Baden-Württemberg Programm als Datenflussgraph Dies ist ein Beispieltext. Dies ist ein Beispieltext. Dies ist ein Beispieltext. Dies ist ein Beispieltext. Dies ist ein Beispieltext.
  8. 06. Oktober 2011, PyTAF - Application Integration mit Python im

    Bereich Financial Markets, Holger Joukl, Seite 8 © Landesbank Baden-Württemberg Reiche Standardfunktionalität für Transformation + Konnektivität
  9. 06. Oktober 2011, PyTAF - Application Integration mit Python im

    Bereich Financial Markets, Holger Joukl, Seite 9 © Landesbank Baden-Württemberg Reiche Standardfunktionalität für Transformation + Konnektivität
  10. 06. Oktober 2011, PyTAF - Application Integration mit Python im

    Bereich Financial Markets, Holger Joukl, Seite 10 © Landesbank Baden-Württemberg Generierung des lauffähigen Programms
  11. 06. Oktober 2011, PyTAF - Application Integration mit Python im

    Bereich Financial Markets, Holger Joukl, Seite 11 © Landesbank Baden-Württemberg Generierung des lauffähigen Programms
  12. 06. Oktober 2011, PyTAF - Application Integration mit Python im

    Bereich Financial Markets, Holger Joukl, Seite 12 © Landesbank Baden-Württemberg Kommandozeilen-Interface zur Konfiguration
  13. 06. Oktober 2011, PyTAF - Application Integration mit Python im

    Bereich Financial Markets, Holger Joukl, Seite 13 © Landesbank Baden-Württemberg Python TIB Adapter Framework  Solaris 6/SPARC  Python 1.5.2  GUI: KDE Interface Editor  PyKDE + PyQt (KDE 1.1.2, Qt 1.44)  Konnektivität:  TIB (TIBCO TIB/Rendezvous 5)  Datenbanken (Oracle 8, Sybase 11)  Marktdaten (RMDS)  FTP, lokale Dateisysteme  Vielzahl an Mapping-Komponenten  Programminternes Datenformat: RvMsg (TIB-Datenformat, proprietär) Eingesetzte Technologien bei Produktivnahme (2000)
  14. 06. Oktober 2011, PyTAF - Application Integration mit Python im

    Bereich Financial Markets, Holger Joukl, Seite 14 © Landesbank Baden-Württemberg Python TIB Adapter Framework  Solaris 8+10/SPARC  Python 2.4.4  GUI: KDE Interface Editor  PyKDE + PyQt (KDE 1.1.2, Qt 1.44)  Konnektivität:  TIB (TIBCO TIB/Rendezvous 8)  Datenbanken (Oracle 9, Sybase 15)  Marktdaten (RMDS)  FTP, lokale Dateisysteme  Webservices  Vielzahl an Mapping-Komponenten  Validierung: XML Schema, Schematron, RelaxNG  Programminternes Datenformat: XMsg (lxml.objectify, Open Source) Eingesetzte Technologien heute (2010)
  15. 06. Oktober 2011, PyTAF - Application Integration mit Python im

    Bereich Financial Markets, Holger Joukl, Seite 15 © Landesbank Baden-Württemberg Evolution von PyTAF 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 1. PyTAF- Programm live Python 2.4.4 Oracle 9 Sybase 15 TIB/Rv 5.3 Sybase 11 Oracle 8 lxml 2.0a4 lxml 2.1.5 lxml 2.2.6 lxml 2.2.2 TIB/RvMsg (PyCXX) XMsg (lxml.objectify: lxml 1.2.1) TIB/RvMsg Boost.Python Python 2.3.4 TIB/Rv 7.2 Sybase 12.5 Solaris 6 Solaris 8 Python 2.7 lxml 2.3 Solaris 10 TIB/Rv Boost.Python v2 Entwicklungs- beginn Python 1.5.2
  16. 06. Oktober 2011, PyTAF - Application Integration mit Python im

    Bereich Financial Markets, Holger Joukl, Seite 16 © Landesbank Baden-Württemberg Erfahrungen: Zahlen + Ziele PyTAF-Nutzung in der LBBW 0 20 40 60 80 100 120 140 2003 2004 2005 2006 2007 2008 2009 2010 2011 Adapter Adapter PyTAF Adapter PyTAF (MoM)
  17. 06. Oktober 2011, PyTAF - Application Integration mit Python im

    Bereich Financial Markets, Holger Joukl, Seite 17 © Landesbank Baden-Württemberg Hoher Standardisierungsgrad Schnellere Entwicklungszeiten Model Driven Development Rapid Prototyping Agile Entwicklung Hohe Robustheit der Standardkomponenten Gute Wartbarkeit × Adapter-Entwicklung im Fachbereich (Nicht-Programmierer) × kontinuierliche Weiterentwicklung des Framework Erfahrungen: Zahlen + Ziele
  18. 06. Oktober 2011, PyTAF - Application Integration mit Python im

    Bereich Financial Markets, Holger Joukl, Seite 18 © Landesbank Baden-Württemberg + Lesbarkeit + Wartbarkeit + Erlernbarkeit + Erweiterbarkeit + Funktionsumfang - Verfügbarkeit von Entwicklern mit Python-Kenntnissen - „Management Attention“ + Verbreitung Erfahrungen: Python als Integrationssprache
  19. 06. Oktober 2011, PyTAF - Application Integration mit Python im

    Bereich Financial Markets, Holger Joukl, Seite 19 © Landesbank Baden-Württemberg + Lesbarkeit + Wartbarkeit + Erlernbarkeit + Erweiterbarkeit + Funktionsumfang - Verfügbarkeit von Entwicklern mit Python-Kenntnissen - „Management Attention“ + Verbreitung Vorteile überwiegen! Erfahrungen: Python als Integrationssprache
  20. 06. Oktober 2011, PyTAF - Application Integration mit Python im

    Bereich Financial Markets, Holger Joukl, Seite 20 © Landesbank Baden-Württemberg Vielen Dank für die Aufmerksamkeit! Holger Joukl Manuela Kälberer Rainer Kluger IT Financial Markets Consulting Landesbank Baden-Württemberg Am Hauptbahnhof 2 70173 Stuttgart [email protected] Landesbank Baden-Württemberg
  21. 06. Oktober 2011, PyTAF - Application Integration mit Python im

    Bereich Financial Markets, Holger Joukl, Seite 21 © Landesbank Baden-Württemberg Backup: Datenformat RvMsg  XMsg