Oracle Workflow im Einsatz beim Order Management System von T-Online



Ähnliche Dokumente
Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.

Benutzerverwaltung Business- & Company-Paket

Avira Server Security Produktupdates. Best Practice

! APS Advisor for Automic

Was ist neu in Sage CRM 6.1

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2

Benachrichtigungsmöglichkeiten in SMC 2.6

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Lokale Installation von DotNetNuke 4 ohne IIS

Sie werden sehen, dass Sie für uns nur noch den direkten PDF-Export benötigen. Warum?

GeoPilot (Android) die App

Installation der SAS Foundation Software auf Windows

Artikel Schnittstelle über CSV

SAP Memory Tuning. Erfahrungsbericht Fritz Egger GmbH & Co OG. Datenbanken sind unsere Welt

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

EasyWk DAS Schwimmwettkampfprogramm

SANDBOXIE konfigurieren

Man liest sich: POP3/IMAP

Java Script für die Nutzung unseres Online-Bestellsystems

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Handbuch B4000+ Preset Manager

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

OP-LOG

white sheep GmbH Unternehmensberatung Schnittstellen Framework

Effiziente Administration Ihrer Netzwerkumgebung

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier)

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Anleitungen zum KMG- -Konto

Kleines Handbuch zur Fotogalerie der Pixel AG

Einleitung: Frontend Backend

ERSTELLEN VON INCENTIVES IM ZANOX NETZWERK

Online-Prüfungs-ABC. ABC Vertriebsberatung GmbH Bahnhofstraße Neckargemünd

Skript Pilotphase für Arbeitsgelegenheiten

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Die elektronische Rechnung als Fortsetzung der elektronischen Beauftragung so einfach geht es:

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Step by Step Webserver unter Windows Server von Christian Bartl

Anbindung Borland CaliberRM

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Kurzeinführung Excel2App. Version 1.0.0

FastViewer Remote Edition 2.X

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Live Update (Auto Update)

Projektmanagement in Outlook integriert InLoox 5.x Installationshilfe für Windows Terminalserver

IBIS Professional. z Dokumentation zur Dublettenprüfung

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Adminer: Installationsanleitung

gallestro BPM - weit mehr als malen...

Anwenderdokumentation AccountPlus GWUPSTAT.EXE

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

Ihr IT-Administrator oder unser Support wird Ihnen im Zweifelsfall gerne weiterhelfen.

Synchronisations- Assistent

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Hilfedatei der Oden$-Börse Stand Juni 2014

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation. 7 Key Features.

Alle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird.

Ausgangsrechnungen. an den Bund

Individuelle Formulare

Terminabgleich mit Mobiltelefonen

Eine Anleitung, wie Sie Mozilla Thunderbird 2 installieren und konfigurieren können. Installation Erstkonfiguration... 4

MESONIC WINLine Jahreswechsel. Umstellung des Wirtschaftsjahres SMC IT AG

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

SHAREPOINT Unterschiede zwischen SharePoint 2010 & 2013

Professionelle Seminare im Bereich MS-Office

Kurzanleitung ejax Online-Demo

Vorgehensweise bei der Installation Bob50SQL für einen unabhängigen PC.

Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen?

Gesicherte Prozeduren

Zeiterfassung mit Aeonos. Bedienungsanleitung für die App

lññáåé=iáåé===pìééçêíáåñçêã~íáçå=

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

Avira Management Console Optimierung für großes Netzwerk. Kurzanleitung

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Informationen zum neuen Studmail häufige Fragen

Internet online Update (Internet Explorer)

BEDIENUNG ABADISCOVER

How to do? Projekte - Zeiterfassung

Updatebeschreibung JAVA Version 3.6 und Internet Version 1.2

Verwendung des IDS Backup Systems unter Windows 2000

Kostenstellen verwalten. Tipps & Tricks

FrontDoor/Monitor mehr sehen von FrontDoor

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Matrix42. Matrix42 Cloud Trial Erste Schritte. Version

Erstellen eines Screenshot

VIP-Programm. Herzlich Willkommen!

An integrated total solution for automatic job scheduling without user interaction

Nachricht der Kundenbetreuung

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Transkript:

