02.06.2013 Aufrufe

High-End Output Management - Trivadis

High-End Output Management - Trivadis

High-End Output Management - Trivadis

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>High</strong>-<strong>End</strong> <strong>High</strong> <strong>End</strong> <strong>Output</strong> <strong>Management</strong> Systeme<br />

mit Oracle und Java<br />

Markus Heinisch<br />

Software Architekt<br />

markus.heinisch@trivadis.com<br />

DOAG Konferenz, 2008<br />

Basel · Baden · Bern · Lausanne · Zürich · Düsseldorf · Frankfurt/M. · Freiburg i. Br. · Hamburg · München · Stuttgart · Wien


Agenda<br />

Daten sind<br />

immer im Spiel.<br />

<strong>Output</strong> <strong>Management</strong><br />

Architecture Blueprint<br />

TOMAS<br />

Fazit<br />

<strong>High</strong>-<strong>End</strong> <strong>Output</strong> <strong>Management</strong> Systeme mit Oracle und Java 2<br />

© 2008


Business Communication<br />

Business Communication<br />

Informationen aus jedem System und jeder Applikation übernehmen<br />

Auf den Adressaten zugeschnittenen Form durch beliebigen Kanal<br />

weitergeben<br />

Trends im Bereich Business Communication<br />

IInformationen f ti müssen ü personalisiert li i t werden d<br />

Papier wird digital<br />

Transaktionskosten sollen sinken<br />

Vorschriften nehmen zu<br />

Print-Industrie wird zusehends moderner und flexibler<br />

<strong>High</strong>-<strong>End</strong> <strong>Output</strong> <strong>Management</strong> Systeme mit Oracle und Java 3<br />

© 2008


<strong>Output</strong> <strong>Management</strong> System (OMS)<br />

<strong>Output</strong> <strong>Management</strong> bedeutet das Ausdrucken großer<br />

Mengen unterschiedlicher Druckerzeugnisse mit<br />

individualisiertem oder personalisiertem p<br />

Inhalt<br />

Erlaubt eine Kombination von Massendruck mit den<br />

PProzessen der d bbetrieblichen t i bli h IInformatik f tik<br />

Standardisierung der Produktionsprozesse vereinfacht diese<br />

Kombination<br />

Steuert Druckstraßen und Verpackungsstraßen an, um<br />

die erforderlichen Mengen zu verarbeiten<br />

Wichtige Basistechnologie ist der Digitaldruck<br />

<strong>High</strong>-<strong>End</strong> <strong>Output</strong> <strong>Management</strong> Systeme mit Oracle und Java 4<br />

© 2008


Hochleistungsdrucker<br />

Canon Imagepress C7000vp<br />

<strong>High</strong>-<strong>End</strong> <strong>Output</strong> <strong>Management</strong> Systeme mit Oracle und Java 5<br />

HP Indigo Press W7200<br />

Xerox 660/1300<br />

Continuous Feed Printer<br />

© 2008


<strong>Output</strong> <strong>Management</strong> System<br />

OMS stellt auf der Ebene der betrieblichen<br />

Informationssysteme eine Kommunikationsschicht dar<br />

Verbindet alle relevanten Kernapplikationen und<br />

Kommunikationskanäle<br />

Fl Flexible ibl ZZwischenschicht i h hi ht bbelässt lä t<br />

die betriebswirtschaftliche Logik<br />

weiterhin e te in de den Kernsystemen<br />

e syste e<br />

Änderungen der Kommunikation<br />

Keine Anpassung der Kernsysteme<br />

<strong>High</strong>-<strong>End</strong> <strong>Output</strong> <strong>Management</strong> Systeme mit Oracle und Java 6<br />

Kernapplikationen<br />

<strong>Output</strong> <strong>Management</strong><br />

System y<br />

Kommunikationskkanäle<br />

äl<br />

© 2008


Grundlegende Kategorien<br />

Batch Processing OMS<br />

Das OMS-System läuft immer und arbeitet alle angelieferten Daten ab,<br />

respektive erzeugt Produktionsaufträge, die beispielsweise eine Druckstraße<br />

abarbeiten kann<br />

Ab Abarbeitung b it dder eingehenden i h d DDaten t hä hängt t vom KKontext t t ab, b<br />

wie Anlieferungsabfolge, zeit- oder mengengesteuert<br />

On-Demand Processing OMS<br />

