XML2PDF

Vorgeschichte

Im August 2003 wurde ich Zeuge einer Unterhaltung über die beste Methode, 10 Millionen Seiten  (verteilt in 2 Mio Umschläge; ca 60 verschiedene Formulare) in PDF zu erzeugen. Klar, 2 Mio kleine PDF Files- Indices usw., aber wie und wo soll der Prozess des Produzierens ablaufen? 

Ich habe also eine Suche gestartet nach etwas, das nahe an den Daten (wohnhaft auf einem Mainframe) PDF-Dateien erzeugen kann.

Ein derartiges Werkzeug (Erstellen von PDF mit z.T. graphischem Inhalt) für den Mainframe gibt es nicht. Mir schwebte ein Mischvorgang von Rohdaten mit Formulardaten vor. Dieses Mischen war ebenfalls nicht zu finden. Es macht meines Erachtens keinen Sinn, 10 Millionen mal ein Formular neu zu entwerfen, statt diesen Entwurfsvorgang nur einmal durchzuführen und dann immer wieder zu benutzen (Formulardruck).  Auch ein Druck auf AFP-Druckern trennt den Vorgang des Formularentwurfs vom Füllen. Das Gleiche gilt für SINIX oder XEROX Drucksteuerungen.

Ich habe also mein eigenes PDF-Erzeugungs-Programm entwickelt.

Umsetzung

XML2PDF wurde in HLASM geschrieben. Es erwartet die Eingabe in einer Satzstruktur. Obwohl die erste Version auf dem PC lief, wurde zwischenzeitlich sowohl ein MVS als auch eine VSE Version entwickelt. Es war weiter nichts als ein Rewrite der I/O Routinen nötig. Alle Routinen (ausser der Ein-/Ausgabe-Treiber) existieren als eine einzelne Version für alle drei Plattformen (MVS/VSE und PC). Der Unterschied ist so gering, daß man Mühe hat, ihn auf den ersten Blick wahrzunehmen.
Die Satzstruktur der Rohdaten benutzt alle Möglichkeiten der jeweiligen Plattform (z.B. VSE von SYSIPT, von LIST-Q oder von REXX).

Die Ausgabe (PDF) wird abgespeichert, so daß (bei MF) die Daten leicht auf eine Plattform, die ADOBE ACROBAT READER unterstützt, übertragen werden können. Für weitere Einzelheiten über die möglichen Wege für VSE oder MVS verweise ich auf die jeweilige Dokumentation und die  README-Dateien. Diese Ausgabe muss (so steht es in den Spezifikationen) CR oder CR/LF berücksichtigen. Es macht also keinen Sinn, diese Daten auf dem Mainframe anzuschauen.


Wie funktioniert es?

Es werden sogenannte Rohdaten mit Formulardaten gemischt. Die Rohdaten enthalten variable Daten und die Namen der Formulare, auf die gedruckt werden soll. Das Format is angelehnt an das XML-Format, hält sich aber nicht sklavisch daran.
Die Ausgabedatei (PDF-Format) kann mit jeder Software, die PDFs interpretieren kann, angeschaut werden.


Wie schnell ist es? 

Dies ist der Dreh- und Angelpunkt aller Bemühungen gewesen (10 Millionen Seiten in 2 Millionen Gruppen (Umschläge). Messungen auf einer ca 120 MipS starken Maschine unter z/OS zeigen Zahlen weit über 600 Seiten pro Sekunde. Der begrenzende Faktor scheint die Geschwindigkeit, mit der die PDFs weiterverarbeitet werden, zu sein.
Die Zeiten, die auf dem PC erzielt werden, sind ebenfalls vielversprechend. Auf einem 133 Mhz PC 100 wurden 100 Seiten in 9 Sekunden geschafft. Der Faktor, der die Geschwindigkeit bestimmt, ist die Grösse der Rohformulare (in/out für jede Seite) und natürlich CPU-Geschwindigkeit.
Die Anzahl der Felder hingegen hat fast keine Einfluß (Laufzeiterhöhung um 5 Prozent bei Änderung von 3 auf 25 Felder).

Kann man XML2PDF ausprobieren?

Für eine Demo-Version auf PC oder Mainframe eines der Icons oben auf dieser Seite anklicken. Es macht keinen Unterschied, auf welcher Plattform Sie anfangen, das Produkt zu nutzen. Es funktioniert absolut identisch.
Es ist "ready to use" ohne irgendwelche Blockiersteine (ausser 4 kleinen Graphiken mit dem Wort "DEMO” auf jeder Seite).
Sie erhalten ausserdem Beispielrohdaten, die Formulardateien und die sich ergebenden PDF-Dateien.
 
Bei der Erstentscheidung, welche Version (PC oder MF), sollten Sie berücksichtigen, daß für eine MF-Version irgendeine Methode, um die Daten von und zum PC zu transportieren, funktionieren muss.
Es ist völlig egal, ob dies nun FTP oder die 3270-EMU oder irgend ein anderes Werkzeug ist. Es sind aber mehr Puzzleteile nötig, damit es funktioniert.



Wenn das alles zu viel Arbeit ist....

Hier ist ein Beispiel. Ich habe meine Rechnungen auf Massendruck umgestellt. (Ja, overkill-- es geht um die Funktion und) Es zeigt die Möglichkeiten von XML2PDF.

Für mehr Info: E-mail an mich-