Grin logo
de en es fr
Shop
GRIN Website
Publish your texts - enjoy our full service for authors
Go to shop › Computer Science - Applied

Dynamische Dokumentengenerierung mit XML und XSL:FO

Title: Dynamische Dokumentengenerierung mit XML und XSL:FO

Diploma Thesis , 2002 , 81 Pages , Grade: 1.0

Autor:in: Stefan Tantow (Author)

Computer Science - Applied
Excerpt & Details   Look inside the ebook
Summary Excerpt Details

Die vorliegende Arbeit beschreibt und analysiert die Implementierung eines Dienstes zur dynamischen Dokumentengenerierung in der Programmiersprache Java. Für die Realisierung des Dienstes wird die Extensible Markup Language(XML) und die Extensible Stylesheet Language(XSL) in Verbindung mit dem Formatting Objects Standard genutzt. Die Dokumentengenerierung erfolgt, indem XML-Daten in ein vorher generiertes XSL-Formular integriert werden. Es wird anschließend ein darstellbares Format erzeugt, um das Ergebnis präsentieren zu können. Die Formate können individuell vom Nutzer des Dienstes (meist ein bestehendes Anwendungssystem) eingestellt bzw. konfiguriert werden. Ein weiterer wichtiger Aspekt ist die Erstellung der XSL-Formulare. Daher wird in dieser Arbeit auch ein Formulardesigner vorgestellt, mit dessen Hilfe der Nutzer ohne Programmierkenntnisse individuelle Formulare jeder Art generieren kann. Dabei spielt das Verwaltungsmanagement der Formulare sowie die Verarbeitung dieser durch den Server auch eine wichtige Rolle.

Im zweiten Teil der Arbeit wird eine Demonstrationsanwendung zur Nutzung des Dienstes vorgestellt bzw. implementiert. Diese kann dem Designer der Formulare als Testwerkzeug dienen, um anwendungsindividuell generierte Formulare, die mit Daten gefüllt werden, auf Korrektheit zu prüfen. Mit Hilfe des Acrobat Readers© kann das Ergebnis betrachtet und ausgedruckt werden.

Excerpt


Inhaltsverzeichnis

Abstract

Einleitung

Voraussetzungen

Einsatzort

Projekt „Himalaya“

Ausgangssituation

I Projektbeschreibung

I.1 Allgemeine Ziele des Projekts

I.2 Eigenschaften der Dokumentengenerierung

I.3 Zusätzliche Anforderungen

I.4 Lösungsansatz

I.5 Technische Umgebung

II Server-Komponente zur Dokumentenerzeugung

II.1 Anforderungsanalyse

II.1.1 Use Cases

II.2 Analyse/Design

II.2.1 Fachlicher Überblick des Klassenmodells

II.2.2 Paketstruktur des Klassenmodells

II.2.3 Detailbeschreibung des Klassenmodells

II.2.4 Konfigurations- und Ablagemöglichkeiten

II.3 Implementierung

II.3.1 DocServiceWrapper

II.3.2 WLSInfos

II.3.3 Dispatcher

II.3.4 Form

II.3.5 InternalForm

II.3.6 FormVar

II.3.7 RawData

II.3.8 ValueData

II.3.9 Jobparameter

II.3.10 FormService

II.3.11 FormDescription

II.3.12 Controller

II.3.13 Engine

II.3.14 EngineMetaData

II.3.15 XSLEngine

II.3.16 GenEngine

III Client-Komponente zur Eingabe des Dokumenteninhalts

III.1 Anforderungsanalyse

III.1.1 Use Cases

III.2 Analyse/Design

III.2.1 Erweiterung der Paketstruktur

III.2.2 Überblick des erweiterten Klassenmodells

III.3 Implementierung

III.3.1 GUIDocserviceMain

III.3.2 GUIGenericBuilder

III.3.3 Deployment des Clients

IV Ablauf der Dokumentengenerierung

V Abschließende Bewertung

Zielsetzung und Themen

Die Arbeit befasst sich mit der Entwicklung und Analyse eines Dienstes zur dynamischen Dokumentengenerierung mittels Java, XML und XSL:FO. Ziel ist die Bereitstellung eines performanten, flexiblen Systems, das statische und dynamische Formulare vereinheitlicht und eine benutzerfreundliche Schnittstelle zur Dokumentenkonfiguration sowie einen Demo-Client für Testzwecke umfasst.

  • Dynamische Dokumentengenerierung mit XML und XSL:FO
  • Implementierung einer serverseitigen Architektur basierend auf dem J2EE-Standard
  • Konzeption eines Formulardesigners zur benutzerfreundlichen Formularerstellung
  • Entwicklung einer grafischen Client-Komponente zur Testung und Validierung
  • Optimierung von Performance und Portabilität gegenüber existierenden C++ Lösungen

Auszug aus dem Buch

II.3.3 Dispatcher

Diese Klasse wird vom Session Bean aufgerufen und implementiert die im „DocServiceWrapper“ delegierten Methoden. Es handelt sich hierbei um die zentrale Instanz für die Aufgabenverteilung des Servers. Diese Klasse ist mit dem Singleton-Pattern realisiert und hat einen privaten Konstruktor, worin einmalige Aufräumarbeiten von temporären Dateien durchgeführt werden.

Das wichtigste an der Klasse sind jedoch die Methoden zur Realisierung der Geschäftsprozesse. Die Methoden sind folgendermaßen implementiert:

