Einzelnen Beitrag anzeigen

delora

Registriert seit: 7. Jul 2016
7 Beiträge
 
#1

Wie erzeugt man heutzutage (Massen)Druckoutput?

  Alt 7. Jul 2016, 13:11
Hallo zusammen,

ich arbeite als Entwickler in einem international tätigen Unternehmen, welches als Dienstleister in der Energiebranche auftritt.
Unsere Software erzeugt Druckoutput in verschiedenen Formaten, welche zum Teil der Archivierung dienen (PDF) aber auch direkt an den Kunden gehen (PCL -> Papier).
Unsere Datenbasis wird in einer Oracle-Datenbank verwaltet.

Das von uns selbst entwickelte Drucksystem ist mittlerweile in die Jahre gekommen.
Wir verwalten unterschiedliche Formulare in inhaltlich und layoutmässig unterschiedlichen Ausprägungen (da international unterschiedliche Anforderungen an den Output).

Beispiel:
Zitat:
Anschreiben zur Rechnung für Land 1
...
Anschreiben zur Rechnung für Land n

Rechnung für Land 1
...
Rechnung für Land n

Mahnschreiben für Land 1
...
Mahnschreiben für Land n
Das Ganze ist objektorientiert gelöst, so dass es für jedes Formular eine Basis mit den Hauptfunktionalitäten gibt und dann für jedes Land abgeleitet die jeweiligen Spezialanforderungen.
Die benötigten Daten werden auf Zuruf innerhalb dieser Formulare zusammengesammelt und in eine Queue gestellt.
Aus dieser werden dann nachts unterschiedliche Druckengines aufgerufen (PDF, PCL...) die die Daten dann entsprechend umsetzen und den eigentlichen Output erzeugen.
Dieses ist alles native gelöst, d.h. wir benutzen hier keine Reporting-Tools oder so, sondern wird schreiben die PCL-, Postscriptbefehle usw. selber, inkl. der kompletten Formatierungen etc.
Zu dieser Aufbereitung gehören auch weiterführende Prozesse wie bspw. der Aufruf von Webservices zur Archivierung der Daten oder das Erzeugen von Mails, die den Druckoutput als Attachment mit auf die Reise bekommen.

Das ist alles schön und gut und funktioniert, aber was das für ein Moloch ist, könnt Ihr Euch sicherlich vorstellen.
Die Integration neuer Technologien wie bspw. QR-Codes usw. sind recht aufwändig, da sie auch immer in allen Druckengines implementiert werden müssen.
Des Weiteren bedarf es zwingend eines Programmierers (was für mich nicht unbedingt zum Nachteil ist ), um kleinste Anpassungen am Layout oder so vorzunehmen.

Nun ist es so, dass im Rahmen einer Umstrukturierung auch das Layout unserer Dokumente (und das sind ein paar 100) angepasst werden soll.
So eine Runde haben wir zuletzt vor etwa 13 Jahren gedreht und zu meiner Schande muss ich gestehen, dass wir mit den Auswirkungen zum Teil heute noch zu kämpfen haben.
Es ist so viel, was man in dem Bereich zu beachten hat, seien es passende Seitenumbrüche, horizontale Ausdehnung von dynamischen Elementen usw.
Dieses in der aktuellen Infrastruktur umzusetzen, sehe ich als sehr kritisch.

Somit komme ich zu meinem eigentlichen Anliegen

Ich bin nun auf der Suche nach einer Alternative, die unser aktuelles Drucksystem ablösen soll.
Und da ich mich diesbezüglich auf dem aktuellen Markt gar nicht auskenne, wende ich mich an Euch und hoffe, ein paar nette Ideen zu bekommen

Fakten:
  • Unsere Datenbasis wird weiterhin eine Datenbank sein. Welche, soll irrelevant sein.
  • Unsere Datenbasis ist SEHR (!) groß! Wir sprechen von vielen vielen Milliarden Datensätzen.
  • Der Umfang der zu erzeugenden Dokumente liegt derzeit bei mehreren 100, Tendenz steigend.

Must have:
  • Die Texte müssen für jedes Dokument individuell übersetzbar sein (ja, nicht nur die statischen, sondern auch die aus der Datenbank gelesenen ).
  • Da die Anzahl der täglich zu erzeugenden Dokumente hoch ist, muss das System sehr performant sein. Das impliziert, dass die Lösung skalierbar sein muss.
  • Ein Layout für mehrere Formate. Soll heißen, dass ich festlege, wie das Ergebnis auszusehen hat, und das System erzeugt mir darauf basierend PDF, PCL, Postscript.... whatever.
  • Über den Weg, wie der Output letztendlich erzeugt wird, möchte ich mir keine Gedanken machen müssen. Ich möchte also nicht an PDF-Spezifika oder so rumschrauben (aber können - siehe Nice to haves)
  • Das Ganze soll softwareseitig gesteuert werden können, so dass auch Folgeverarbeitungen (siehe oben, Webservices usw.) erfolgen können.
  • Die Lösung muss aktuell weiterentwickelt werden und auch dann noch funktionieren, wenn die Entwicklung irgendwann einmal eingestellt werden sollte.
  • Das Layout muss flexibel gestaltet werden und mit unterschiedlichen Grafikformaten umgehen können (für Logos usw.) (ich möchte mich nicht mehr mit PCL-Macros rumschlagen müssen )

Nice to have:
  • Das Layout der Dokumente sollte auch von Nicht-Programmierern angepasst werden können, so dass die Länder in Eigenverantwortung Änderungen implementieren können. Wie sich soetwas unabhängig einer Kenntnis der zugrundeliegenden Daten allerdings realisieren lassen soll - keine Ahnung.
  • Eine OpenSource-Lösung wäre natürlich schön. Nicht wegen des finanziellen Aspektes, sondern wegen der möglichen Mitgestaltung.
  • Schön wäre es auch, wenn man sich um das Erzeugen des eigentlichen Outputs selber nicht kümmern muss, aber kann. Bedeutet, dass ich keine PDF-Engine programmieren, diese aber u.U. erweitern möchte, sollten benötigte Features nicht vorhanden sein.

Nicht-Anforderungen:
  • Die Lösung muss nicht zwingend Delphi-basiert sein. (Java muss es aber auch nicht unbedingt sein )

Das ist erstmal das, was mir spontan so einfällt

Ich habe mich schoneinmal mit XSLT auseinander gesetzt, weiß aber nicht, ob dieses bei dem Umfang einsetzbar ist. Da fehlt es an Erfahrungen.

Ich freue mich über Eure Anregungen
  Mit Zitat antworten Zitat