Amaly-Dokumenten-Server

Aus INFOKOM-Wiki
Wechseln zu: Navigation, Suche

Die aktuell in Amaly realisierte Dokumentenerstellung, soll zukünftig durch einen separaten Serverprozess realisiert werden.

Inhaltsverzeichnis

[Bearbeiten] Aktuelle Realisierung

Momentan ist die Erstellung von Dokumenten Bestandteil von Amaly. D.h. die RTF-basierten Dokumentenvorlagen werden von Amaly mit den entsprechenden Werten aus der Datenbank ergänzt. Anschliessend startet Amaly die entsprechende Textverarbeitung mit dem aufbereiteten Dokument.

Die Dokumentenvorlagen müssen im RTF-Format mit der Textverarbeitung gespeichert werden, mit der später auch die Ausgabe erfolgen soll. Bisher nutzen alle Anwender Microsoft Word.

[Bearbeiten] Was spricht für eine Änderung der aktuellen Realisierung

Drei Gründe sprechen für eine Neu-Implementierung dieses Features. Der hohe Speicherbedarf am Client, die nicht unerheblichen Laufzeiten dieses Prozess und die Abhängigkeit vom RTF-Format.

[Bearbeiten] Speicherbedarf

Die aktuelle Implementierung ist aus verschiedenen Gründen sehr speicherhungrig. Sie könnte durch verschiedene Massnahmen optimiert werden, aber der Umgang mit Texten (Strings) ist unter Java generell recht speicherintensiv. Der Speicherbedarf von Anwendungen ist immer wieder viel diskutiert. Je geringer der Speicherbedarf einer Anwendung ist, desdo größer ist im allgemeinen die Akzeptanz beim Anwender.

Ausserdem hat die Erfahrung gezeigt, dass gerade in Verwaltungen PC's länger genutzt werden als in der Privatwirtschaft und somit Amaly auf dem ein oder anderen 'Schätzchen' betrieben werden soll.

[Bearbeiten] Laufzeit

Die Laufzeit der Dokumentenverarbeitung ist von verschiedenen Faktoren abhängig:

  • verfügbarer Arbeitsspeicher
  • CPU
  • Anzahl der zu erstellenden Dokumente
  • Komplexität des Dokumentes
    • Anzahl der zu ersetzenden Platzhalter
    • Größe der im Dokument enthaltenen Tabellen

[Bearbeiten] RTF-Format

Das RTF-Format hat sich als relativ problematisch herausgestellt. Die verschiedenen Microsoft Word-Versionen unterstützen unterschiedliche RTF-Versionen. Microsoft Word reagiert sehr empfindlich auf zusätzliche oder fehlende Leerzeichen/Zeilenumbrüche in der RTF-Datei. In komplexen Dokumenten (z.B. mit vielen Tabellen) verrutscht schon mal gerne etwas.

[Bearbeiten] Signieren von PDF-Dokumenten

Momentan ist diese Funktionalität nicht vorhanden!

[Bearbeiten] Wie soll der neue Dokumenten-Server realisert werden

Die Überschrift verrät es bereits. Zukünftig soll die Erstellung der Dokumente durch einen Server-Prozess geleistet werden. D.h. Amaly singnalisiert dem Server-Prozess Mein Anwender hätte gerne das Dokument X, welches dieser dann erstellt und an Amaly 'übergibt'.

Hierbei soll von dem Server-Prozess der wesentliche Teil der Arbeit an die OpenSource-Lösung OpenOffice übergeben werden. Hierbei handelt es sich um eine freiverfügbare Textverarbeitung, die diverse Textformate unterstützt, u.a. Word und PDF.

[Bearbeiten] Vorteile

Die Erstellung der Dokumente kann auf einen Rechner ausgelagert werden, der über ausreichend Resourcen (Arbeitsspeicher, CPU) für diese Aufgabe verfügt. Dies entlastet den Client-PC deutlich und macht Amaly 'schlanker'.

Es wird eine speziell dafür realisierte Software (OpenOffice) für die Aufbereitung der Dokumente genutzt. Dies macht die Implementierung 'einfacher' und liefert zusätzliche Möglichkeiten, wie z.B. die Erstellung von PDF-Dokumenten.

Ausserdem würde sich die Möglichkeit ergeben, PDF-Ausgaben zu signieren und somit sicherzustellen, das die Dateien gegen Manipulationen geschützt sind! Hierzu würde die OpenSource-Library iText genutzt.

Auch andere Möglichkeiten würden sich so ergeben, wie z.B. die Versendung der Dokumente per E-Mail.

[Bearbeiten] Nachteile

Die Vorhandenen Dokumentenvorlagen müssen überarbeitet werden!

[Bearbeiten] Technische Realisierung

Der Server-Prozess wird ein multithreaded HTTP-Server sein. Um eine einfache Installation zu erreichen und um auf weitere notwendige Software zu verzichten, sollte dieser Weg gewählt werden! Natürlich könnte man das Ganze auch als WebService oder Servlet realisieren, dann wären aber weitere Software-Komponenten auf dem Server zur Ausführung notwendig.

Dem Server-Prozess werden von Amaly per Request-Parameter folgende Informationen übermittelt:

  • Userkennung
  • Name des aufzubereitenden Templates
  • auszuführende Aktion
    • direkt drucken
    • Word-Dokument erstellen
    • PDF-Dokument erstellen

Anschliessend öffnet der Server-Prozess die entsprechende Dokumentenvorlage und ersetzt die vorhandenen Platzhalter mit Hilfe einer eigenen Datenbankverbindung. Ist das Dokument fertig, wird dies mit einem entsprechenden Response an Amaly signalisiert.

[Bearbeiten] Stand der Realisierung

Der Stand der Realisierung wird durch den Zeiger auf der linken Seite angezeigt!

--> +- Konzeption
    |
    +- Überprüfung des Konzeptes
    |
    +- Prototyp
    |
    +- Realisierung des Server-Prozesses
    |
    +- Änderungen an Amaly
    |
    +- Release Kandidat für Tests
    |
    +- Release

Wir werden vorläufig keine Termine nennen!

[Bearbeiten] Diskussion

Wir sind aktuell noch in der Konzeptions-Phase! Jede Anregung ist ausdrücklich erwünscht und sollte auf der Diskussionsseite erfolgen.

achim 19:44, 28. Jan 2006 (CET)

Meine Werkzeuge
Namensräume

Varianten
Aktionen
Navigation
Werkzeuge