Oracle Workflow im Einsatz beim Order Management System von T-Online Thomas Müller von der Bank T-Online International AG Darmstadt Matthias Gries its-people Hochtaunus GmbH Oberursel Schlüsselworte: Oracle Workflow 2.6.2, Oracle 9i Rel. 2, Erfahrungsbericht Einleitung Workflow Management Systeme (WMS) waren ursprünglich dazu gedacht, starre und immer wiederkehrende Geschäftsabläufe zu automatisieren und zu verbessern. Ein klassisches Beispiel hier ist die Genehmigung von Urlaubsanträgen oder die Bestellung von Büromaterial. Mittlerweile finden Workflow Management Systeme aber auch Verwendung in anderen Unternehmensbereichen, wie z.b. Datawarehouse und Enterprise Application Integration (EAI). Oracle Workflow ist eines von vielen Workflow Management Systemen, die es derzeit auf dem Markt gibt. Hierbei kann Oracle Workflow auf eine langjährige Existenz sowohl als allein stehendes Produkt als auch integriert in Oracle Applications bzw. die Oracle E- Business Suite zurückblicken. Allerdings ist es vielen Firmen gar nicht bekannt, dass es Oracle Workflow gibt. Noch weniger wissen die meisten, dass sie, wenn sie eine Oracle Datenbank oder den Application Server von Oracle einsetzen, bereits Oracle Workflow kostenlos im Haus haben. Dabei bietet Oracle Workflow all das, was man von einem modernen Workflow Management System erwarten kann: Modellierung und Visualisierung der Geschäftsprozesse Unterstützung von sowohl traditionellen, anwendungsbasierten sowie von nachrichtenbasierten Geschäftsprozessen Einbeziehung der Anwender durch Versenden von Benachrichtigungen (Web- Notifications oder E-Mail) Performanz, Verfügbarkeit und Skalierbarkeit durch Einbettung in die Oracle Datenbank Administrierbarkeit über den Workflow Monitor und den Oracle Workflow Manager

Oracle Workflow wird nunmehr seit 2 Jahren produktiv beim Order Management von T- Online eingesetzt. Dieser Erfahrungsbericht soll einen Überblick über die dabei gesammelten Erkenntnisse bzgl. des Einsatzes von Oracle Workflow hinsichtlich einer großen Anzahl lang laufender Geschäftsprozesse sowie der technischen Besonderheiten geben. Oracle Workflow Hauptkomponenten von Oracle Workflow sind: Workflow Builder: Windows basiertes Entwicklungswerkzeug zum graphischen Modellieren von Geschäftsprozessen per Drag and Drop. Unterstützt werden u.a. Subprozesse, Parallelverarbeitung, Und- und Oder-Verknüpfungen, Schleifen, Timeouts. Workflow Engine: überwacht und koordiniert die Steuerung von Prozessen, unter Benutzung einer PL/SQL oder Java API. Hierbei können die Prozessschritte entweder sofort oder verzögert durch die so genannte Background Engine ausgeführt werden. Workflow Definitions Loader: Utility Programm um Workflow Definitionen zwischen der Datenbank und dem File System zu bewegen, auch im Workflow Builder integriert. Benachrichtigungssystem: einzelne Benutzer oder Benutzergruppen können per E- Mail oder Web-Benachrichtigungen in Aktivitäten einbezogen werden, die nicht automatisiert werden können. Business Event System: ermöglicht die Kommunikation zwischen verschiedensten Systemen innerhalb und außerhalb des Unternehmens, basierend auf Oracle Advanced Queuing. Monitoring und Administration: Graphische Darstellung des Workflow Fortschritts im Workflow Monitor. T-Online Order Management System Über das Order Management System (OMS) werden alle Geschäftsprozesse im Auftragsmanagement von T-Online abgewickelt, u.a. Neukundenaufträge, Produktbuchungen, Produkt- und Tarifwechsel, Stammdaten- und Anschlussdatenänderungen. Hierbei sind die betroffenen Geschäftsprozesse durchgängig mit Oracle Workflow umgesetzt. Dies gewährleistet die Nachvollziehbarkeit und Transparenz von Prozessen. Zudem kann schnell auf Änderungen der Geschäftsprozesse reagiert werden. OMS unterstützt außerdem die Geschäftsprozesse des Customer Care Managements. OMS ist Eingangskanal für Kundenaufträge von Partnern und Endkunden. Hierbei stehen den Partnern verschiedenste Möglichkeiten offen: Frontend für den Vertrieb Anbindung über Webservices Dateiaustausch

