Fiscus-Projekt setzt auf W3C-Sprachstandard

Steuerbescheide im XML-Format

26.02.1999
Im "Fiscus"-Projekt der Finanzämter (siehe CW 4/99, Seite 45)übernahm Sachsen-Anhalt alle Arbeiten rund um das Erstellen,Drucken und Archivieren von Dokumenten. Zu den Rahmenbedingungen gehörte neben einer Client-Server-Architektur die Anbindung an Java-Applikationen. Frank Obermeit schildert die Lösung.

Pro Einwohner drucken die Finanzämter und Oberfinanzdirektionen acht bis elf DIN-A4-Seiten im Jahr. Schon wegen dieser Menge muß die Anwendung einfach zu handhaben sein und effizient funktionieren. Außerdem hat sie weitgehend plattformunabhängig und Tool-neutral zu sein. Immerhin sollen alle 700 Finanzämter sowie die Oberfinanzdirektionen mit der Fiscus-Lösung arbeiten - an bundesweit mehr als 100 000 Arbeitsplätzen.

Das Entwicklerteam aus Sachsen-Anhalt in der Oberfinanzdirektion Magdeburg hat die Daten eines Dokuments von den Layout-Formaten getrennt. Erst beim Aufruf oder beim Drucken fügt sich das Dokument zusammen. Die Daten stammen aus den Fachanwendungen. Dasselbe gilt für Referenzen auf Textbausteine und Variablen.

Um diese zu beschreiben, nutzen die Fiscus-Entwickler die Auszeichnungssprache Extensible Markup Language (XML). Die Sprache, eine Untermenge der Standard Generalized Markup Language(SGML), ist seit Februar 1998 ein Standard des World Wide WebConsortium (W3C). Sie gibt keine Formatierungsbefehle (Tags) vor, sondern lediglich Grundregeln. Jedes Dokument wird so mit einer Struktur versehen, die der eines Katalogs ähnelt. Zugleich fungiert XML als Schnittstelle zu beliebigen Datenformaten, so daß Datenbankinformationen in die Dokumente einfließen können.

Fachprogrammierer erstellen die Dokumenttypdefinitionen (DTD) und übergeben diese zusammen mit Layoutvorschlägen an Layoutgestalter. Diese entwickeln Regeln im Sinne eines Corporate Design, nach denen die Dokumente aufgebaut werden sollen. Auch diese Regeln sind in XML beschrieben. Mit Hilfe eines eigens dafür entwickelten XSL-Prozessors (XSL = Extensible Style Language, basiert auf einer XML-DTD) lassen sich dann nicht nur die Dokumente gestalten, sondern auch im vorgegebenen Design erzeugen.

Im Mai 1997 trat das Magdeburger Entwicklungsteam das erste Malzusammen. Es hatte sich vorgenommen, einen Wysiwyg-Editor (Wysiwyg= What you see is what you get) ausfindig zu machen, um diesen in die Architektur von Fiscus zu integrieren. Dabei beschränkte sich die Auswahl zunächst auf einen Ascii-Editor. Etwas anderes kam zu diesem Zeitpunkt nicht in Frage, da noch ungeklärt war, in welchem Format die Wysiwig-Dokumente zu speichern sein würden. Schließlich landete das Team im Dezember 1997 beim ISO-Standard SGML (Standard Generalized Markup Language, ISO 8879). Dieser sieht vor, daß die Daten der Fachanwendung von den Layoutinformationen getrenntwerden.

Probleme verursachten lediglich die Parser (siehe Kasten "XML"). Die Magdeburger entfernten jedoch komplizierte und wenig praxisrelvante SGML-Konstrukte. Statt dessen wählten sie eine "Variante der konkreten Syntax SGML", die heute unter dem Namen XML bekannt ist. Beispielsweise bieten IBM und Microsoft Java-XML-Parser an. Parallel suchten die IT-Spezialisten nach einem Tool, das die Daten formatiert und verschiedene Seitenbeschreibungssprachen wie Postscript (Adobe), PCL (HP) und AFP (IBM) versteht.

