High-End Output Management Systeme mit Oracle und Java Markus Heinisch Software Architekt markus.heinisch@trivadis.com 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 Daten sind immer im Spiel. Fazit High-End Output Management Systeme mit Oracle und Java 2
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 Informationen müssen personalisiert i werden 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
Output Management System (OMS) Output Management bedeutet das Ausdrucken großer Mengen unterschiedlicher Druckerzeugnisse mit individualisiertem oder personalisiertem Inhalt Erlaubt eine Kombination von Massendruck mit den Prozessen der betrieblichen bli Informatik 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
Hochleistungsdrucker HP Indigo Press W7200 Canon Imagepress C7000vp Xerox 660/1300 Continuous Feed Printer High-End Output Management Systeme mit Oracle und Java 5
Output Management System OMS stellt auf der Ebene der betrieblichen Informationssysteme eine Kommunikationsschicht dar Verbindet alle relevanten Kernapplikationen und Kommunikationskanäle Flexible Zwischenschicht hi ht belässt die betriebswirtschaftliche Logik weiterhin in den Kernsystemen e Änderungen der Kommunikation Keine Anpassung der Kernsysteme Kernapplikationen Output Management System Kommunikations- kanäle High-End Output Management Systeme mit Oracle und Java 6
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 b der eingehenden Daten hängt vom Kontext t ab, 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
Agenda Output Management Architecture Blueprint TOMAS Daten sind immer im Spiel. Fazit High-End Output Management Systeme mit Oracle und Java 8
Trivadis BC Architecture Blueprint Batch und On-Demand Processing Zuverlässig Kein Dokument geht verloren Transaktionssicherheit Erweiterbar ERP Resource Managment Administration Print System Anpassbar CRM Rendering End-To-End-Tracking Rendering E-Mail Standardbasiert Performance Scale-out Host others Operational Systems Input Queuing System Backend Systems Database Output Management System Processing Preprocessing Postprocessing Archiv others Target Systems Output High-End Output Management Systeme mit Oracle und Java 9
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 Notwendig, um die hohen h Anforderungen an Performance und Skalierbarkeit k it erfüllen zu können Preprocessing Table New Set Payload Langzeit -Persistenz Unrendered Unrendered Unrendered Set Document Documents Beliebige Abfragen Rendering Queues Nachricht Dokumentiert Statusübergänge Parallele Verarbeitung Workflow-bezogen Rendered Set Extracted Set Rendered Documents Legende Postprocessing Point-To-Point Queue Table High-End Output Management Systeme mit Oracle und Java 10
Workflow Raw Document Set Daten aus Liefersystemen Pre- und Postprocessing Kundenspezifisch Dokumenttypspezifisch Integration in IT-Systeme Rendering Vorgefertigte Komponente Anpassbar Parallelisierbar Rendered Document Set Druckbare Dokumente (Druckauftrag) High-End Output Management Systeme mit Oracle und Java 11
Delivery Erweiterte Ausprägung g des Postprocessings 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 Druckfehlerlisten li Reprint Output-Unterdrückung High-End Output Management Systeme mit Oracle und Java 12
Agenda Output Management Architecture Blueprint TOMAS Daten sind immer im Spiel. Fazit High-End Output Management Systeme mit Oracle und Java 13
Backend-Systeme Oracle Database (10g & 11g) 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 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
Java Spring 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 Pre- und Postprocessing denkbar Container: OSGi SpringSouce Application Platform High-End Output Management Systeme mit Oracle und Java 15
TOMAS CORE Core Output Rendering Engine 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 Format: PDF Alternativ: XSL-FO Transaktionsgrenzen TX Synchronizer TX Renderer High-End Output Management Systeme mit Oracle und Java 16
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 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 New Set Unrendered Set Rendered Set Extracted Set Unrendered Document Rendered Documents Point-To-Point Queue Legende Table Unrendered Documents Preprocessing Rendering Postprocessing High-End Output Management Systeme mit Oracle und Java 17
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, 1765 sec Messaging Overhead Serialisiert ca. 53 min Wartezeit ca. 30 min Weniger Messages, weniger Overhead Bulking von Messages Message e/sekunde 3500 3000 2500 2000 1500 1000 500 0 3349 3425 1239 2833 Enqueue, shared Queue Enqueue, private Queue Dequeue, shared Queue Dequeue, private Queue High-End Output Management Systeme mit Oracle und Java 18
Multi Document Message Bulking von Messages Statt 1 Message == 1 Dokument Preprocessing DB Writer Engine Unrendered Document Preprocessing 1 Message == N Dokumente Beispiel: i Bulking-Größe Göß von 10 5 min 20 sec, bzw. 3 min Multi Document Message Creator UNRENDERED DOCUMENT DOCUMENTS Core Output Rendering Engine Multi Document Message Splitter DB Reader Renderer DB Writer Rendered Document DOCUMENTS High-End Output Management Systeme mit Oracle und Java 19
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 60,0 page/sec 50,0 40,0 30,0 20,0 10,0 0,0 2 4 8 10 12 14 16 18 20 22 24 Parallelität Test-Hardware Server: 2 Cores, 2 GB Memory, Oracle 11g Clients: 2 * (2*4 Cores, 16 GB Memory) High-End Output Management Systeme mit Oracle und Java 20
Fazit Best practice für High Volume Output Management Systeme Unterstützung für Batch und On-Demand Processing Skalierbar, 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, 16:00-16:45 High-End Output Management Systeme mit Oracle und Java 21
Vielen Dank!? www.trivadis.com Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg München Stuttgart Wien