Business Activity Monitoring mit Hilfe von Complex Event Processing Ein Erfahrungsbericht am Beispiel der easyCredit Anwendung der TeamBank AG Torsten Greiner (TeamBank AG) Rainer von Ammon (FH-Regensburg, CITT GmbH) Hans-Martin Brandl (FH-Regensburg, CITT GmbH) David Guschakowski (FH-Regensburg, CITT GmbH) Rolf Kintscher (Senacor Technologies AG) 5tes Expertengespräch – BAM/BPM/SOA/CEP Regensburg 25./26. Juni 2007 27.03.2017; Version 1.0
Agenda Ausgangslage Definition Geschäftsprozess Prozessdarstellung in ARIS (eEPK) Technische Lösung via Pipeline Voraussetzung Business Activity Monitoring (BAM) Pipeline-Modell und Prozessüberwachung Vorteile vs. Nachteile Alternative Lösung via CEP Einsatz von Complex-Event-Processing (CEP) Event Processing Architektur Darstellung der Ergebnisse der Evaluierung am Beispiel Zusammenfassung und Ausblick Fußzeilenbereich für Präsentationsname o. ä.
Entwicklung der Marke easyCredit easyCredit => die vollautomatisierte Ratenkredit-Anwendung (Kreditfabrik) 2000: Als erste Bank in Deutschland verkauft die TeamBank AG (ehemals norisbank AG) im Internet Kredite mit Online-Sofortzusage (vorbehaltlich der Schufaauskunft) => Vorstufe zum easyCredit 2001: Kooperation mit Partnerbanken (Hypovereinsbank, Vereins- und Westbank, Schmidt-Bank) 2003: easyCredit-Software als weltweit erstes Bankprodukt vom TÜV zertifiziert 2003: Neuentwicklung auf Basis von J2EE-Technologie mit dem Ziel Industrialisierung der Geschäftsprozesse; Kreditwunsch -> Auszahlung (inkl. Mahnwesen) 2004: TÜV - Zertifizierung der Neuentwicklung 2005: rd. 850 Partnerbanken aus dem DZ-Verbund; ca. 12.200 Vertriebsstellen; ca. 30.000 Vertriebsmitarbeiter (ohne Internetbenutzer) 2005: Pilotierung von easyCredit-Shops und mobilen easyCredit Arbeitsplätzen (UMTS) 2005: Anwender des Jahres (Gartner-Group u. Computerwoche) 2. Platz Kategorie Mittelstand 2006: Business Process Excellence (IDS-Scheer) 1. Platz Kategorie Process Implementation 2006: Eröffnung von 40 weiteren easyCredit-Shops 2007: weiterer Ausbau Shopnetz; Vorbereitung Auslands-Expansion Fußzeilenbereich für Präsentationsname o. ä.
Anwendungs-Architektur Ausgangslage Geschäftsstrategie und IT-Strategie bilden einen Regelkreis Geschäftsprozesse Planung M A R K T Geschäfts- strategie IT- Strategie IT-Architektur Anwendungs-Architektur System-Architektur Kontrolle Fußzeilenbereich für Präsentationsname o. ä. Pipeline/BPM/BAM/CEP
Begriffsbildung „Geschäftsprozess“ Integrationspunkt zwischen Fachbereich und IT Geschäftsprozesse werden als betriebliche Prozesse, die zur Erstellung der Unternehmensleistung beitragen, verstanden. Aus systemtheoretischer Sicht sind Geschäftsprozesse Folgen bestimmter diskreter Zustandsänderungen des betrachteten Systems. Ein Geschäftsprozess (Business Process) wird durch den Auftrag eines externen oder internen Kunden ausgelöst und endet mit der Lieferung eines vereinbarten Ergebnisses an den Kunden. Quelle: Lexikon der Wirtschaftsinformatik Fußzeilenbereich für Präsentationsname o. ä. Quelle: TeamBank
Prozessdarstellung in ARIS eEPK Kundenzugriff easyCredit portal Der Geschäftsprozess „Verkauf eines easyCredit im Internet“ besteht aus einer Folge von Prozessschritten. easyCredit Anwendung Kredit rechner Internet Kunde easyCredit Anwendung Haushalts- daten erfragen Internet Kunde Jeder Prozessschritt ist ein betriebswirtschaftlich logisch zusammenhängender Abschnitt, der durch ein oder mehrere Ereignisse ausgelöst wird. easyCredit Anwendung Adressdaten erfragen Internet Kunde easyCredit Anwendung Daten- schutz Erklärung Internet Kunde Zustimmung Kunde Überwachung: Mess-Sonden werden dort platziert, wo die Messwerte aufgenommen werden sollen. easyCredit Anwendung Vertrag speichern x Sensoren Anmerkung: Erst wenn ein Antrag im System gespeichert worden ist, macht es Sinn seinen weiteren Lebenszyklus zu verfolgen. KE Service KE* x Grau Grün Rot Fußzeilenbereich für Präsentationsname o. ä. Realisierung in einem BAM Pipeline Modell Vertrag drucken Ablehnung KE* = Kreditentscheidung
Realisierung BAM Überlegungen für das Pipeline-Modell - jeder Kreditantrag durchläuft in seinem gesamten Lebenszyklus mehrere Bearbeitungsstufen (Fließband) beginnend mit der 1. Speicherung jede Zustandsänderung wird mit dem zugehörigen Zeitpunkt ti in einer DB festgehalten zu jedem Zeitpunkt ti kann ermittelt werden, wie viele Verträge sich an einer bestimmten Stelle der Pipeline befinden Vergleich der aktuell ermittelten Werte eines Abschnitts mit vorher vom Fachbereich definierten Schwellwertbereichen Alarmierung der Fachbereiche bei Abweichungen, wenn eine fachliche oder technische Störung innerhalb eines Prozesses vorliegt Fußzeilenbereich für Präsentationsname o. ä.
Pipelinemodell Darstellung der unterschiedlichen Abschnitte Vertrag bereit zum Drucken Keine Nachbearbeitung KE rot Anträge in Nachbearbeitung gespeicherte Anträge mit KE gespeicherte Anträge ohne KE KE grün o. grau KE grau Legende: KE: Kreditentscheidung Rot: Bonitätsprüfung negativ Grün: Bonitätsprüfung positiv Grau: keine KE möglich, KE-Wdh. nötig Fußzeilenbereich für Präsentationsname o. ä.
Prozessmonitoring Darstellung mittels Cockpit/Dashboard Berechnung der Durchlaufzeiten der Prozesse anhand von IST-Daten in der Pipeline sowie den zur Verfügung stehenden Ressourcen und Kapazitäten auf Basis statistischer Annahmen Visualisierung der Ergebnisse 35 30 28 Beispiel: Bearbeitungszeit: 30 min. akt. Durchlaufzeit: 28 min. Zeitpuffer: 5 min. SLA gefährdet: > 35 min. Fußzeilenbereich für Präsentationsname o. ä.
Vor- und Nachteile Vorteil: Pipeline-Modell Vorteil: relativ schnell realisierbare adhoc-Lösung für den Fachbereich einfache Regeln für die Alarmierung Nachteil: Insellösung mit sehr vielen unterschiedlichen Werkzeugen realisiert Lösung ist nur auf diesen Prozess(typ) anwendbar (Prozessänderungen) Datenbankabfragen müssen programmiert werden (pull, bzw. polling) Stichpunktsbetrachtung nur zu einem Zeitpunkt ti (nicht echtzeitfähig, nur stündliche Aktualisierung) Echtzeitüberwachung des betriebswirtschaftlichen Zustandes (push) nur durch Entwicklung von sog. Datenbanktriggern möglich; sind komplex, skalieren schlecht => somit nicht massengeschäftsfähig => In Summe ein eher „passives Monitoring“ => Abhilfe durch CEP ? Fußzeilenbereich für Präsentationsname o. ä.
Abhilfe durch CEP? CEP ermöglicht: Ereignisorientierte Plattformen versprechen ein Radarsystem für die Unternehmenssteuerung CEP ermöglicht: - Erkennung von Ereignismustern in allen IT-Schichten - Vorhersage der Auswirkungen auf Prozesse und Geschäftsziele Realisierung: Anwendung regelbasierter Mustererkennung auf Echtzeitdatenströme somit Realisierung einer mengengeschäftsfähigen Echtzeitüberwachung Mengengeschäft (täglich): - 15.000 Kreditrechneraufrufe - 10.000 Adress- und Bankleitzahlprüfungen - 25.000 Kreditentscheidungen (KE) - 5.000 Neuanträge 4.000 Angebotsdrucke => Proof of Concept in der TeamBank mit Coral8 Fußzeilenbereich für Präsentationsname o. ä.
Unflexibler nicht-BPEL Workflow Die Event Cloud Nicht intrusive Eventgenerierung mittels proprietärer AOP-Techniken von JBoss JMS JMS JMS JMS JMS z.B. 500 Ergeinisse / sek JMS with Common Base Event Schema: Version | localInstanceId |globalInstanceId | creationTime | severity | priority | reporterComponentId | sourceComponentId | situation | contextDataElements | MsgDataElemtn | msg | repeatCount | elapsedTime | associatedEvents | extensionName | extendedDataElements | sequenceNumber ii Service 1 Service 2 … Service n Unflexibler nicht-BPEL Workflow UI / Portal JBOSS Servlet Filter Anwender Interaktionen Interceptor CLICK Now those Events produce JMS Messages with a Common Base Event Schema, in this Schema with Version localInstanceId, globalInstaceId and so on…. CLICK And those events are forming a timebased stream, which we can see here…. Yeah, i don´t know how familiar the common base event to you guys is, but i can offer a description of it. JMS JMS JMS JMS JMS Interceptor 27.03.2017 27.03.2017
Unflexibler nicht-BPEL Workflow Die Correlation Engine Erzeugung der BAM-Sichten durch Korrelation und Aggregation Ausgangsadaptoren JMS-Adapter XML-Adapter andere Adaptoren Correlation Engine Eingangsadaptoren JMS-Adapter SNMP-Adapter andere Adaptoren JMS JMS JMS JMS JMS ii Service 1 Service 2 … Service n Unflexibler nicht-BPEL Workflow UI / Portal JBOSS Servlet Filter Anwender Interaktionen User Interaction Actually this slide shows our „reference“ architecture for the next gen easyCredit… We guess that this audience here is very familiar with this kind of „reference“ architecture. As you see, it´s a bit more simplified than the other ones of the vendors, we´ve seen at the EPRA_WG. Interceptor Interceptor 27.03.2017 27.03.2017
Evaluierung der Architektur Vorbereiten der Infrastruktur/Anwendung: Servlet Filter protokollieren die Aufrufe der JSP Seiten Interceptoren protokollieren die Aufrufe der Services - Versenden der Ereignisse via JMS an die CEP Anwendung Versenden von Ereignissen via SNMP Vorbereitung CEP-Werkzeug: - Definition der Regeln Darstellung der Ergebnisse in Echtzeit Historisierung der Ergebnisse (für ein späteres „event mining“) Definition von BAM – Darstellungen evt. Kopplung zu einem Dashboard Fußzeilenbereich für Präsentationsname o. ä.
Event Processing Architecture Schichtenmodell der TeamBank Business Activity Monitoring Darstellung BAM - Werkzeug Erzeugung komplexer Ereignisse Event Verarbeitung regelbasierte Mustererkennung aus Echtzeitdaten CEP - Complex Event Processing Normalisierung und Transport Event Transport ESB - Enterprise Service Bus JMS, … Common Base Event (liegt der OASIS zur Standardisierung vor) Event Normalisierung / Konsolidierung (XML) Middleware u. Anwendung SNMP, Logfiles, emails, … Agentenbasiert, Eventquellen liefern einfache Ereignisse Operating Systems Web- u. Application Server Datenbank Server Legacy Systems Fußzeilenbereich für Präsentationsname o. ä. Netzwerk u. Maschinen Ebene SNMP, … Agentenbasiert, Router, Switches Storage (SAN, NAS) Hardware …
Zusammenfassung CEP hat das Potential die Technologie der nächsten 10 Jahre zu werden … - EPL: Sprachen sind noch nicht standardisiert - CBE: Eventformat ist noch nicht standardisiert (wie z.B. SNMP) Infrastruktur/Anwendungen müssen für CEP vorbereitet werden (sinnvolle Eventgenerierung und -versendung) Netzwerk muss auf die höhere Last vorbereitet werden Regeln für die Eventverarbeitung müssen implementiert werden Business Activity Monitore müssen definiert werden Nachträgliche Mustererkennung (event mining) wird möglich somit Erkennung neuer Event-Muster auf Basis statistischer Daten Fußzeilenbereich für Präsentationsname o. ä.
Zeitplan der CEP – Technologie zu optimistischer Zeitplan … Fußzeilenbereich für Präsentationsname o. ä. heute Quelle: David Luckham
Hypecycle (Juli 2006) Einschätzungen aus dem Internet … Fußzeilenbereich für Präsentationsname o. ä. Quelle: flickr - Photosharing
Überwachen Analysieren Steuern Zusammenspiel und Rollenverständnis Neue Aufgaben werden sich etablieren … Überwachen Analysieren Steuern Enterprise Cockpit Prozess Designer bereits existent Workflow Engine based on BPEL Event Designer Workflow Model ^= Szenario Rules Engine Pseudo-SQL resp. other languages App.Server Event Store erzeugt die business level events event mining IF … AND … FOLLOWED BY… WITHIN… ACTION Muster- erkennung Fußzeilenbereich für Präsentationsname o. ä. bwl. Ereignisse (Kreditwunsch) techn. Ereignisse (Fehler) Event Stream Quelle: modifiziert nach von Ammon
Literatur Referenzen [1] R. von Ammon, W. Pausch and M.Schimmer, „Realisation of Service-Oriented Architecture (SOA) using Enterprise Portal Plattforms taking the Example of Multi- Channel Sales in Banking Domains”, Wirtschaftsinformatik 2005. Ferstl et al. (Publ.), Heidelberg, Physica-Verlag 2005, pp. 1503-1518. [2] Apama, http://www.progress.com/realtime/products/apama/apama_technology/index.ssp. [3] M. Brandner et al., “Web services-oriented architecture in production in the finance industry”, Informatik Spektrum, Volume 27, No. 2, 2004, pp. 136-145. [4] Coral8, http://www.coral8.com/, downloaded 2006-04-24. [5] eEPK – erweiterte Ereignisgesteuerte Prozesskette, http://de.wikipedia.org/wiki/Erweiterte_ereignisgesteuerte_Prozesskette, downloaded 2006-04-24 [6] Esper, http://esper.sourceforge.net, downloaded 2006-04-24. [7] T. Greiner, P. Lachenmayer, „Bereitstellung einer neuen technischen Plattform als Grundlage für eine moderne Internetfilialbank“, Banking and Information Technology, Institut für Bankinformatik und Bankstrategie an der Universität Regensburg, Regensburg, 2002, pp. 53-61. [8] T. Greiner, W. Düster, „Monitoring von Geschäftsprozessen mit OpenSource Produkten aus Endkundensicht“, Banking and Information Technology, Institut für Bankinformatik und Bankstrategie an der Universität Regensburg, Regensburg, 2005, pp. 49-61. [9] Luckham, D., The power of events, Addison Wesley , Boston, San Francisco, New York et al., 2002. [10] D. Luckham, “The Beginnings of IT Insight: Business Activity Monitoring”, http://www.ebizq.net/topics/bam/features/4689.html, 2004, downloaded 2006-04-24 [11] H. Kochar, “Business Activity Monitoring and Business Intelligence”, http://www.ebizq.net/topics/bam/features/6596.html, 2005, downloaded 2006-04-24 [12] G. Meinhold, „EAI und SOA: Die Komponenten fallen nicht vom Himmel“, Objektspektrum, No. 2, 2004, pp. 33-36. [13] OASIS, Web Services Business Process Execution Language Version 2.0, Draft, Dec. 2005, http://www.oasis-open.org/committees/download.php/16024/wsbpel-specification-draft-Dec-22-2005.htm, downloaded 2006-04-24. [14] SixSigma, “BPMS”, http://www.isixsigma.com/dictionary/BPMS-536.htm, downloaded 2006-04-24. [15] SOAP, http://de.wikipedia.org/wiki/SOAP, downloaded 2006-04-24. [16] Woods, D., Enterprise Services Architecture, O’Reilly: Gravenstein, 2003.
Vielen Dank für Ihre Aufmerksamkeit