Jeder Drucker - vom Arbeitsplatzdrucker über Abteilungs- und Hochleistungsdrucker - sollte nutzbar sein. Doch die evaluierten Formatierer, die vorrangig aus dem Hochleistungsdruck stammten, brachten ihre eigenen Layoutbeschreibungssprachen mit. DieseSprachen ermöglichen zwar eine regelbasierte Aufbereitung der Daten - so wird eine Seite etwa in Header, Footer und Bodygegliedert - doch hätten sie Auswirkungen auf die Fiscus-Architektur gehabt und ihre Tool-Unabhängigkeit beeinträchtigt.

Neutral in diesem Sinne zeigte sich dagegen der ISO-Standard Document Style Semantics Specification Language (DSSSL). Er basiert auf einem Dialekt von Lisp, einer Sprache für künstliche Intelligenz. Weltweit war aber nur ein entsprechendes Tool verfügbar. Das Fiscus-Team entschied sich für die Sprache XSL.

Darüber hinaus erstellten die Magdeburger Entwickler eine eigene Layout-Beschreibungssprache. Diese enthält die für ein Druckdokument notwendigen Beschreibungsmittel und beruht auf einer Dokumenttypdefinition. Ein Formatierungswerkzeug kann diese Sprache direkt verarbeiten oder in einer für das Tool konvertierten Form. Dafür entwickelten die Programmierer einen speziellen Konverter. Der Formatierer erzeugt dann einen Postscript-, PCL- oder AFP-Datenstrom. Mit einem Druckbefehl wird der Datenstrom einem Spool-System zugeleitet, das den Transport zum jeweils gewünschten Drucker regelt.

Der Formatierservice ist Teil eines Intranet und läßt sich per TCP/IP auch im Wide Area Network (WAN) nutzen. Im Frühjahr 1999 laufen Tests an, die Auskunft über die Skalierungsmöglichkeiten des Dienstes liefern sollen.

XML

Die Datenstruktur eines XML-Dokumentes, auch XML-Instanz genannt, wird über eine Dokumenttypdefinition (DTD) beschrieben. Ein XML-Dokument besteht aus einer DTD und einer XML-Instanz, so daß beide Informationen immer zusammen vorliegen. Verarbeitet werden XML-Dokumente von Parsern.

Abkürzungen:

DTD: Dokumenttypdefinition

SGML: Standard Generalized Markup Language

XML: Extensible Markup Language

XSL: Extensible Style Language

DSSSL: Document Style Semantics Specification Language

Funktionen

-Das Drucken aus einer Client-Server-Umgebung auf beliebige Drucker ist möglich, und es gibt keine Beschränkungen in der Layoutgestaltung.

-Das Dokumentenformat XML bietet die gewünschte Herstellerunabhängigkeit.

-Daten und Layoutinformationen sind getrennt. Damit sinkt der Speicherbedarf.

-Die Fiscus-eigene Layout-Beschreibungssprache macht unabhängig von Tool-spezifischen Sprachen. Trotzdem werden die wesentlichen Seitenbeschreibungssprachen (PCL, Postscript und AFP) unterstützt. Dadurch entfallen Konvertierungen innerhalb der Spool-Systeme.

Die wichtigste Aufgabe für 1999 ist das Einbinden eines Wysiwyg-Texteditors, der die Fiscus-Layout-Beschreibungssprache verarbeitet. Dazu muß das Entwicklerteam sich noch um das Archivieren und die Portooptimierung kümmern. Außerdem sollen die Schnittstellen der Spooling-Systeme um ein Java Application Programming Interface (API) erweitert werden.

Frank Obermeit (deoof001qibm.net) ist Leiter des Magdeburger Fiscus-Teams. Der Bericht ernstand in Zusammenarbeit mit Volker Dietzel, Berater bei Sercon, Coburg (volker.dietzelqsercon.de).