Einführung
Produktidee
Kernaufgabe des jadice server ist es nicht, selbst ein Dokument vom Typ X nach Typ Y zu konvertieren. Stattdessen greift er unter anderem auf die Funktionalität der zugrunde liegenden jadice document platform zurück, die viele Möglichkeiten liefert, die in Langzeitarchiven anzutreffenden Formate zu konvertieren.
Außerdem stellt er eine flexible Schnittstelle zu Applikationen bereit, die die Konvertierung übernehmen. Dieser Vorteil beruht unter anderem auf der Plattformunabhängigkeit des jadice server. Das heißt, dass der jadice server auf verschiedenen Plattformen installierbar ist und so mit einer großen Menge von Applikationen kommunizieren kann.
Dazu bietet jadice server Schnittstellen zu extern gesteuerter Fremdsoftware. Deren Steuerung kann entweder direkt in der Java-Schnittstelle realisiert werden oder man kann die COM-Schnittstelle nutzen oder eine Batch-Datei schreiben.
Die Konvertierung kann je nach Format des Originals entweder durch eine Funktion einer Software (wie z. B. Photoshop), die das Ursprungs-Format anzeigen kann, oder durch die Benutzung eines vorhandenen Image-Druckertreibers erfolgen. Wichtig ist in beiden Fällen nur das Definieren von geeigneten Schnittstellen des jadice server mit der jeweiligen Software.
Durch die zweistufige Architektur des jadice server kann eine nahezu beliebige Skalierbarkeit erreicht werden. Er kann um beliebig viele Plugins zu verschiedenen Applikationen erweitert werden. Es können also viele Clients von den Programmen profitieren, die auf wenigen Rechnern (auf denen sich ein jadice server befindet) installiert wurden.
Systemvoraussetzungen
Clientseitig
jadice Client-Erweiterungen für Serverkommunikation
Sun/Oracle Java VM in Version 11 11.0.8 oder neuer (Deprecated, aber unterstützt für 5.8: Sun/Oracle Java VM in Version 1.8.0 Update 3 (Java 8) oder neuer)
Einsatz als Applikation oder eingebettet
Serverseitig
Java Runtime
Mindestens: Sun/Oracle Java VM in Version 11 11.0.8 oder neuer (Deprecated, aber unterstützt für 5.8: Sun/Oracle Java VM in Version 1.8.0 Update 3 (Java 8) oder neuer)
Nicht unterstützt werden: Sun/Oracle Java VM in Version 7 oder niedriger, als auch 9, 10, 12 oder neuer
Grundsätzlich sollten sich die Java Laufzeitumgebungen unterschiedlicher Hersteller identisch verhalten. In entscheidenden Details gibt es jedoch Unterschiede zwischen den Produkten, die vor allem beim Rendern von Bilddaten eine Rolle spielen, und damit entscheidend für den jadice® server sind.
Der jadice® server unterstützt zusätzlich zu Oracle JAVA auch das OpenJDK. Weitere Informationen hierzu entnehmen Sie unserem Knowledgebase-Artikel Unterstützung neuer Oracle-Java-Versionen und OpenJDK.
Hauptspeicher: ab 3 GB, empfohlen 8 GB
Prozessor: 2 vCPUs/cores, empfohlen 2,5 GHz oder schneller
Festplattenspeicher: 500 MB Software, mindestens 2 GB Speicher für temporäre Dateien
Je nach Art der Job-Verarbeitung können diese Angaben abweichen.
Struktur der Auslieferung
Die Distribution, die den jadice server 5 enthält, ist in die folgenden Unterordner gegliedert:
apache-activemq
Eine Distribution des Message Brokers Apache ActiveMQ befindet sich in diesem Ordner. In der Standardauslieferung wird dieser für die Kommunkation zwischen Clients und jadice server verwendet.
bin
Dieser Ordner enthält alle Dateien, die notwendig sind, um jadice server zu starten. Dies kann entweder (z. B. während der Entwicklung) auf der Kommandozeile oder als Systemdienst geschehen.
client-lib
Die `jar`-Dateien, die sich in diesem Ordner befinden, müssen in den Klassenpfad der Clientanwendung aufgenommen werden, damit diese mit jadice server kommunizieren kann.
client-lib/apache-activemq
Die `jar`-Dateien aus diesem Ordner müssen in den Klassenpfad der Clientanwendung aufgenommen werden, wenn diese über die Standard-JMS-Implementierung ActiveMQ mit jadice server kommunizieren soll.
client-lib/logging
Um das Logging-System der jadice server-Client-API mit anderen Logging-Systemen zu verbinden, sind in diesem Verzeichnis entsprechende Verbindungs-Bibliotheken zu finden. Dies wird im Abschnitt Client Logging ausführlich beschrieben.
documentation
Enthält die Dokumentation, die Sie gerade lesen.
example/hotfolder
Enhält eine Beispielanwendung, die eine "Hot Folder"-Konvertierung durchführt. Jede Datei, die im Ordner `C:\temp\hotfolder\input\` abgelegt wird, wird an jadice server übertragen und dort nach PDF konvertiert. Das Ergebnis wird zurück auf den Client übertragen und dort im Ordner `C:\temp\hotfolder\output\` abgelegt. Die nowendigen Einstellungen sind in der Konfigurationsdatei `configuration.properties` gesetzt.
example/servlet
Enhält ein Webanwendungsarchiv (`WAR`) mit einem einfach HTTP-Servlet, das zeigt, wie jadice server in einer Middle-Tier-Applikation eingebunden werden kann, um eine "on-the-fly"-Konvertierung durchzuführen.Um diese Anwendung auszuführen, müssen Sie sie einem gewöhnlichen Servlet-Container deployen und im Browser das `DownloadServlet` aufrufen. Standardmäßig sehen Sie dann eine Liste aller Dateien in `C:\Temp`. Auf Anforderung werden diese Dateien analysiert und zum Download angeboten. Handelt es sich dabei nicht um PDF, Tiff oder reinen Text, wird die Datei zur Konvertierung nach PDF an jadice server übertragen. Einige Einstellungen können in der Datei `WEB-INF/classes/DownloadServlet.properties` innerhalb der `war`-Datei vorgenommen werden.
example/viewer
Enthält einen angepassten jadice viewer mit einigen Beispiel-Kommandos, die eine mögliche Interaktion zwischen den beiden Produkten zeigt; siehe Abschnitt Schnelleinführung
Eine Lizenz für den jadice viewer ist nicht Bestandteil dieser Distribution. Bitte kontaktieren Sie uns, um eine Lizenz zu erhalten!
javadoc/client-lib
Dieser Ordner enthält die javadoc-Dokumentation der clientseitigen API aller jadice server-Module, die zur Einbindung in eigene Applikationen vorgesehen sind.
javadoc/server-lib
Dieser Ordner enthält die javadoc-Dokumentation der serverseitigen API von jadice server. Diese API ist dazu gedacht, um jadice server um eigene Funktionalitäten zu erweitern; siehe Implementierung eigener Nodes / Worker.
log
In der Standardkonfiguration legt jadice server hier alle Log-Dateien während des Betriebs ab.
msoffice-lib
Enthält die zur Konvertierung über Microsoft Office benötigten Bibliotheken.
libreoffice-lib
Enthält die zur Konvertierung über LibreOffice benötigten Bibliotheken.
server-config
Dieser Ordner enthält alle Konfigurationsdateien von jadice server. Die vordefinierten Einstellungen sind so gewählt, dass jadice server auf einem üblichen System direkt starten kann. Hinweise zu möglichen Anpassungen finden Sie im Abschnitt Installation und Konfiguration.
server-lib
Dieser Ordner entählt alle Bibliotheken, die zum Betrieb von jadice server notwendig sind. Änderungen hierin erfolgen auf eigene Verantwortung!
wrapper
Enthält Konfigurationsdateien, die nötig sind, um jadice server von einem betriebssystem-abhängigen Wrapper oder als Systemdienst starten zu können.
documentation.html
Einstiegsseite für diese Dokumentation.
Public API und internal Packages
Public jadice server-API
jadice server bietet Entwicklern eine Public API zur Integration in
eigene Anwendungen. Die Javadoc der Public API wird mit der Distribution
im Unterverzeichnis javadoc
und dessen Unterverzeichnissen getrennt
nach Modulen ausgeliefert.
Nur die Klassen und Methoden, die in der ausgelieferten Javadoc enthalten sind, sind Teil der Public API und können zur Einbindung von jadice server-Komponenten und -Funktionalitäten verwendet werden. Diese Klassen, Methoden und Funktionalitäten sind von Wartung und Support durch die levigo solutions gmbh abgedeckt.
Bei Fragen oder Problemen mit der Public jadice server API wenden Sie sich bitte an die levigo solutions gmbh. Wir unterstützen Sie gerne.
Private jadice server-API
Neben der Public API sind im Auslieferungspaket interne Klassen,
Methoden und Funktionalitäten mit der Bezeichnung .internal.
enthalten. Diese sind Teil der internen Private API von jadice server
und können von Entwicklern nicht direkt genutzt werden, da sie jederzeit
und ohne Vorankündigung entfernt, verschoben, neu benannt oder in ihrer
Funktionalität verändert werden können.
Technische Unterstützung bei Problemen durch die direkte Verwendung der Private jadice server API ist aus der Softwarepflege ausgeschlossen. Ebenso können bei direkter Verwendung der Private API keinerlei Gewährleistungs-, sowie direkte und indirekte Haftungsansprüche gegen die levigo solutions gmbh geltend gemacht werden.
Einsatzmöglichkeiten des jadice server 5
Die in diesem Kapitel beschriebenen Einsatzmöglichkeiten beschreiben die typischen Anwendungsfälle, die durch jadice server abgedeckt werden. Für die konkrete technische Realisierung wird dabei jeweils auf die passenden Code-Beispiele im Kapitel Anwendungsszenarien samt Code-Beispielen verwiesen.
Natürlich können an dieser Stelle nicht alle Einsatzmöglichkeiten, die der jadice server bietet, beschrieben werden. Außerdem können die jeweiligen Teilaufgaben miteinander kombiniert werden, sodass sie die konkrete Problemstellung passgenau abdecken.
Vereinheitlichung und Langzeitarchivierung
Der jadice server eignet sich für die Arbeit mit Daten, die sich nicht direkt clientseitig anzeigen lassen, wie etwa Office-Formate oder spezielle technische Formate.
Da der Server für die Konvertierung der Dokumente zuständig ist, werden die einzelnen Clients am Arbeitsplatz entlastet und somit auch das Arbeiten an älteren, weniger leistungsstarken Rechnern ermöglicht. Zusätzlich müssen die für die Konvertierung notwendigen Programme nicht auf allen Clients, sondern nur auf dem jadice server installiert sein.
Da diese Daten nun in einem Standardformat vorliegen (z. B. als PDF/A oder TIFF), muss das Programm, mit dem diese Dateien ursprünglich erstellt worden sind, nicht mehr vorgehalten werden. Somit eignen sich diese Dokumente auch für die Langzeitarchivierung.
Passende Code-Beispiele:
Kachelung
Ein weiterer Einsatzbereich ist das Ver- und Bearbeiten von Dokumenten mit sehr vielen oder auch besonders großen Seiten.
Bei der Arbeit mit sehr großen Dokumenten im jadice viewer oder im jadice web toolkit bietet jadice server die Möglichkeit, Dokumente zu kacheln, also in einzelnen Ausschnitten zu laden und darzustellen. Dies ist von Vorteil, wenn große Seiten, wie beispielsweise Baupläne, oder auch nur Teile eines hunderte Seiten umfassenden Dokuments dargestellt werden sollen.
Virtuelle Dokumente
Im Gegensatz dazu können durch den jadice server auch mehrere Dokumente zu einem großen, logischen Dokument zusammengefügt werden. So können etwa Personalakten mit den Zeiterfassungsdokumenten, Krankmeldungen und Tankabrechnungen eines Mitarbeiters in einer einheitlichen Datei erfasst werden.
Andererseits ist es auch möglich große Dokumente in einzelne Teildokumente zu trennen, um diese beispielsweise einzelnen Fachabteilungen zukommen zu lassen.
Passende Code-Beispiele:
Dauerhafte Verankerung von Annotationen
Sind auf Dokumenten Annotationen aufgebracht, kann es notwendig sein, dass sie dauerhaft im Dokument verankert werden müssen, wenn die entsprechenden Dokumente an externe Stellen weitergeleitet werden sollen.
Dies kann aus verschiedenen Gründen notwendig sein. Einerseits ist nicht gewährleistet, dass externe Stellen das Datenformat für Annotationen verarbeiten können, sodass hier auf ein Standardformat (beispielsweise PDF) zurückgegriffen werden muss. Auch ist es denkbar, dass einige Teile des Dokuments mit einer Mask-Annotation "geschwärzt" werden müssen, da diese Geschäftsgeheimnisse oder datenschutzrelevante Daten enthalten. Hierbei muss sichergestellt werden, dass die externe Stelle keine Möglichkeit hat, die "geschwärzten" Informationen wieder lesbar zu machen.
Passende Code-Beispiele:
Extraktion von Metadaten
Für eine schnelle Übersicht in einem Client ist es nicht immer notwendig, dass dieser das komplette Dokument übertragen bekommt. Stattdessen reicht es aus, wenn dieser Metadaten, die das Dokument charakterisieren, erhält.
Diese können z. B. verwendet werden, um clientseitig zu entscheiden, welche weiteren Verarbeitungsschritte ausgelöst werden sollen.
Passende Code-Beispiele:
Vereinheitlichung von E-Mails
Zur rechtssicheren Archivierung von E-Mails ist es nicht nur notwendig, den reinen Text der E-Mail, sondern auch deren Anhänge zu archivieren. Um sicherzustellen, dass die unterschiedlichen Dateiformate auch in Zukunft gelesen werden können, müssen diese jedoch in ein einheitliches Format gebracht werden. Dazu bietet sich der PDF-Standard an.
Außerdem ist es wünschenswert, dass automatisch eine Übersicht der Anhänge erzeugt wird. Beides leistet jadice server.
Passende Code-Beispiele:
Zentraler Dokumentendruck
Druckjobs können an Sachbearbeiterplätzen erstellt werden. Über die API stehen dafür eine Vielzahl von Einstellmöglichkeiten zur Verfügung. Diese Konfiguration wird an jadice server übertragen, der als zentraler Druckserver dient. Im Rechenzentrum übernimmt er den Druckauftrag und reicht diesen verlustfrei an den Printcluster weiter.
Da die Aufbereitung durch den Druckertreiber mit -- je nach Einstellung und gewünschter Druckqualitität -- unter Umständen großen Druckdatenströmen an einer zentralen Stelle erfolgt, kann nicht nur die Netzwerklast verringert werden, sondern auch am Arbeitsplatz des Sachbearbeiters ist das sofortige Weiterarbeiten nach Start eines Druckauftrags möglich.
Verarbeitung gepackter Dateien
Für den Transport von großen Dateien über das Internet ist es sinnvoll, diese als Archivdatei zu packen und zu komprimieren, z. B. als ZIP-Datei. Vor der Verarbeitung muss diese Archivdatei jedoch entpackt werden. Um dies zu automatisieren, kann jadice server zum Einsatz kommen.
Passende Code-Beispiele:
Datenvalidierung
Sämtliche Kundendokumente, die in in einem Langzeitarchiv abgelegt werden, müssen den Anforderungen genügen, auch in Jahrzehnten noch problemlos lesbar zu sein. Dazu muss ein geeignetes Dokumentenformat gewählt werden.
Zusätzlich muss aber bei der Archivierung sicher gestellt werden, dass die Dokumente vollständig und intakt sind sowie formal der technischen Spezifikation entsprechen.
Mit jadice server kann im Importprozess eine, von der Erzeugung der Dateien unabhängige Stufe eingeführt werden, die die Dateiformate erkennt und geeignete Validierungsmechanismen gegen definierte Standards aufruft.
Damit können fehlerhafte Dateien schon vorab erkannt und zur Überprüfung und Nachbearbeitung aussortiert werden. Dadurch wird sichergestellt, dass die Dokumente im Langzeitarchiv auch in Jahrzehnten noch zur Verarbeitung zur Verfügung stehen.