Vergleich Server und Client
Es gibt gewisse Unterschiede bezüglich Funktionsumfang und Einsatzmöglichkeiten der beiden Arten, wie primedocs zur Dokumenterstellung von aussen aufgerufen werden kann. Dieses Kapitel soll Aufschluss darüber geben, was bedacht werden sollte. Es ist allerdings nur eine Zusammenfassung der wichtigsten Punkte, für detaillierte Ausführungen sind die jeweiligen Detailseiten der entsprechenden Vergleichskategorie verlinkt.
Aufruf
Client:
Der Aufruf über den Client kann auf zwei Arten geschehen:
Über eine ausführbare Connect-Datei (.pdck/.pdcx) für strukturiertes XML
Über die primedocs Shell für unstrukturiertes XML. Der Client ist in der Lage, unstrukturiertes XML über den XML-Transformator mittels XSLT zu strukturiertem XML zu verarbeiten.
Server:
Der Aufruf über den Document Creation Server ist nur mit strukturiertem XML möglich. Falls eine Drittapplikation Dokumente über den DCS generieren soll, muss die Applikation in der Lage sein, die für primedocs benötigten Daten nach dem Connect-Schema aufzubereiten.
Für den Aufruf über den Server stehen nicht alle Commands zur Verfügung Link zu den Commands.
Verarbeitung
Client:
Bei der clientseitigen Verarbeitung stehen Dialoge wie der Dokument-Parameter, Empfängerdialog oder der TemplatePicker zur Verfügung. Der Anwender ist in der Lage, während dem Prozess noch Daten einzugeben und bei Bedarf abzubrechen.
Der Client kann nur einen Connect-Aufruf gleichzeitig verarbeiten. Die Verarbeitung von mehreren Connect-Anfragen wird sequentiell ausgeführt.
Server:
Bei der serverseitigen Verarbeitung stehen keine Dialoge zur Verfügung. Sämtliche relevanten Daten müssen beim Aufruf im Connect übergeben werden. Es ist nicht möglich nach dem Aufruf in den Prozess einzugreifen. Dies bedeutet, dass bei einem Aufruf über den Server das angegebene Template eindeutig identifiziert werden muss. Werden für die angegebenen Filterkriterien mehrere oder kein Template gefunden, so führt dies zu einem Fehler und der Prozess wird abgebrochen.
Der Server ist in der Lage, mehrere Anfragen parallel zu verarbeiten.
Konvertierung zu PDF:
Der ConvertToPdf-Befehl ist sowohl im Server als auch im Client aufrufbar. Massgebend für die Erstellung der PDFs im Client ist der Aufruf des entsprechenden Buttons im Ribbon durch den Benutzer. Hier wird die Word-eigene Funktionalität aufgerufen, so dass am Ende der Dokumenterstellung qualitativ hochwertige Dateien erstellt werden.
Anders funktioniert es bei der PDF-Erstellung über den Document Creation Server. Weil häufig nicht alle oder sogar überhaupt keine Produkte von Microsoft Office auf einer Serverumgebung installiert sind, übernimmt primedocs die PDF-Erstellung selber. Wir verwenden dazu Software eines Drittherstellers.
WICHTIG
Es kann zu geringfügigen Darstellungsunterschieden in PDFs kommen, wenn aus der selben Vorlage sowohl server- als auch clientseitig ein PDF erstellt wird.
Resultat
Für das Resultat eines Connect-Aufrufes gibt es zwei Arten:
Generiertes Dokument
XML-Antwort mit dem Status der Verarbeitung (
ConnectorResult
)
Client:
Ein Aufruf über den Client liefert ein oder mehrere Dokumente vom angegebenen Typ zurück. Zusätzlich kann optional die XML-Antwort zurückgegeben werden. Das resultierende ConnectorResult
wird im Verzeichnis in welchem die Connect-Datei ausgeführt wurde abgelegt.
Server:
Der Server kann nur eine Antwort zurücksenden. Diese ist entweder das ConnectorResult
bei Fehlern, oder ein Dokument bei erfolgreicher Verarbeitung. Die Antwort des Servers wird als FileStream zurückgegeben und wird in den Download Ordner gespeichert.
Einzelverarbeitung versus Batch-Verarbeitung
Einzelverarbeitung:
In der Einzelverarbeitung wird nur ein Dokument generiert. Es gelten alle oben gennanten Punkte ohne weitere Einschränkungen.
Batch-Verarbeitung:
Bei der Batch-Verarbeitung besteht der wesentliche Unterschied zwischen Client und Server darin, dass der Server wie oben bereits erwähnt, nur ein Dokument zurückgeben kann. Der Client kann hingegen für jedes Dokument im Batch ein eigenes Dokument erstellen und direkt öffnen. Deshalb muss bei einer serverseitigen Batch-Verarbeitung auf Batch-Ebene unbedingt das Merge-Befehl angegeben werden. Wenn über den Server mehrere Einzeldokumente in einem Batch erstellt werden sollen, dann muss für jedes Dokument der SaveAs-Befehl definiert werden. Der Merge-Befehl ist dennoch nötig, ansonsten akzeptiert der Server den Request nicht.
PrimeSoft AG, Bahnhofstrasse 4, 8360 Eschlikon, Switzerland