Output-Management mit XML/XSLT

08.02.2007
Von Patrik Büschi 
Branchen wie Banken und Versicherungen haben in Bezug auf die Dokumentenverwaltung und -verteilung eine besondere Sorgfaltspflicht. Eine Lösung dafür bietet die Dokumentenerstellung via XML/XSLT.
Neben dem Standardprozess gibt es eine Reihe optionaler Zusatzschritte im Output-Management. Entscheidend ist, dass im Rahmen der zentralen Datenhaltung und -steuerung die Nachvollziehbarkeit eines jeden Schritts sowie eine Unveränderbarkeit der erstellten Dokumente gewährleistet sind.
Neben dem Standardprozess gibt es eine Reihe optionaler Zusatzschritte im Output-Management. Entscheidend ist, dass im Rahmen der zentralen Datenhaltung und -steuerung die Nachvollziehbarkeit eines jeden Schritts sowie eine Unveränderbarkeit der erstellten Dokumente gewährleistet sind.

Mittlerweile ist es in vielen Branchen unerlässlich, dass Unternehmen die vollständige Kontrolle über ihre gesamten Dokumente sicherstellen können. Dazu ist jedoch ein professionelles Output-Management notwendig. Nur so kann man gewährleisten, dass Texte, Bilder und sonstige Daten in der jeweils zur Firmenpolitik konformen Art und Weise genutzt werden. Dabei sind die Anforderungen je nach Geschäftsfeld unterschiedlich hoch: Vielfach müssen die Daten von der Input-Seite her der Corporate Identity (CI) und dem Corporate Design (CD) des Unternehmens entsprechen sowie die vom Marketing definierten Kernbotschaften enthalten. Hinzu kommt in einigen Bereichen, dass sie rechtlich unantastbar aufbereitet sein müssen und den jeweils gängigen Richtlinien genügen - beispielsweise Basel II und SOX (Sarbanes-Oxley Act) für den Bankensektor.

Der Formatierungsprozess

Die Rohdaten (zum Beispiel Rechnungsdaten) in XML sowie das XSLT-Template liegen vor (XSLT = Sprache zur Beschreibung des Dokumenten-Templates).

Es folgt die Transformation und die Zusammenführung der Rohdaten und des Templates in ein XSL-FO (Formatting Object). Damit existiert eine umfassende Beschreibung des Dokuments.

Anschließend geht das XSL-FO in den Rendering-Prozess zur Erzeugung des Zielformats. Der Renderer beziehungsweise Formatter fügt zum Beispiel Seiteninformationen (Paginating) hinzu und verteilt den Inhalt entsprechend den Regeln im XSL-FO auf die Seiten.

Schließlich wird das Zielformat erzeugt, zum Beispiel PDF, PCL, Postscript oder AFP.

XSL Transformations

XSLT steht für XSL Transformations und ist Teil der Extensible Stylesheet Language (XSL). Bei XSLT handelt es sich um eine Programmiersprache zur Transformation von XML-Dokumenten. Sie baut auf der logischen Baumstruktur eines XML-Dokuments auf und erlaubt die Definition von Umwandlungsregeln. XSLT-Programme, so genannte XSLT-Stylesheets, sind dabei ebenfalls nach den Regeln des XML-Standards aufgebaut (Namespace für XSLT). Spezielle XSLT-Prozessoren lesen XSLT-Stylesheets ein und transformieren ein oder mehrere XML-Dokumente nach den Stylesheet-Regeln in das gewünschte Ausgabeformat.

Eine Transformation besteht aus einer Reihe von einzelnen Transformationsregeln, die Templates genannt werden. Ein Template besitzt ein auf XPath basierendes Pattern, das beschreibt, für welche Knoten es gilt, und einen Inhalt, der bestimmt, wie das Template seinen Teil des Zielbaums erzeugt.

In einem XSLT-Dokument kommen also an Sprachen und XML-basierenden Techniken mindestens vor:

• XML als Basis für XSLT;

• XSLT selbst;

• XPath/XSLT-Patterns;

• die Sprache(n) des Quelldokuments (XML-basierend);

• die Sprache(n) des Zieldokuments (häufig XML-basierend);

• XML Namespaces zur Unterscheidung der einzelnen verwendeten Sprachen;

• "XML-Schema"-Datentypen und XHTML ab XSLT 2.0 (Wikipedia)

Zentrale Aufbewahrung

Auch das Thema Nachvollziehbarkeit ist in vielen Branchen von großer Bedeutung, insbesondere beim Management von Vertragsdokumenten: Hier müssen die verschiedenen Schritte in der Herausgabe der Dokumente an die Kunden jederzeit zweifelsfrei überprüft werden können. Nicht zuletzt gibt es ein vitales Interesse daran, wichtige Dokumente zeitnah produzieren und liefern zu können.