An OMS sind verschiedenste Backendsysteme sowohl von T-Online, des Telekom-Konzerns als auch anderer Partner angebunden, entweder direkt per Webservice oder indirekt per Oracle Advanced Queuing oder Dateiexport/Dateiimport. Mengengerüst In OMS gehen pro Tag im Durchschnitt ca. 100.000 neue Aufträge ein. Durchschnittlich sind ca. 1,5 Millionen Aufträge aktuell in Bearbeitung. Hierbei kann ein Auftrag auch Tage und Wochen laufen, abhängig davon, ob eine manuelle Bearbeitung notwendig ist oder der Auftrag in einem Warteschritt geparkt wird. Unterstützt werden ca. 30 verschiedene Geschäftsprozesse. Um dieses hohe Aufkommen an Aufträgen zu bewältigen, wird ein SUN-Server mit 48 Prozessoren eingesetzt. Hierauf ist Oracle 9i Release 2 mit den aktuellsten Patchsets installiert sowie Oracle Workflow 2.6.2 standalone. Zudem wird das Lastaufkommen auf zwei RAC- Knoten verteilt. Skalierung wird erreicht durch das zusätzliche Starten von Workflow Background Engines. Es laufen im Durchschnitt ca. 50 Background Engines, teilweise bis zu 7 für einen Prozesstyp. Anforderungen aus Workflow Sicht Zwischen Workflow und der eigentlichen Business Logik muss es eine generische Schnittstelle geben. Hierzu wurde der so genannte Workflow-Wrapper in PL/SQL entwickelt, der über Metadaten die eigentliche Business Logik ermittelt und aufruft. Der Workflow- Wrapper ist gemäß des Standard-API von Oracle Workflow bzgl. PL/SQL-Prozeduren implementiert: procedure <procedure name> ( itemtype in varchar2, itemkey in varchar2, actid in number, funcmode in varchar2, resultout out varchar2 ) is <local declarations> begin if (funcmode = RUN ) then <your RUN executable statements> resultout := COMPLETE:<result> ; return; end if;... end; Die vom Workflow-Wrapper aufgerufenen Business Logiken haben eine einheitliche Signatur, ähnlich der PL/SQL-Schnittstelle von Oracle Workflow. Hierdurch ist eine Trennung von Workflow und Business Logik gewährleistet. Oracle Workflow ist für die Ablaufsteuerung zuständig und per se nicht für die Fachlichkeit. Diese obliegt, wie der Name schon sagt, den Business Logiken.

Weitere Anforderungen waren: Nutzdaten (z.b. über Item Attribute) werden aus Performance-Gründen nicht im Workflow Repository vorgehalten, sondern nur Kontextdaten (Prozesstyp, Vorgangsnummer). Transaktionen werden durch die Workflow Engine gesteuert und nicht durch die Business Logik. Jede Business Logik muss wegen der Sichtbarkeit in der Statusbearbeitung unabhängig von anderen ausgeführt werden können (so genannte Deferred Activities, die durch den regelmäßigen Aufruf der Workflow Background Engine WF_ENGINE.BACKGROUND abgearbeitet werden müssen). Bei asynchronen Zugriffen auf Fremdsysteme (i.d.r. über Oracle Advanced Queuing) wird über das API WF_NOTIFICATION.SEND eine interne Workflow Notification erzeugt, die durch das Fremdsystem beantwortet werden muss (via API WF_NOTIFICATION.RESPOND). U.a. aus diesen Anforderungen resultieren die folgenden Anwendungsschichten und Kommunikationswege, siehe Abbildungen 1 und 2: Client (Browser, WS, File) DB-API Respond Prozesssteuerung (Workflow) Wrapper Controller Business Logik Controller Fassade Kommunikation Fassade CRM- Adapter Fuzzy- Adapter WS- Adapter sonst. Adapter Abb. 1: Kommunikation zwischen den einzelnen Anwendungsschichten von OMS Über eine in PL/SQL realisierte Submit-Prozedur wird ein Auftrag vom Client an das OMS- Backend übermittelt. Hierdurch wird in OMS ein Auftrag mit allen relevanten Daten (z.b. Kunden- und Produktdaten) und ein zugehöriger Workflowprozess (über die API s

WF_ENGINE.CREATEPROCESS und WF_ENGINE.STARTPROCESS) angelegt und gestartet. Über die Workflow Background Engine werden die zugehörigen Prozessschritte nacheinander ausgeführt. Hierbei wird abgesehen von einigen Standardfunktionalitäten wie z.b. Warteschritten und Schleifenzähler immer der generische Workflow-Wrapper aufgerufen. Dieser ermittelt anhand von Metadaten die im aktuell abzuarbeitenden Schritt auszuführende Business Logik und die Art und Weise der Ausführung (synchron oder asynchron). Der Workflow-Wrapper ruft anschließend den so genannten Business Logik Controller mit den ermittelten Metadaten auf. Dieser führt dann die Business Logik über EXECUTE IMMEDIATE entweder synchron oder asynchron aus und liefert das Ergebnis an den Workflow-Wrapper zurück, welcher dieses wiederum an die Workflow Engine zurück gibt. WF-Wrapper Aufrufmodus BL-Name,... Metadaten Audit Status Audit BL-Controller Vorgangs- und Kundendaten Business Logik Insert, Update Delete, Select Abb. 2: Kommunikation zwischen Workflow und Business Logik Tuning-Maßnahmen Oracle beschreibt in dem White Paper Oracle Workflow Performance and Sizing Concepts, Release 2.6.2 im Wesentlichen zwei Maßnahmen, um die Performance der Workflow Background Engine zu steigern, wenn große Datenmengen, wie dies bei T-Online der Fall ist, erwartet werden: Die erste Maßnahme ist die Partitionierung des Workflow Repositories durch das Ausführen des Skripts wfupart.sql. Hauptkriterium für die Partitionierung sind die Itemtypes der im Repository existierenden Workflow Definitionen.