Ein Dokument wird auf Anfrage produziert und gleich ausgeliefert<br />

Klassische Beispiel ist der Kontoauszugs-Drucker der Bankfiliale<br />

Interactive Processing OMS<br />

Die Zusammenstellung des Dokuments erfolgt interaktiv. Dies bedeutet, dass<br />

ein Dokument während der Produktion durch das OMS durch den User<br />

zusammengestellt respektive dessen Aufbau abgeändert werden kann. Ein<br />

Beispiel für den Einsatz eines Interactive Processing OMS ist die interaktiv<br />

erzeugte Korrespondenz in einem Kunden Call Center<br />

<strong>High</strong>-<strong>End</strong> <strong>Output</strong> <strong>Management</strong> Systeme mit Oracle und Java 7<br />

© 2008


Agenda<br />

Daten sind<br />

immer im Spiel.<br />

<strong>Output</strong> <strong>Management</strong><br />

Architecture Blueprint<br />

TOMAS<br />

Fazit<br />

<strong>High</strong>-<strong>End</strong> <strong>Output</strong> <strong>Management</strong> Systeme mit Oracle und Java 8<br />

© 2008


<strong>Trivadis</strong> BC Architecture Blueprint<br />

Batch atc und u d OOn-Demand e a d Processing ocess g<br />

Zuverlässig<br />

KKein i DDokument k t geht ht verloren l<br />

Transaktionssicherheit<br />

Erweiterbar<br />

Anpassbar<br />

Standardbasiert<br />

Performance<br />

ERP<br />

CRM<br />

Host<br />

others<br />

Operational<br />

Systems<br />

Preprocessing<br />

Resource<br />

Managment<br />

<strong>End</strong>-To-<strong>End</strong>-Tracking<br />

SScale-out l t<br />

Processing<br />

<strong>High</strong>-<strong>End</strong> <strong>Output</strong> <strong>Management</strong> Systeme mit Oracle und Java 9<br />

Backend Systems<br />

<strong>Output</strong> <strong>Management</strong> System<br />

Administration<br />

Print<br />

System<br />

E-Mail<br />

Rendering<br />

Rendering<br />

Archiv<br />

Postprocessing<br />

Queuing<br />

System Database<br />

others<br />

© 2008<br />

Target<br />

Systems<br />

Input <strong>Output</strong>


Pipes&Filters<br />

Architektur ist nach dem Pipes&Filters-Prinzip aufgebaut<br />

Kommunikation via Messages-Queues<br />

Problemlose Verteilung der Teilprozesse auf einzelne Maschinen<br />

Teilprozesse in sich parallelisiert und können leicht verteilt werden<br />

NNotwendig, t di um di die hhohen h AAnforderungen f d an PPerformance f und d Sk Skalierbarkeit li b k it<br />

erfüllen zu können<br />

Preprocessing<br />

Table<br />

Payload<br />

New Set<br />

<br />

<br />

„Langzeit“-Persistenz<br />

Beliebige Abfragen<br />

Unrendered Set<br />

Unrendered<br />

Document<br />

Unrendered<br />

Documents<br />

Rendering<br />

Queues<br />

Nachricht<br />

Dokumentiert Statusübergänge<br />

Parallele Verarbeitung<br />

Workflow-bezogen<br />

<strong>High</strong>-<strong>End</strong> <strong>Output</strong> <strong>Management</strong> Systeme mit Oracle und Java 10<br />

Rendered Set<br />

Extracted Set<br />

Rendered<br />

Documents<br />

Point-To-Point<br />

Queue<br />

Legende<br />

Table<br />

© 2008<br />

Postprocessing


Workflow<br />

Raw Document Set<br />

Daten aus Liefersystemen<br />

Pre- und Postprocessing p g<br />

Kundenspezifisch<br />

Dokumenttypspezifisch<br />

Integration in IT-Systeme<br />

IT Systeme<br />

Rendering<br />

Vorgefertigte Komponente<br />

Anpassbar<br />

Parallelisierbar<br />

Rendered Document Set<br />

Druckbare Dokumente<br />

(Druckauftrag)<br />

<strong>High</strong>-<strong>End</strong> <strong>Output</strong> <strong>Management</strong> Systeme mit Oracle und Java 11<br />

© 2008


Delivery<br />

Erweiterte Ausprägung p g g des Postprocessings<br />

p g<br />

Preprocessing und Rendering sind automatisierte Prozesse<br />