Um diesen Ansprüchen zu genügen, sollten Unternehmen ihr Dokumenten- und Output-Management zentral aufbauen und steuern. Nur so ist sichergestellt, dass Texte, Textbausteine und Layouts - sprich Daten - nicht abgeändert sowie schnell und einfach verwaltet und überarbeitet werden können. Das Prinzip dabei ist, dass alle Texte und Daten in einem zentral gehaltenen Container oder Repository abgespeichert werden - als Basis für alle zu generierenden Dokumente. Diese werden dann über XML- beziehungsweise XSLT-Technik mit einem Applikations-Server "gerendert", das heißt letztendlich produziert. Einmal erstellt, kann das konforme Dokument nicht mehr modifiziert werden. Seine lokale Speicherung mit den bekannten negativen Folgen in Bezug auf die Nachvollziehbarkeit und Unabänderlichkeit hat so ein Ende. Das System protokolliert das Rendering aller Dokumente, was zur Folge hat, dass sich zum Beispiel intern überprüfen lässt, welche Vertragsversion ein bestimmter Mitarbeiter an einen bestimmten Kunden geschickt hat. Zudem lassen sich alle Dokumente zentral nach definierten Richtlinien archivieren.

Lineare Skalierbarkeit

Auch die massenhafte Verarbeitung von Dokumenten ist mit XML/XSLT ohne weiteres möglich. Durch die lineare Skalierbarkeit der Applikations-Server-Infrastruktur bietet diese Technik mittlerweile ähnlich hohe Verarbeitungszahlen wie bei den etablierten proprietären Systemen. Gleichzeitig profitieren die Unternehmen aber vor allem beim Betrieb und Unterhalt von den Vorzügen einer bekannten Technik, denn XML und XSLT gehören heute zum Standard-Know-how unter Softwareentwicklern und Informatikmitarbeitern. Langwierige und teure Schulungen beziehungsweise Zertifizierungen erübrigen sich deshalb häufig.

Aufgaben des App-Servers

Der Produktionszyklus für Geschäftsdokumente durchläuft verschiedene Stadien - vom Entwurf einer Dokumentenvorlage bis zur Erstellung und Verteilung. Sind die Vorlagen einmal mit XSLT entworfen, verarbeitet der Applikations-Server die Applikationsdaten und Dokumentenvorlagen und publiziert die fertigen Geschäftsunterlagen auch in großer Zahl. Für die Dokumentenproduktion stellt ein Applikations-Server somit das Herzstück der Lösung dar. Diese Server-Komponente steuert und kontrolliert den gesamten Prozess, der sich in fünf Phasen gliedern lässt:

• Datenübermittlung,

• Datenakquisition und Konversion,

• Aufbereitung (Pre-Formatting),

• Formatierung im Ausgabeformat sowie

• Nachbearbeitung, Publikation und Distribution (Post-Processing).

Die Phase der Datenübermittlung enthält alle Services und Schnittstellen zur Integration beliebiger IT-Applikationen. In der Datenakquisitionsphase übernimmt der Applikations-Server die verschiedenen Input-Daten und konvertiert diese zu XML, sofern sie noch nicht in diesem Format vorliegen. Auf diese Weise können die Formate unterschiedlicher Datenquellen etwa aus relationalen Datenbanken, Flat-Files (zum Beispiel Tabellen im TXT-Format), aus der SAP-Welt und vielen anderen verarbeitet werden.

In der Phase der Dokumentenaufbereitung (Pre-Formatting) bearbeitet der Applikations-Server die Definitionen der Vorlagen zusammen mit den Input-Daten, so dass sie in der folgenden Formatierungsphase im gewünschten Output-Format ausgegeben werden können. In der Aufbereitungsphase erzeugt der Rendering-Service für jedes verarbeitete Dokument ein XSL-FO (XSL Formatting Objects), welches in der Formatierungsphase in PDF oder Postscript umgewandelt wird. Andere Ausgabeformate wie Advanced Function Presentation (AFP) oder Printer Command Language (PCL) sind ebenfalls möglich.

Post-Processing

Während der Publikations- und Verteilungsphase schickt der Applikations-Server die fertig formatierten Dokumente entweder an einen Digitaldrucker oder versendet sie per E-Mail. Der Applikations-Server kann die Dokumente auch einem Archiv oder dem Post-Processing übergeben. Hier lassen sich die Daten zur Zusammenführung und Porto-Optimierung für den Druckdienstleister hinterlegen.

Die zunehmende Verwendung von XML als Datenaustauschformat bietet Unternehmen außerdem eine Möglichkeit für den Brückenschlag hin zu einer Service-orientierten Architektur (SOA). Die Dokumentenerstellung steht dann als Service allen Applikationen im Unternehmen zur Verfügung und kann auch mittels Service angesprochen werden. (ue)