High-End Output Management Systeme mit Oracle

Werbung
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
Herunterladen