Aufgaben des Deliverys werden manuell gesteuert und überwacht<br />

Typische Aufgaben<br />

Druckauftrag erstellen<br />

Ansteuerung Printsystem<br />

Aufgeschobener Druck<br />

Beilagendefinition<br />

Versandoptimierung<br />

Tracing-Markierungen<br />

DDruckfehlerlisten kf hl li t<br />

Reprint<br />

<strong>Output</strong>-Unterdrückung<br />

p g<br />

<strong>High</strong>-<strong>End</strong> <strong>Output</strong> <strong>Management</strong> Systeme mit Oracle und Java 12<br />

© 2008


Agenda<br />

Daten sind<br />

immer im Spiel.<br />

<strong>Output</strong> <strong>Management</strong><br />

Architecture Blueprint<br />

TOMAS<br />

Fazit<br />

<strong>High</strong>-<strong>End</strong> <strong>Output</strong> <strong>Management</strong> Systeme mit Oracle und Java 13<br />

© 2008


Backend-Systeme<br />

Backend Systeme<br />

Oracle Database (10g ( g & 11g) g)<br />

Oracle Advanced Queueing<br />

RDBMS und Queueing System können über die gleiche<br />

Datenbank-Connection angesprochen werden<br />

RDBMS + Queueing System in gemeinsamer Transaktion<br />

Keine verteilte Transaktionen notwendig<br />

Verwendung der Advanced Queueing API, JMS API reicht nicht<br />

Vorsicht:<br />

Lokale Transaktionen können nicht über mehrere Threads verteilt werden<br />

Asynchrone Verarbeitung bedeutet eigener Thread für die Bearbeitung der<br />

Message<br />

<strong>High</strong>-<strong>End</strong> <strong>Output</strong> <strong>Management</strong> Systeme mit Oracle und Java 14<br />

© 2008


Java<br />

Spring p g Framework 2.5<br />

Spring Core mit dem IOC Container<br />

Spring AOP<br />

Spring DAO mit Spring JDBC und Transaktionsmanagement<br />

JEE mit JMX, JMS und E-Mail<br />

Performance Aspekt<br />

Springs Klasse JMSTemplate nicht performant in diesem Umfeld<br />

JDBC: Kein signifikantes Domain Modell kein O/R Framework<br />

Gilt fürs Rendering<br />

Pre Pre- und Postprocessing denkbar<br />

Container: OSGi<br />

SpringSouce Application Platform<br />

<strong>High</strong>-<strong>End</strong> <strong>Output</strong> <strong>Management</strong> Systeme mit Oracle und Java 15<br />

© 2008


TOMAS CORE<br />

Core <strong>Output</strong> p Rendering g Engine g<br />

XML, XSL-FO und Java JAXP<br />

Ressourcen wie Templates und<br />

Bilder liegen bereit<br />

(Resouce <strong>Management</strong>)<br />

Third Party Renderer<br />

XEP von RenderX, Inc.<br />

Apache FOP<br />

Bevorzugtes g Format: PDF<br />

Alternativ: XSL-FO<br />

Transaktionsgrenzen<br />

<strong>High</strong>-<strong>End</strong> <strong>Output</strong> <strong>Management</strong> Systeme mit Oracle und Java 16<br />

TX Synchronizer TX Renderer<br />

© 2008


Setup Messungen<br />

Ziel:<br />

Wieviel Overhead erzeugt das Messaging System?<br />

Wo liegt die obere Verarbeitungsgrenze?<br />

Lasttests der Queue „Unrendered Document“<br />

5 Mio Dokumente<br />

Payload 100 Byte<br />

5 Mio Enqueues, 5 Mio Dequeues<br />

Database Server<br />

IBM PowerPC_POWER5<br />

4 Dual-Core CPU at 1.5 GHz<br />

27 GB RAM<br />

AIX 5.3 64-bit<br />

Oracle RDBMS 10.2.0.3<br />

<strong>High</strong>-<strong>End</strong> <strong>Output</strong> <strong>Management</strong> Systeme mit Oracle und Java 17<br />

New Set<br />

Unrendered Set<br />

Rendered Set<br />

Extracted Set<br />

Unrendered<br />

Document<br />

Rendered<br />

Documents<br />

Point-To-Point<br />

Queue<br />

Legende<br />

Table<br />

Unrendered<br />

Documents<br />

© 2008<br />

