High-End High End Output Management Systeme mit Oracle und Java Markus Heinisch Software Architekt [email protected] DOAG Konferenz, 2008 Basel · Baden · Bern · Lausanne · Zürich · Düsseldorf · Frankfurt/M. · Freiburg i. Br. · Hamburg · München · Stuttgart · Wien Agenda Output Management Architecture Blueprint TOMAS Fazit Daten sind immer im Spiel. High-End Output Management Systeme mit Oracle und Java 2 © 2008 Business Communication Business Communication à Informationen aus jedem System und jeder Applikation übernehmen à Auf den Adressaten zugeschnittenen Form durch beliebigen Kanal weitergeben Trends im Bereich Business Communication à à à à à IInformationen f ti müssen ü personalisiert li i t werden d Papier wird digital Transaktionskosten sollen sinken Vorschriften nehmen zu Print-Industrie wird zusehends moderner und flexibler High-End Output Management Systeme mit Oracle und Java 3 © 2008 Output Management System (OMS) Output Management bedeutet das Ausdrucken großer Mengen unterschiedlicher Druckerzeugnisse mit individualisiertem oder p personalisiertem Inhalt Erlaubt eine Kombination von Massendruck mit den P Prozessen der d b betrieblichen t i bli h IInformatik f tik à Standardisierung der Produktionsprozesse vereinfacht diese Kombination Steuert Druckstraßen und Verpackungsstraßen an, um die erforderlichen Mengen zu verarbeiten à Wichtige Basistechnologie ist der Digitaldruck High-End Output Management Systeme mit Oracle und Java 4 © 2008 Hochleistungsdrucker HP Indigo Press W7200 Canon Imagepress C7000vp Xerox 660/1300 Continuous Feed Printer High-End Output Management Systeme mit Oracle und Java 5 © 2008 Output Management System OMS stellt auf der Ebene der betrieblichen Informationssysteme eine Kommunikationsschicht dar Verbindet alle relevanten Kernapplikationen und Kommunikationskanäle Fl Flexible ibl Z Zwischenschicht i h hi ht b belässt lä t die betriebswirtschaftliche Logik weiterhin e te in de den Kernsystemen e syste e Kernapplikationen Änderungen der Kommunikation Î Keine Anpassung der Kernsysteme Output Management System y Kommunikationsk äl kanäle High-End Output Management Systeme mit Oracle und Java 6 © 2008 Grundlegende Kategorien Batch Processing OMS à Das OMS-System läuft immer und arbeitet alle angelieferten Daten ab, respektive erzeugt Produktionsaufträge, die beispielsweise eine Druckstraße abarbeiten kann à Abarbeitung Ab b it d der eingehenden i h d D Daten t hä hängtt vom K Kontext t t ab, b wie Anlieferungsabfolge, zeit- oder mengengesteuert On-Demand Processing OMS à Ein Dokument wird auf Anfrage produziert und gleich ausgeliefert à Klassische Beispiel ist der Kontoauszugs-Drucker der Bankfiliale Interactive Processing OMS à Die Zusammenstellung des Dokuments erfolgt interaktiv. Dies bedeutet, dass ein Dokument während der Produktion durch das OMS durch den User zusammengestellt respektive dessen Aufbau abgeändert werden kann. Ein Beispiel für den Einsatz eines Interactive Processing OMS ist die interaktiv erzeugte Korrespondenz in einem Kunden Call Center High-End Output Management Systeme mit Oracle und Java 7 © 2008 Agenda Output Management Architecture Blueprint TOMAS Fazit Daten sind immer im Spiel. High-End Output Management Systeme mit Oracle und Java 8 © 2008 Trivadis BC Architecture Blueprint Batch atc und u dO On-Demand e a d Processing ocess g Zuverlässig à Kein K i D Dokument k t geht ht verloren l à Transaktionssicherheit Erweiterbar ERP Resource Managment Print System Administration End-To-End-Tracking Anpassbar E-Mail CRM Rendering Rendering Host Standardbasiert Archiv Preprocessing Queuing System others Performance à Scale-out S l t High-End Output Management Systeme mit Oracle und Java Postprocessing Database others Backend Systems Operational Systems Input 9 Output Management System Target Systems Processing Output © 2008 Pipes&Filters Architektur ist nach dem Pipes&Filters-Prinzip aufgebaut à à à à Kommunikation via Messages-Queues Problemlose Verteilung der Teilprozesse auf einzelne Maschinen Teilprozesse in sich parallelisiert und können leicht verteilt werden N t Notwendig, di um di die h hohen h A Anforderungen f d an P Performance f und d Sk Skalierbarkeit li b k it erfüllen zu können Preprocessing Table à Payload à „Langzeit“-Persistenz à Beliebige Abfragen Queues à à à à Nachricht Dokumentiert Statusübergänge Parallele Verarbeitung Workflow-bezogen New Set Unrendered Set Rendered Set Unrendered Document Rendered Documents Legende 10 Rendering Postprocessing Extracted Set Point-To-Point Queue High-End Output Management Systeme mit Oracle und Java Unrendered Documents Table © 2008 Workflow Raw Document Set à Daten aus Liefersystemen Pre- und Postprocessing p g à Kundenspezifisch à Dokumenttypspezifisch à Integration in IT-Systeme IT Systeme Rendering à Vorgefertigte Komponente à Anpassbar à Parallelisierbar Rendered Document Set à Druckbare Dokumente (Druckauftrag) High-End Output Management Systeme mit Oracle und Java 11 © 2008 Delivery Erweiterte Ausprägung p g g des Postprocessings p g à Preprocessing und Rendering sind automatisierte Prozesse à Aufgaben des Deliverys werden manuell gesteuert und überwacht Typische Aufgaben à à à à à à à à à Druckauftrag erstellen Ansteuerung Printsystem Aufgeschobener Druck Beilagendefinition Versandoptimierung Tracing-Markierungen D kf hl li t Druckfehlerlisten Reprint Output-Unterdrückung p g High-End Output Management Systeme mit Oracle und Java 12 © 2008 Agenda Output Management Architecture Blueprint TOMAS Fazit Daten sind immer im Spiel. High-End Output Management Systeme mit Oracle und Java 13 © 2008 Backend Systeme Backend-Systeme Oracle Database ((10g g & 11g) g) Oracle Advanced Queueing RDBMS und Queueing System können über die gleiche Datenbank-Connection angesprochen werden ÎRDBMS + Queueing System in gemeinsamer Transaktion à Keine verteilte Transaktionen notwendig g à Verwendung der Advanced Queueing API, JMS API reicht nicht Vorsicht: à Lokale Transaktionen können nicht über mehrere Threads verteilt werden à Asynchrone Verarbeitung bedeutet eigener Thread für die Bearbeitung der Message High-End Output Management Systeme mit Oracle und Java 14 © 2008 Java Spring p g Framework 2.5 à à à à Spring Core mit dem IOC Container Spring AOP Spring DAO mit Spring JDBC und Transaktionsmanagement JEE mit JMX, JMS und E-Mail Performance Aspekt à Springs Klasse JMSTemplate nicht performant in diesem Umfeld JDBC: Kein signifikantes Domain Modell Î kein O/R Framework à Gilt fürs Rendering à PrePre und Postprocessing denkbar Container: OSGi à SpringSouce Application Platform High-End Output Management Systeme mit Oracle und Java 15 © 2008 TOMAS CORE Core Output p Rendering g Engine g XML, XSL-FO und Java JAXP à Ressourcen wie Templates und Bilder liegen bereit (Resouce Management) Third Party Renderer à XEP von RenderX, Inc. à Apache FOP Bevorzugtes g Format: PDF à Alternativ: XSL-FO Transaktionsgrenzen TX Synchronizer High-End Output Management Systeme mit Oracle und Java 16 TX Renderer © 2008 Setup Messungen Ziel: à Wieviel Overhead erzeugt das Messaging System? à Wo liegt die obere Verarbeitungsgrenze? Î Lasttests der Queue „Unrendered Document“ 5 Mio Dokumente à Payload 100 Byte à 5 Mio Enqueues, 5 Mio Dequeues Preprocessing New Set Unrendered Set Unrendered Document Unrendered Documents Database Server à à à à à IBM PowerPC_POWER5 4 Dual-Core CPU at 1.5 GHz 27 GB RAM AIX 5.3 64-bit Oracle RDBMS 10.2.0.3 Rendered Set Rendered Documents High-End Output Management Systeme mit Oracle und Java Postprocessing Extracted Set Legende Point-To-Point Queue 17 Rendering Table © 2008 Messergenisse 5 Mio Enqueues à Shared Queue, 3349 Mgs/sec, 1493 sec à Private Queue, 3425 Mgs/sec, 1460 sec 5 Mio Dequeues à Shared Queue,1239 Mgs/sec, 4035 sec à Private Queue,, 2833 Mgs/sec, g , 1765 sec Messaging Overhead Weniger g Messages, g , weniger Overhead g von Messages g Î Bulking 3349 3425 3500 Message e/Sekunde à Serialisiert ca. 53 min à Wartezeit ca. 30 min 2833 3000 2500 Enqueue, shared Queue 2000 Enqueue, private Queue 1239 1500 Dequeue shared Queue Dequeue, Dequeue, private Queue 1000 500 0 High-End Output Management Systeme mit Oracle und Java 18 © 2008 Multi Document Message Bulking von Messages Statt 1 Message == 1 Dokument Preprocessing Preprocessing Engine 1 Message == N Dokumente DB Writer Unrendered D Document t Multi Document Message Creator Beispiel: B i i l B Bulking-Größe lki G öß von 10 Core Output Rendering Engine à Î 5 min 20 sec, bzw. 3 min UNRENDERED DOCUMENTS DOCUMENT Multi Document DB Reader Message Splitter Renderer DB Writer Rendered Document DOCUMENTS High-End Output Management Systeme mit Oracle und Java 19 © 2008 TOMAS Performance Ziel Benchmark mindestens 70 Seiten pro Sekunde à Aktuelle Drucker erreichen ca. 70 Seiten/sec, DIN A4, SW, Duplex à Drucker kontinuierlich unter Last setzen 90,0 80,0 70,0 pag e/s ec 60,0 , 50,0 40,0 30,0 20,0 10,0 0,0 2 4 8 10 12 14 16 18 20 22 24 P a ra lle litä t Test-Hardware à Server: 2 Cores, 2 GB Memory, Oracle 11g à Clients: Cli t 2 * (2*4 C Cores, 16 GB M Memory)) High-End Output Management Systeme mit Oracle und Java 20 © 2008 Fazit „Best p practice“ für High g Volume Output p Management g Systeme y à Unterstützung für Batch und On-Demand Processing Skalierbar, Skalierbar zuverlässig zuverlässig, standardbasiert Einfache Integration in die IT Systemlandschaft des Kunden Gemessene Performance von ca. 80 Seiten/sec. Weitere Informationen à Buch „Business Communication Architecture Blueprint“, Liebhart, Schmutz, Lattmann, Heinisch, Könings, Kölliker, Pakull, Welkenbach, Hanser Verlag, ISBN-10: 3-446-41703-6 à Vortrag „AQ Design für beste Performance“ Philipp Salvisberg Raum St. Petersburg, g 16:00-16:45 High-End Output Management Systeme mit Oracle und Java 21 © 2008 Vielen Dank! ? www.trivadis.com Basel · Baden · Bern · Lausanne · Zürich · Düsseldorf · Frankfurt/M. · Freiburg i. Br. · Hamburg · München · Stuttgart · Wien