byte[] createDocument(Form formular, Jobparameter jobparameter) throws DocumentserviceException {

/** Das übergebene Formular in ein internes Formular konvertieren * (intern wird nur mit InternalForm gearbeitet) */

InternalForm intForm = new InternalForm(formular);

/** Aus dem Formularrepository die Formularbeschreibung zum Formular besorgen **/

intForm = FormService.getFormularFromRepository(intForm, jobparameter);

/** Alle Engines die zur Erzeugung des benötigten Ausgabeformates benutzt werden **/

Engine[] engines = Controller.getConverter(intForm.getFormularBeschreibung().getFormat(), jobparameter.getToFormat() );

/** Exception: Es gibt keine Engines, die das gewünschte Format erzeugen können. **/

if (e.length == 0) throw new DocumentserviceException(”Es wurden keine Engines gefunden.”);

/** Für jede gefundene Engine, die work-Methode aufrufen und somit die Engine starten **/

for (int i=0; i<e.length; i++) { intForm = engines[i].work(intForm, jobparameter); {

/** Einige Engines haben eine Datei als Endergebnis. * Die Daten müssen in den Speicher kopiert werden. */

if (Persistence.equals(intForm.getFormularBeschreibung().getPersistence(), Persistence.FILE) ) {

/** Hilfsklasse zur Erzeugung eines Bytestreams über eine Datei **/

intForm.setOutBuffer( FileManager.getBytestream( intForm.getFormularBeschreibung().getFilename()) ); }

/** Rückgabe des erzeugten Dokumentes im angegebenen Format **/

return intForm.getOutBuffer(); }

Zusammenfassung der Kapitel

Projektbeschreibung: Dieses Kapitel erläutert die Anforderungen und die Zielsetzung des Dokumentengenerierungssystems, einschließlich der notwendigen Rahmenbedingungen und technischen Umgebung.

Server-Komponente zur Dokumentenerzeugung: Hier wird der Kern des Systems detailliert beschrieben, angefangen bei der Anforderungsanalyse und dem Design der Klassen bis hin zur konkreten Implementierung der Geschäftslogik.

Client-Komponente zur Eingabe des Dokumenteninhalts: Dieses Kapitel beschreibt die Entwicklung der grafischen Benutzeroberfläche und des Deployment-Prozesses mittels Java Web Start.

Ablauf der Dokumentengenerierung: Es wird der Prozess von der Erstellung eines Formulars bis zur finalen Generierung und Ausgabe des Dokuments im Acrobat Reader nachvollzogen.

Abschließende Bewertung: Eine kritische Betrachtung der implementierten Lösung im Vergleich zu bestehenden Systemen und ein Ausblick auf potenzielle Erweiterungen.

Schlüsselwörter

Dokumentengenerierung, XML, XSL:FO, Java, J2EE, Applikationsserver, Klassenmodell, Formularrepository, Dynamik, Server-Komponente, Client-Komponente, GUI, Rendering, Informatik, Softwareentwicklung

Häufig gestellte Fragen

Worum geht es in dieser Diplomarbeit grundsätzlich?

Die Arbeit analysiert und implementiert einen Java-basierten Dienst zur dynamischen Generierung von Geschäftsdokumenten unter Verwendung von XML und XSL:Formatting Objects.

Was sind die zentralen Themenfelder der Arbeit?

Die Schwerpunkte liegen auf der serverseitigen Dokumentenerzeugung, der modularen Architektur mittels „Engines“, der XML-basierten Konfiguration von Formularen und der grafischen Eingabemaske für Endnutzer.

Was ist das primäre Ziel der Entwicklung?

Das Hauptziel ist die Vereinheitlichung zweier bestehender Dokumentenverarbeitungssysteme in einer performanten, flexiblen Java-Architektur, die eine einfache Erweiterbarkeit und eine benutzerfreundliche Bedienung ermöglicht.

Welche wissenschaftliche Methode wird verwendet?

Es handelt sich um eine softwaretechnische Arbeit, die von der Anforderungsanalyse (Use-Case-Modellierung) über das objektorientierte Design (UML-Klassendiagramme) bis hin zur Implementierung und praktischen Demonstration reicht.

Was wird im Hauptteil der Arbeit behandelt?

Der Hauptteil gliedert sich in die detaillierte Spezifikation der Server-Komponente, deren Klassenmodell und Geschäftslogik sowie die Implementierung der grafischen Client-Oberfläche und deren Anbindung an den Server.

Welche Schlüsselwörter charakterisieren die Arbeit?

Wichtige Begriffe sind Dokumentengenerierung, XML, XSL:FO, Java, Applikationsserver und objektorientiertes Design.

Warum wurde für die Server-Komponente eine J2EE-basierte Architektur gewählt?

J2EE bietet die notwendige Skalierbarkeit, Portierbarkeit und eine zentrale Administrationsumgebung, die für den Betrieb eines performanten Dokumentendienstes in einer professionellen Produktionsumgebung essenziell sind.

Wie ermöglicht das System Änderungen an Formularen während der Laufzeit?

Durch die Auslagerung der Formular- und Engine-Metadaten in XML-Repositorys können neue oder geänderte Formulare vom System erkannt und genutzt werden, ohne dass der Server neu gestartet werden muss.

Excerpt out of 81 pages  - scroll top

Details

Title
Dynamische Dokumentengenerierung mit XML und XSL:FO
College
University of Applied Sciences Hanover  (Fachbereich Informatik)
Grade
1.0
Author
Stefan Tantow (Author)
Publication Year
2002
Pages
81
Catalog Number
V15336
ISBN (eBook)
9783638204743
ISBN (Book)
9783638699259
Language
German
Tags
Dynamische Dokumentengenerierung
Product Safety
GRIN Publishing GmbH
Quote paper
Stefan Tantow (Author), 2002, Dynamische Dokumentengenerierung mit XML und XSL:FO, Munich, GRIN Verlag, https://www.grin.com/document/15336
Look inside the ebook
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
Excerpt from  81  pages
Grin logo
  • Grin.com
  • Shipping
  • Contact
  • Privacy
  • Terms
  • Imprint