Preprocessing<br />

Rendering<br />

Postprocessing


Messergenisse<br />

5 Mio Enqueues<br />

Shared Queue, 3349 Mgs/sec, 1493 sec<br />

Private Queue, 3425 Mgs/sec, 1460 sec<br />

5 Mio Dequeues<br />

Shared Queue,1239 Mgs/sec, 4035 sec<br />

Private Queue, , 2833 Mgs/sec, g , 1765 sec<br />

Messaging Overhead<br />

Serialisiert ca. 53 min<br />

Wartezeit ca. 30 min<br />

Weniger g Messages, g ,<br />

weniger Overhead<br />

Bulking g von Messages g<br />

Messagee/Sekunde<br />

3500<br />

3000<br />

2500<br />

2000<br />

1500<br />

1000<br />

<strong>High</strong>-<strong>End</strong> <strong>Output</strong> <strong>Management</strong> Systeme mit Oracle und Java 18<br />

500<br />

0<br />

3349 3425<br />

1239<br />

2833<br />

© 2008<br />

Enqueue, shared Queue<br />

Enqueue, private Queue<br />

Dequeue Dequeue, shared Queue<br />

Dequeue, private Queue


Multi Document Message<br />

Bulking von Messages<br />

Statt<br />

1 Message == 1 Dokument<br />

1 Message == N Dokumente<br />

BBeispiel: i i l BBulking-Größe lki Göß von 10<br />

5 min 20 sec, bzw. 3 min<br />

Preprocessing<br />

Engine<br />

<strong>High</strong>-<strong>End</strong> <strong>Output</strong> <strong>Management</strong> Systeme mit Oracle und Java 19<br />

DB Writer<br />

Multi Document<br />

Message Creator<br />

UNRENDERED<br />

DOCUMENT<br />

Multi Document<br />

Message Splitter<br />

Unrendered<br />

DDocument t<br />

DOCUMENTS<br />

DB Reader<br />

Renderer<br />

© 2008<br />

Preprocessing<br />

Core <strong>Output</strong><br />

Rendering<br />

Engine<br />

DB Writer<br />

Rendered<br />

Document<br />

DOCUMENTS


TOMAS Performance Ziel<br />

Benchmark mindestens 70 Seiten pro Sekunde<br />

Aktuelle Drucker erreichen ca. 70 Seiten/sec, DIN A4, SW, Duplex<br />

Drucker kontinuierlich unter Last setzen<br />

page/sec<br />

90,0<br />

80,0<br />

70,0<br />

60,0 ,<br />

50,0<br />

40,0<br />

30,0<br />

20,0<br />

10,0<br />

0,0<br />

2 4 8 10 12 14 16 18 20 22 24<br />

Parallelität<br />

Test-Hardware<br />

Server: 2 Cores, 2 GB Memory, Oracle 11g<br />

Cli Clients: t 2 * (2*4 CCores, 16 GB M Memory)<br />

)<br />

<strong>High</strong>-<strong>End</strong> <strong>Output</strong> <strong>Management</strong> Systeme mit Oracle und Java 20<br />

© 2008


Fazit<br />

„Best practice“ p für <strong>High</strong> g Volume <strong>Output</strong> p <strong>Management</strong> g Systeme y<br />

Unterstützung für Batch und On-Demand Processing<br />

Skalierbar Skalierbar, zuverlässig zuverlässig, standardbasiert<br />

Einfache Integration in die IT Systemlandschaft des Kunden<br />

Gemessene Performance von ca. 80 Seiten/sec.<br />

Weitere Informationen<br />

Buch „Business Communication Architecture Blueprint“,<br />

Liebhart, Schmutz, Lattmann, Heinisch, Könings, Kölliker, Pakull, Welkenbach,<br />

Hanser Verlag, ISBN-10: 3-446-41703-6<br />

Vortrag „AQ Design für beste Performance“ Philipp Salvisberg<br />

Raum St. Petersburg, g<br />

16:00-16:45<br />

<strong>High</strong>-<strong>End</strong> <strong>Output</strong> <strong>Management</strong> Systeme mit Oracle und Java 21<br />

© 2008


Vielen Dank!<br />

?<br />

www.trivadis.com<br />

Basel · Baden · Bern · Lausanne · Zürich · Düsseldorf · Frankfurt/M. · Freiburg i. Br. · Hamburg · München · Stuttgart · Wien

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!