Die zweite Maßnahme ist das regelmäßige Purging (Löschen) obsoleter Laufzeitdaten, da beendete Workflowprozesse nicht automatisch aus dem Workflow Repository entfernt werden. Hierzu kann das PL/SQL API WF_PURGE verwendet werden. Für OMS haben wir auf Basis dieses API s eigene Funktionalität entwickelt, da zum einen ein Workflowprozess erst dann aus dem Workflow Repository gelöscht werden darf, wenn der zugehörige OMS- Vorgang beendet und archiviert ist, und da wir zum anderen Einfluss darauf haben wollten, wie viele Prozesse mit einem Purge-Durchgang gelöscht werden sollten, um so zu lang laufende Transaktionen zu vermeiden. Weitere Erweiterungen Im Laufe des Produktivbetriebs von OMS wurden folgende Erweiterungen notwendig: Anpassung der Workflow Background Engine und Steuerung über die MAESTRO- Jobsteuerung: Bis vor kurzem war es ausreichend, für jede benötigte Background Engine von Oracle Workflow einen Datenbankjob anzulegen, welcher die entsprechende Background Engine regelmäßig alle 15 Sekunden aufgerufen hat. Der Nachteil hierbei war aber, dass die zugehörigen SQL-Sessions nicht normal beendet werden konnten, wenn z.b. viele Prozessschritte zu verarbeiten waren. Dies war insbesondere bei Deployments ein Problem, bei denen eine Downtime der Datenbank erforderlich war. Zudem ließ die Standard Background Engine keinen Rückschluss auf ihren tatsächlichen Durchsatz zu (z.b. wie viele Prozessschritte wurden in der letzten Stunde verarbeitet). Dadurch war keine lastabhängige Steuerung möglich. Aus diesem Grund haben wir auf Basis der Background Engine von Oracle Workflow eine eigene Background Engine entwickelt, die von außen über das Setzen von Parametern in einer Metadatentabelle gestartet und gestoppt werden kann und die eine rudimentäre lastabhängige Steuerung bietet. Diese Background Engine ist in die MAESTRO- Jobsteuerung von T-Online eingebunden. Metadaten gesteuerte Breakpoint-Funktionalität: Diese Funktionalität erlaubt es, einen Workflowprozess an jeder beliebigen Stelle vor Ausführung der nächsten Business Logik anzuhalten, ohne die Modellierung des Prozesses ändern zu müssen. Die Prüfung, ob für den aktuell auszuführenden Prozessschritt ein Breakpoint existiert, erfolgt durch den Workflow-Wrapper. Existiert ein Breakpoint, wird der Prozess in den Status NOTIFIED gesetzt. Über das API WF_ENGINE.HANDLEERROR können die so angehaltenen Prozesse wieder über den Breakpoint gehoben werden. Die Breakpoint-Funktionalität ist insbesondere im Rahmen der Wartung hilfreich, wenn z.b. aufgrund geänderter Anforderungen Workflowprozesse von einer älteren in eine neuere Version migriert werden müssen. Konfigurierbare Wiederaufsetzpunkte: Im Rahmen der manuellen Statusbearbeitung ist es möglich, Prozesse aus einem so genannten Sichtprüfungsstatus (d.h. ein Agent überprüft z.b. fehlende Auftragsdaten und ergänzt diese unter Umständen nach Rücksprache mit dem Kunden) auf vordefinierte Zielschritte zu setzen und den Prozess dort weiterlaufen zu lassen. Auch hierbei machen wir uns das API WF_ENGINE.HANDLEERROR zu nutze. Eigene Warte- und Timeoutfunktionalität: Da Prozesse in OMS mitunter sehr lange angehalten werden (teilweise mehrere Wochen, um Kunden oder Partnern eine

qualifizierte Rückantwort zu Anfragen zu ermöglichen), wurde zur Entlastung der internen Workflow Deferred Queue, in der normalerweise neben den Deferred Activities auch alle Waits und Timeouts landen, eigene Funktionalität entwickelt. Waits und Timeouts werden in einer separaten Tabelle protokolliert und über einen Datenbankjob abgearbeitet. Mittels WF_ENGINE.HANDLEERROR werden Prozesse, bei denen ein Wait oder ein Timeout erreicht wurde, auf den nächsten Prozessschritt weitergesetzt. Aktuelle Herausforderung Bei einem Füllstand von über 2 Millionen offenen Prozessen und bis zu 200.000 Nachrichten in der internen Workflow Deferred Queue scheint Oracle Workflow bzgl. der Abarbeitung asynchroner Prozessschritte an seine Grenzen zu gelangen. Um hier die Workflow Deferred Queue zu entlasten und eine gute Performance von Oracle Workflow zu gewährleisten, wurden zwei Maßnahmen in die Wege geleitet: Zum einen wurde die Entscheidung, dass jeder Workflowschritt über die Background Engine als Deferred Activity ausgeführt werden soll, revidiert. Zur Entlastung der Queue werden alle Workflowprozesse, da wo möglich, nach und nach auf teilsynchrone Abarbeitung umgestellt. Zum anderen haben wir beobachtet, dass die Ladeprozesse von Flat Files, bei denen aufgrund der Schnittstellenvereinbarungen mit den Partnern große Datenmengen in nur einer Transaktion in OMS eingelesen werden ( ganz oder gar nicht ), einen negativen Einfluss auf die Performance der Background Engine haben, insbesondere wenn als Teil dieser Transaktion mit einem Mal mehrere 10.000 Workflowprozesse erzeugt werden. Hier werden wir das Einlesen der Daten in OMS und das Starten der Workflowprozesse entkoppeln. Das Starten der Workflowprozesse wird in mehreren separaten Transaktionen durchgeführt werden. Fazit In den zwei Jahren, in denen OMS nun produktiv im Einsatz ist, sind die Erfahrungen mit Oracle Workflow durchweg positiv, insbesondere auch in Hinblick auf die Verarbeitung von großen Datenmengen. Trotz der aktuellen Herausforderungen würden wir Oracle Workflow jederzeit wieder einsetzen. Referenzen Oracle Workflow User's Guide (Part No. B12162) Oracle Workflow Developer's Guide (Part No. B12161) Oracle Workflow API Reference (Part No. B12163) Oracle Workflow Administrator's Guide (Part No. B12160) Oracle Workflow Performance and Sizing Concepts, Release 2.6.2 http://www.oracle.com/technology/products/ias/workflow/index.html

Kontaktadresse: Thomas Müller von der Bank T-Online International AG T-Online Allee 1 D- 64295 Darmstadt Telefon: +49 (0)6151/680-2525 E-Mail t.mueller_von_der_bank@t-online.net Internet: www.t-online.de Matthias Gries its-people Hochtaunus GmbH Nassauer Str. 60 D-61440 Oberursel Telefon: +49(0)173/2752573 E-Mail matthias.gries@its-people.de Internet: www.its-people.de