Modernes E-Government mit Fabasoft egov
Transcription
Modernes E-Government mit Fabasoft egov
modernes e-government mit fabasoft egov-forms Modernes E-Government mit Fabasoft egov-Forms Thomas Bühringer, Peter Stürmer ISBN: 3-902495-15-4 Alle Rechte der Verbreitung, auch durch fotomechanische Wiedergabe, Tonträger jeder Art, auszugsweiser Nachdruck oder Einspeicherung und Rückgewinnung in Datenverarbeitungsanlagen aller Art, sind vorbehalten. Es wird darauf verwiesen, dass alle Angaben in diesem Fachbuch trotz sorgfältiger Bearbeitung ohne Gewähr erfolgen und eine Haftung der Autoren oder des Verlages ausgeschlossen ist. Aus Gründen der einfacheren Lesbarkeit wird auf die geschlechtsspezifische Differenzierung, z.B. Benutzer/-innen, verzichtet. Entsprechende Begriffe gelten im Sinne der Gleichbehandlung grundsätzlich für beide Geschlechter. Fabasoft und das Fabasoft Logo sind registrierte Warenzeichen der Fabasoft AG. Microsoft, MS-DOS, Windows, das Windows-Logo, Windows 95, Windows 98, Windows Me, Windows XP, Windows NT, Windows 2000, Windows Server, Active Directory, Outlook, Excel, Word, PowerPoint, Visual Studio, Visual Basic, Visual C++ sind entweder registrierte Warenzeichen oder Warenzeichen der Microsoft Corporation. Alle anderen verwendeten Hard- und Softwarenamen sind Handelsnamen und/oder Marken der jeweiligen Hersteller. © Fabasoft Intl. Software GmbH & Co KG, Linz 2005 Honauerstraße 4, 4020 Linz Tel.: +43 (732) 606162 http://www.fabasoft.at Gestaltung: SCHRANGL’PRESLMAYR’SCHAURHOFER Marketing GmbH, Linz Satz: idee quadrat Werbeagentur Langanke & Stolz OEG, Linz Druck: Estermann Druck GmbH, Aurolzmünster Modernes E-Government mit Fabasoft eGov-Forms Thomas Bühringer, Peter Stürmer inhaltsverzeichnis 2005 1 Modernes E-Government mit Fabasoft eGov-Forms einleitung ____________________________________________________________________ 1 ________________________________________________________________________________________________ 11 1.1 Ziel und Gliederung des Buches ____________________________________ 13 1.2 Erläuterung zum Beispiel ________________________________________ 14 1.3 Trennung von Formularentwicklung und Formularserver ________________ 21 2 standards ______________________________________________________________________________________________ 25 2.1 Styleguide______________________________________________________________________________________________________ 25 Online-Formular Styleguide ________________________________________________________________________________ 25 Druckstyleguide ________________________________________________________________________________________________ 27 2.2 Web Accessibility Initiative __________________________________________________________________________ 28 2.3 Digitale Signatur ____________________________________________________________________________________________ 30 Wie funktioniert die digitale Signatur __________________________________________________________________ 31 Schnittstelle – Security-Layer 1.2 ________________________________________________________________________ 35 Schnittstelle – CAPICOM __________________________________________________________________________________ 36 2.4 Elektronische Zahlung 3 architektur __________________________________________________________________________________ 37 ________________________________________________________________________________________________ 41 3.1 Betreiber ______________________________________________________________________________________________________ 41 Hardwarearchitektur __________________________________________________________________________________________ 41 Softwarearchitektur __________________________________________________________________________________________ 44 3.2 Administrator 3.3 Bürger ________________________________________________________________________________________________ 45 __________________________________________________________________________________________________________ 45 5 Hardwarearchitektur __________________________________________________________________________________________ 45 Softwarearchitektur __________________________________________________________________________________________ 45 Bürgerkarte in Österreich __________________________________________________________________________________ 46 4 fabasoft formulardesigner ____________________________________________________ 51 4.1 Zielgruppe und Beweggründe ________________________________________________________________________ 51 4.2 Aufbau und Elemente ____________________________________________________________________________________ 52 Antragsprojekt __________________________________________________________________________________________________ 53 Formularblockelemente ______________________________________________________________________________________ 56 Plausibilitätsprüfung __________________________________________________________________________________________ 61 Formularblöcke ________________________________________________________________________________________________ 63 Formularschaltflächen________________________________________________________________________________________ 70 Formularelemente ____________________________________________________________________________________________ 71 Formularseiten__________________________________________________________________________________________________ 74 Antragsformulare ______________________________________________________________________________________________ 78 4.3 Projektorientierter Ansatz und Einbindung des Workflows ____________________________ 81 4.4 Übertragung auf den Formularserver ______________________________________________________________ 82 5 formularentwicklung im generischen interface ________________________________________________________________ 85 5.1 Datenmodell eines Formulars________________________________________________________________________ Datentypen ____________________________________________________________________________________________________ Wiederverwendung von Datenstrukturen – Standardblöcke ____________________________________ Datenmodellierung anhand eines Beispiels __________________________________________________________ 86 88 90 91 5.2 Visuelle Repräsentation eines Formulars ______________________________________________________ 99 Formularsystem ______________________________________________________________________________________________ 99 Dynamische Inhalte __________________________________________________________________________________________ 100 Formularkopf und Formularfuß __________________________________________________________________________ 105 Formularlayout anhand eines Beispiels ________________________________________________________________ 106 5.3 Ablaufsteuerung in Formularen ____________________________________________________________________ 107 Anwendungsschritte mit GUI ____________________________________________________________________________ 108 Anwendungsschritte ohne GUI __________________________________________________________________________ 108 Schrittsequenzen ____________________________________________________________________________________________ 109 Die Laufzeitumgebung ______________________________________________________________________________________ 110 Ablaufmodellierung anhand eines Beispiels ________________________________________________________ 112 5.4 Betrieb des Formulars __________________________________________________________________________________ 113 Starten aus einem Webbrowser ________________________________________________________________________ 113 5.5 Einbindung von PDF-Formularen 6 __________________________________________________________________ weiterbearbeitung eingebrachter formulare 115 119 ________________________________________________________________________ Sicherheitsaspekte ______________________________________________________________________________________________________120 6.1 Push-Verfahren ________________________________________________________________________________________________________121 Formularserver ____________________________________________________________________________________________________________122 Backoffice __________________________________________________________________________________________________________________123 XML-Schema ______________________________________________________________________________________________________________130 6.2 Pull-Verfahren __________________________________________________________________________________________________________139 Auslösen des Transports in der Fabasoft eGov-Suite ____________________________________________________140 Ablauf des Transports__________________________________________________________________________________________________140 Ablauf der Datenübernahme in der eGov-Suite ____________________________________________________________142 7 schnittstelle für automatisierte antragstellung 151 __________________________________________________________ 7.1 XML-Schema ____________________________________________________________________________________________________________153 7.2 Ablauf________________________________________________________________________________________________________________________154 7 8 schnittstellen zu weiteren fabasoft softwareprodukten 157 ______________________________________________________________ 8.1 Fabasoft eGov-Suite/WBT ______________________________________________________________________________________157 8.2 Fabasoft CMS 159 __________________________________________________________________________________________________________ SOAP-Aktion auf Seiten von Fabasoft eGov-Forms ______________________________________________________160 Einbindung auf Seiten von Fabasoft CMS ____________________________________________________________________162 9 module für online-applikationen 165 ____________________________________________ 9.1 MOA-ID ________________________________________________________________________________________________________ 165 Einstellungen in der Administrations-Konfiguration ______________________________________________ 166 Aufruf des MOA-ID-Logins ________________________________________________________________________________ 168 9.2 MOA-SP/SS __________________________________________________________________________________________________ 169 Konfiguration für die Signaturprüfung ________________________________________________________________ 169 Aufruf der Signaturprüfung ________________________________________________________________________________ 171 10 funktionsbeschreibung 173 ________________________________________________________________________ 10.1 Anwendungsschritte mit GUI ________________________________________________________________________ 173 Editorseite anzeigen ________________________________________________________________________________________ 173 Lesen und Akzeptieren ______________________________________________________________________________________ 173 10.2 Antragsschritte mit GUI ________________________________________________________________________________ 174 Bürgerkarte auswählen ____________________________________________________________________________________ 174 Formularseite bearbeiten __________________________________________________________________________________ 174 Vollständigen Antrag anzeigen __________________________________________________________________________ 174 Zusammenfassung anzeigen ______________________________________________________________________________ 175 10.3 Anwendungsschritte ohne GUI ______________________________________________________________________ 176 Argument setzen______________________________________________________________________________________________ 176 Ausdruck auswerten ________________________________________________________________________________________ 176 SMTP-Mail versenden ______________________________________________________________________________________ 176 10.4 Anwendungsschritt für Ablaufkontrolle ________________________________________________________ 177 Anwendungen ausführen __________________________________________________________________________________ 177 11 ausblick ____________________________________________________________________________________________________ 179 12 glossar ____________________________________________________________________________________________________ 181 13 abbildungsverzeichnis 14 literaturverzeichnis ______________________________________________________________ 191 ________________________________________________________________________ 194 9 1 11 1 einleitung B2G, C2G, G2G – diese und ähnliche Schlagworte stellen eine Herausforderung für bürgerfreundliche Behörden dar. Sie beschreiben die Interaktion von Behörden mit externen Kommunikationspartnern wie Bürgern (C2G), Unternehmen (B2G) und natürlich auch anderen Behörden (G2G). Fabasoft bietet Standardlösungen zur optimalen Umsetzung der Externwirkung von Behörden und Interessenvertretungen. Mit E-Government steht der öffentlichen Verwaltung eine moderne Technologie zur Verfügung, um der Allgemeinheit die Leistungen über das Internet besser anbieten zu können. Ein gesamter Überblick über die Möglichkeiten des E-Governments im deutschsprachigen Raum wurde bereits im Buch „E-Government mit Fabasoft: Vom Antrag bis zur Zustellung“ [GrAr04] gegeben. Ein wichtiger Bestandteil des gesamten E-Governments ist die Kommunikation mit Bürgern, Kunden, privatwirtschaftlichen Unternehmen und anderen öffentlichen Einrichtungen. Zur Umsetzung der Kommunikation bietet Fabasoft seit vielen Jahren Standardsoftwareprodukte für ContentManagement (siehe Buch „Das Fabasoft Content-Management-System“ [Hofm04]), Online-Formulare und elektronische Zustellung (siehe Buch „Fabasoft Zustellung“ [Kast05]) an. Aus Abbildung 1 ist ersichtlich, dass die elektronische Antragstellung am Anfang des durchgängigen E-Governments steht. Bürger können über eine klar strukturierte Online-Plattform (siehe [Hofm04]) mit der Behörde in Verbindung treten und Online-Verfahren (Anträge, Wünsche, Beschwerden, etc) initiieren. Im Rahmen des Standardproduktportfolios stellt Fabasoft hinreichende Software für die Umsetzung von Formularserverlösungen zur Verfügung. Das Standardsoftwareprodukt Fabasoft eGov-Forms stellt in diesem Zusammenhang eine Plattform für Online-Formulare dar. Zur Entwicklung von Online-Formularen dient der grafische Formulardesigner der Fabasoft eGov-Suite, mit dessen Hilfe Online-Formulare einfach und schnell gestaltet werden können. Im Zuge der Produktentwicklung ist Fabasoft stets bestrebt, sowohl weltweit gültige (SOAP, XML, WAI, etc.) als auch national geltende Standards einzuhalten. Das österreichische E-Government Gütesiegel wurde Fabasoft eGov-Forms am 5. November 2003 verliehen (siehe [Lein05]). Bei diesem Gütesiegel handelt es sich um eine Initiative des IKT-Boards der österreichischen Bundesregierung. Bürgerinnen und Bürger sollten mit seiner Hilfe Abbildung 1 Durchgängiges E-Government Abbildung 2 E-Government Gütesiegel 1. Einleitung 1.1 Ziel und Gliederung des Buches rasch erkennen können, ob ein Produkt, eine Webseite oder eine Transaktion hinreichend sicher und qualitativ hochwertig gemäß den Richtlinien des österreichischen E-Government Gütesiegels ist. Das österreichische E-Government Gütesiegel wurde dem Produkt Fabasoft eGov-Forms für folgende Kriterien überreicht: Styleguide für E-Government Formulare Modul für Online-Applikationen (MOA), Identifikation und Authentifikation MOA, Signaturprüfung und Signaturerstellung Security-Layer Spezifikation WAI Richtlinien Auswahl der Bürgerkartenumgebung 1.1 Ziel und Gliederung des Buches Fabasoft eGov-Forms ist das Standardprodukt von Fabasoft für die Umsetzung der Externwirkung von Behörden. Ziel dieses Buches ist die Darstellung des Funktionsumfanges von Fabasoft eGov-Forms inklusive der Formularentwicklungsumgebungen und Datenübernahmemöglichkeiten in eine Backoffice-Anwendung anhand eines durchgehenden Beispiels. Als Grundlage für die Erstellung und Publikation von Online-Formularen beschreibt das Kapitel 2 unterschiedliche Standards (z.B. Styleguides oder digitale Signatur), die vom Produkt Fabasoft eGov-Forms unterstützt werden. Kapitel 3 gibt einen Überblick über die nötige Hard- und Softwarearchitektur einer Fabasoft eGov-Forms-Umgebung beim Betreiber und Bürger. Speziell wird hier auf die Unterschiede zur Fabasoft Referenzarchitektur eingegangen. Die Software-Umgebung umfasst vor allem notwendige Drittsoftware. Kapitel 4 und 5 beschäftigen sich mit unterschiedlichen Herangehensweisen an die Umsetzung von Online-Formularen. Hierzu zählt die Umsetzung mittels Fabasoft Formulardesigner (Kapitel 4) und mittels generischem 13 Interface (Kapitel 5). Jedes dieser Kapitel stellt anhand eines durchgehenden Beispiels die Vorgehensweise für die Umsetzung dar und erläutert die einzelnen Schritte. Kapitel 6 beschäftigt sich mit der Weiterbearbeitung der vom Antragsteller eingegebenen Daten. Hier wird das Pull- und Push-Verfahren erläutert. Die Möglichkeiten einer automatisierten Datenübergabe an ein Fabasoft eGov-Forms-Service werden im Kapitel 7 dargestellt. Kapitel 8 zeigt Schnittstellen des Produkts Fabasoft eGov-Forms mit anderen Fabasoft Standardprodukten. Im Speziellen handelt es sich hierbei um Fabasoft eGov-Forms/WBT und Fabasoft CMS. Authentisierung und Identifikation des Antragstellers sowie die Signatur von Antragsdaten und ihre Überprüfung sind Inhalt des Kapitels 9. Kapitel 10 gibt einen kleinen Überblick über die wichtigsten Elemente, die zum Erstellen von Onlineformularen mit Fabasoft eGov-Forms benötigt werden. Es werden überblicksweise die am häufigsten benötigten Funktionen bei der Verwendung des Produkts Fabasoft eGov-Forms erläutert. Abschließend bietet Kapitel 11 einen Ausblick auf zukünftige Entwicklungen und Anforderungen an ein Formularserver-System. Nicht Ziel des Buches ist die detaillierte Beschreibung einzelner Funktionalitäten und Use Cases im Sinne eines Benutzerhandbuches. 1.2 Erläuterungen zum Beispiel Dieses Buch erläutert die Entwicklung von Online-Formularen mit dem Standardsoftwareprodukt Fabasoft eGovForms anhand eines durchgängigen Beispiels. Bei der Recherche nach einem geeigneten Musterformular wurde primär der österreichische Amtshelfer [Bund05] im Internet durchsucht. Diese prämierte österreichische OnlinePlattform dient als Anlaufstelle für Bürger, die sich über Behördenwege, Formulare etc. informieren möchten. Aktuell werden dort rund 500 Formulare teils zum Download als PDF bzw. RTF, teils zum Online-Ausfüllen bereit- 1. Einleitung 1.1 Ziel und Gliederung des Buches 1.2 Erläuterungen zum Beispiel gehalten. Laut einer Statistik dieser Plattform stehen an der Spitze der Nachfrage die österreichische Hundeanmeldung und der Antrag auf Ausstellung einer Wahlkarte. Da der Antrag auf Ausstellung einer Wahlkarte im Gegensatz zur Hundeanmeldung lediglich zu Zeiten einer Wahl interessant ist, dient das Formular für die Hundeanmeldung als Grundlage für die Beispiele in diesem Buch. Im Folgenden wird ein Überblick über die Beschaffenheit des Beispielformulars gegeben, um die nötige Grundinformation über den Umfang der Beispiele zu erhalten. Abbildung 3 Fertiges Beispielformular (Seite 1) 15 BEZEICHNUNG TYP LT. E-GOVERNMENT STYLEGUIDE ANMERKUNG Antragsteller N-PERS2 Standardblock Adresse ADR1 Standardblock Kontakte KONT1 Standardblock Angaben zum Hund Details siehe Tabelle 2 individueller Block BEZEICHNUNG TYP ANMERKUNG Rufname * Zeichenkette Geschlecht * Werteliste „männlich“, „weiblich“ Geburtsjahr * Ganzzahliger Wert 4 Ziffern Rasse * Zeichenkette Farbe * Zeichenkette Datum der Übernahme des Hundes * Datum Wie haben Sie den Hund erhalten? * Werteliste Tabelle 1: Formularblöcke für Seite 1 Tabelle 2: Formularblockelemente für Formularblock „Angaben zum Hund“ „Kauf“, „Wurf“, „Geschenk“, „Anderes“ 1. Einleitung 1.2 Erläuterungen zum Beispiel Das Formular besteht aus einem Formularkopf, der den Adressaten (die Behörde), dessen Logo, den Titel, eine Kurzbeschreibung und Hinweise zum Ausfüllen beinhaltet. Es folgen auf der ersten Formularseite vier Formularblöcke, die maßgebliche Informationen über den Hund sowie dessen Halter abfragen (Details zu den Formularblöcken und Formularblockelementen siehe Aufstellung in Tabelle 1 und Tabelle 2). Als Navigationselemente sind nach den Formularblöcken Schaltflächen für „Weiter“ und „Abbrechen“ enthalten. Abgeschlossen wird das Formular mit einem Formularfuß, der eine Formularkennung und einen Link zum Seitenanfang beinhaltet. Abbildung 4 Fertiges Beispielformular (Seite 2) Die zweite Seite des Beispielsformulars enthält die Standardelemente Header, Footer und Navigationsschaltflächen. Auf ihr werden Informationen über den Vorbesitzer und die gewünschte Bezahlungsart abgefragt. Tabelle 3 bis Tabelle 5 beinhalten die Angaben zu dieser Seite. 17 BEZEICHNUNG TYP ANMERKUNG Vorbesitzer Details siehe Tabelle 4 individueller Block Adresse Vorbesitzer ADRK1 Standardblock Bezahlung Details siehe Tabelle 5 individueller Block Anmerkungen zum Antrag ANM Standardblock BEZEICHNUNG TYP ANMERKUNG Familienname Zeichenkette Vorname(n) Zeichenkette Tabelle 3: Formularblöcke für Seite 2 Tabelle 4: Formularblockelemente für Formularblock „VorbesitzerIn“ BEZEICHNUNG TYP ANMERKUNG Zahlungsart * Werteliste „Erlagschein“, „Bar bei Abholung“ Abgaben und Gebühren in EUR * Gleitkommawert max. 3 Vorkomma- und 2 Nachkommastellen Tabelle 5: Formularblockelemente für Formularblock „Bezahlung“ 1. Einleitung 1.2 Erläuterungen zum Beispiel Nachdem sämtliche für die Antragstellung notwendigen Daten auf den ersten beiden Seiten abgefragt wurden, wählt man auf Seite 3 die gewünschte Umgebung für die digitale Signatur aus. Abbildung 5 Fertiges Beispielformular (Seite 3) Die Auswahl der gewünschten Signaturumgebung ist speziell in Österreich relevant, da hier zwischen der Signatur über einen lokal installierten Smartcard-Reader und einer Server-seitigen digitalen Signatur über das Mobiltelefon unterschieden wird. Bei der Umsetzung von digitalen Signaturen über die Schnittstelle CAPICOM (siehe Kapitel 2.3) kann auf die Auswahl der Signaturumgebung verzichtet werden. Nach Eingabe der Daten und Auswahl der Signaturumgebung werden die Daten in einer rein lesbaren Darstellung dem Antragsteller präsentiert und können hier digital signiert werden. Einen abschließenden Eingangsbericht erhält der Antragsteller direkt am Bildschirm sowie per Mail. 19 Abbildung 6 Fertiges Beispielformular (Seite 4) Abbildung 7 Abtransport ins Backoffice – Grundsätzliches Zusammenspiel 1. Einleitung 1.2 Erläuterungen zum Beispiel 1.3 Trennung von Formularentwicklung und Formularserver Die Übertragung an die zuständige Behörde erfolgt per Push-Methode. Die Methode beruht darauf, dass die empfangende Behörde ein Web-Service für die Entgegennahme von Formulardaten zur Verfügung stellt. Alternativ bietet Fabasoft eGov-Forms die Möglichkeit eines Pull-Mechanismus. Hierbei holt sich die BackofficeAnwendung der Behörde die Daten direkt über ein Web-Service von Fabasoft eGov-Forms ab. 1.3 Trennung von Formularentwicklung und Formularserver Beim Produkt Fabasoft eGov-Forms handelt es sich um einen Formularserver für Online-Formulare, der auf einer eigenen Hardware direkt beim Kunden installiert ist. Für die Entwicklung von Online-Formularen stehen mehrere Varianten zur Verfügung: Formularentwicklung mit Hilfe des Formulardesigners der Fabasoft eGov-Suite (siehe Kapitel 4) Formularentwicklung mit Hilfe des generischen Interfaces von Fabasoft eGov-Forms (siehe Kapitel 5) Diese Trennung von Entwicklungs-, Test- und Produktiv-Umgebung (siehe Abbildung 8) dient zur qualitativ hochwertigen Umsetzung von Online-Formularen (vgl. [GrAr04]): Entwicklung Die Entwicklung eines Online-Formulars sollte in einem abgegrenzten System durchgeführt werden. Der Formularersteller erstellt die benötigten Online-Formulare und extrahiert diese nach einer abgeschlossenen Entwicklung. Das Ergebnis ist eine Softwarekomponente, die in eine Testumgebung eingespielt werden kann. Diese muss die vorausgesetzten Softwarekomponenten beinhalten. Testvorgang In einem Testvorgang wird das Online-Formular auf Vollständigkeit geprüft und eventuelle Änderungen dem zuständigen Formularersteller mitgeteilt. Fehlerbehebung (Bugfixing) Nachdem ein Formularersteller eine Liste von weiteren Anforderungen bekommen hat, setzt dieser die Anforderungen um und übermittelt eine neu generierte Softwarekomponente an die Testumgebung. 21 Abbildung 8 Entwicklungs-, Test- und Produktiv-Umgebung Qualitätssicherung Der Testvorgang und die Fehlerbehebung müssen so lange wiederholt werden, bis die Softwarekomponente mit den Online-Formularen den Qualitätsanforderungen entspricht. Hierfür wird die Softwarekomponente ein letztes Mal aus der Entwicklungsumgebung extrahiert und abschließend in die Produktionsumgebung geladen. Ab diesem Zeitpunkt sind die Online-Formulare für den Bürger verfügbar. 1. Einleitung 1.3 Trennung von Formularentwicklung und Formularserver Zusammenfassung Abbildung 9 Einleitung 23 2 25 2 standards Die Einhaltung von nationalen und internationalen Standards ist Voraussetzung für qualitativ hochwertige und längerfristig gesicherte Online-Verfahren. Fabasoft legt hohen Wert auf die Einhaltung gültiger Standards. Details dazu werden in diesem Kapitel dargestellt. Dieses Kapitel stellt die für das Produkt Fabasoft eGov-Forms relevanten Standards dar. Hierzu zählen Styleguide, Web Accessibility Initiative (WAI), digitale Signatur und elektronische Zahlung. Bewusst wird auf die Beschreibung von XML, SOAP, HTML, etc. verzichtet, da eine Online-Applikation ohne Einhaltung dieser Standards ohnehin nicht denkbar ist. 2.1 Styleguide E-Government sollte in erster Linie bürgerfreundlich und einfach sein. Ein unerlässlicher Punkt ist die einheitliche behördenübergreifende Gestaltung von Online-Formularen. Aus diesem Grund wurde der österreichische EGovernment Styleguide entwickelt. Vergleichbare Styleguides für Deutschland, die Schweiz oder England sind derzeit zwar angedacht, aber noch nicht verfügbar. Online-Formular Styleguide Für die Gestaltung von Online-Formularen wurden in Österreich durch die Stabsstelle IKT-Strategie des Bundes Richtlinien im Rahmen des E-Government-Styleguide (aktuelle Version 1.3) vorgegeben [MiWi04a]. Diese Richtlinien sollen eine hohe Qualität und ein einheitliches Auftreten der Online-Dienste österreichischer Verwaltungseinheiten sicherstellen. Zu den grundlegenden Vorgaben dieses Styleguides zählen: weitgehend einheitliche und modulare Struktur durch Standardbausteine (z.B. Antragsteller, Anschrift) einheitliches Layout und Farbgebung einheitliche Navigationselemente Identifikation des Antragstellers mittels Bürgerkarte [ASIT05] (vgl. Kapitel 9.1) Texte sollten bürgerfreundlich aufbereitet und in leicht verständlicher, klarer Umgangssprache formuliert sein. Formulare sollten auch von Menschen mit Benachteiligung (z.B. Sehbehinderten) ausgefüllt werden können. Als Mindestmaß gilt die Erfüllung von Stufe A nach den Richtlinien der Web Accessibility Initiative (WAI) (vgl. Kapitel 2.2) Darauf basierend definiert der Styleguide für Online-Formulare das einheitliche Layout. Es werden Wertebereiche für die Positionierung von Eingabefeldern, Icons und Hilfetexten vorgegeben. Für manche Elemente wird auch die Farbgebung vorgeschrieben. Der grundlegende Aufbau eines Styleguide-konformen Online-Formulars wird in Abbildung 10 dargestellt. Abbildung 10 E-Government Styleguide 2. Standards 2.1 Styleguide Im Zuge des Styleguides wurden für die Entwicklung von Online-Formularen Standardblöcke [MiWi04b] definiert, die in öffentlichen Formularen häufig vorkommen. Hierzu zählen unterschiedliche Darstellungen von: natürlichen Personen nicht natürlichen Personen (juristische Personen, Vereine, etc.) Adressen Kontaktinformationen Schlussendlich soll es dem Antragsteller möglich sein, einen roten Faden durch alle Online-Formulare zu erkennen. Die einheitliche Farbgebung der einzelnen Formularteile innerhalb einer Behörde spielt bei der optischen Gestaltung eine erhebliche Rolle. Es muss eine einheitliche Corporate Design durch alle Online-Formulare einer Behörde durchgezogen werden. Dies macht es dem Antragsteller leichter Online-Formulare auf Anhieb einer Behörde zuzuordnen. Fabasoft hat sich im Zuge der Verleihung des E-Government-Gütesiegels [Lein05] für das Produkt Fabasoft eGovForms zur Einhaltung der im österreichischen E-Government Styleguide definierten Richtlinien verpflichtet und unterstützt darüber hinaus die verantwortlichen Gremien bei der Weiterentwicklung. Druckstyleguide Im Zusammenhang mit dem Styleguide für Online-Formulare gibt es Überlegungen und Richtlinien für die Aufbereitung von Formulardaten in der Druckansicht eines Online-Formulars, den so genannten Druckstyleguide [WiMi04]. Im Wesentlichen sind hier folgende Rahmenbedingungen zu berücksichtigen: Ausdruck im Format A4 Seitennummer muss angebracht werden Position der Adresse der Behörde für Versand mittels Fensterkuvert Abbildung von Wertelisten (Select-Boxen) auf Papier Darstellung von Hilfetexten, die im Online-Formular über Link erreichbar sind 27 Das Produkt Fabasoft eGov-Forms bietet derzeit die Möglichkeit des Ausdrucks einer Schlussübersicht der Antragstellung, die sämtliche vom Antragsteller eingegebenen Daten darstellt. Weiterentwicklungen in diesem Zusammenhang zielen auf die detaillierte Umsetzung der Anforderungen aus dem Druckstyleguide und eine jederzeitige Möglichkeit des Ausdrucks. Auch hier gilt, dass vergleichbare Styleguides in anderen Ländern derzeit nicht verfügbar sind. 2.2 Web Accessibility Initiative Menschen mit Behinderung werden mit dem vermehrten Einsatz von visuellen Gestaltungselementen in Webseiten und Online-Formularen von deren Nutzung ausgegrenzt, da behindertengerechte Hilfsmittel diese Webseiten und Online-Formulare nicht richtig verarbeiten können. In erster Linie betrifft dies sogenannte Screen Reader, die textuelle Inhalte in synthetische Sprache umwandeln und für sehbehinderte Menschen hör- und dadurch nutzbar machen. Überdies gibt es für blinde Menschen spezielle Tastaturerweiterungen, die sogenannte BrailleZeile, welche die interpretierten Texte in einem Ausgabebereich in Blindenschrift umsetzen. Behörden und Unternehmen sollten daher die anwendbaren Richtlinien und Standards im Zuge der Entwicklung von Online-Verfahren berücksichtigen. Die Web Accessibility Initiative (WAI) [W3Co05] des World Wide Web Consortium (W3C) definiert Standards und Richtlinien zur barrierefreien Webgestaltung. Aktuell sind vierzehn Richtlinien bzw. allgemeine Prinzipien für ein zugängliches Design von Webseiten verfügbar. Die Richtlinien gliedern sich in Checkpunkte, wobei jedem Checkpunkt eine Priorität zugeordnet ist. Priorität 1 bedeutet, dass die Webinhalte diesen Checkpunkt erfüllen müssen. Priorität 2 bedeutet, dass die Webinhalte diesen Checkpunkt erfüllen sollen. Priorität 3 bedeutet, dass die Webinhalte diesen Checkpunkt erfüllen können. Abgeleitet von der Priorität der einzelnen Checkpunkte und der Erfüllung durch Webinhalte können drei Stufen der Konformität definiert werden: Konformität Stufe „A“: Alle Checkpunkte der Priorität 1 sind erfüllt. 2. Standards 2.1 Styleguide 2.2 Web Accessibility Initiative Konformität Stufe „Double-A“: Alle Checkpunkte der Priorität 1 und 2 sind erfüllt. Konformität Stufe „Triple-A“: Alle Checkpunkte der Priorität 1, 2 und 3 sind erfüllt. Die folgende Liste gibt einen kurzen Überblick über die Richtlinien zur Erstellung von barrierefreien Webinhalten, die besondere Bedeutung für Online-Formulare haben. Detaillierte Informationen über die Erstellung von barrierefreien Inhalten sind auf der W3C-Website zu finden [W3Co05]. Verweise und Bilder sollen mit einem Alternativtext ausgezeichnet werden, der den verknüpften Inhalt beschreibt (Priorität 1). Man soll sich nicht auf Farben allein verlassen, da diese zur Hervorhebung von wichtigen Informationen auf Monochrom-Monitoren oder von Menschen mit gestörtem Farbsehvermögen (z.B. Rot-Grün-Blindheit) nicht richtig wahrgenommen werden (Priorität 1). Zudem sollte für genügend Kontrast zwischen Vordergrund- und Hintergrundfarbe gesorgt werden (Priorität 2 für Bilder, Priorität 3 für Text). Barrierefreie Webinhalte sollten veröffentlichten formalen Grammatiken (z.B. HTML 4.0) entsprechen (Priorität 2). Formatierungen sollten aufgrund von relativen anstelle von absoluten Einheiten erfolgen. D.h. man sollte z.B. bei Schriftgrößenangaben „em“ oder Prozentsätze anstelle von „pt“ oder „cm“ verwenden (Priorität 2). Befinden sich Sprachübergänge im Webinhalt (z.B. englische Begriffe), so sollten diese entsprechend gekennzeichnet werden (Priorität 1). Tabellen sollten ausschließlich zur Darstellung tabellarischer Informationen verwendet und nicht zu Layoutzwecken missbraucht werden (Priorität 2). Zusätzlich müssen Datentabellen mit Zeilen- und Spaltenüberschriften ausgestattet sein (Priorität 1). Textbasierte Systeme und Screen Reader unterstützen Technologien (wie etwa JavaScript) oft nicht oder nur unzureichend, daher müssen Webinhalte auch einwandfrei funktionieren, wenn diese Technologien deaktiviert sind oder nicht zur Verfügung stehen (Priorität 1). Bewegte (Priorität 2) oder blinkende (Priorität 1) Elemente eines Webinhalts können bei manchen Menschen epileptische Anfälle auslösen. Eine möglichst ruhige Gestaltung der Webinhalte ist daher zu bevorzugen. 29 Webinhalte sollten geräteunabhängig und für eine Bedienung über die Tastatur ausgelegt sein (Priorität 1). Popup-Fenster dürfen nur nach vorheriger Information (z.B. Hinweis im Alt-Text „Popup-Fenster“) des Benutzers geöffnet werden (Priorität 2). Webinhalte sollten auf W3C-Standards (z.B. HTML und CSS) aufbauen (Priorität 2). Navigationselemente sollten in konsistenter Weise verwendet werden (Priorität 2). Textblöcke sollten kurz gehalten und durch Überschriften gegliedert werden (Priorität 1). Fabasoft eGov-Forms verwendet zur Darstellung von Online-Formularen eine spezielle Anwendungssteuerung (Dispatcher). Diese Anwendungssteuerung (Details dazu sind im Buch „Softwareentwicklung mit der Fabasoft VAPP-Technologie“ [KlWi04] beschrieben) liefert einen barrierefreien Inhalt nach den Richtlinien des W3C und kann gemäß den Anforderungen des Betreibers an das Corporate Design der Behörde (des Unternehmens) angepasst werden. Im Zuge dieser Anpassung ist der Entwickler für die Einhaltung der WAI-Richtlinien im Hinblick auf die Gestaltung der Textblöcke und Überschriften sowie die Gliederung der darzustellenden Daten verantwortlich. Da eine Anwendungssteuerung für sämtliche Online-Formulare einer Behörde verwendet werden kann, besteht die Möglichkeit, Änderungen in Bezug auf Corporate Design an einer zentralen Stelle durchzuführen. Um auch die Website einer Behörde (eines Unternehmens) barrierefrei gemäß den Richtlinien des W3C gestalten zu können, stellt das Content-Management-System von Fabasoft die nötige Funktionalität zur Verfügung. Details hierzu können in dem Buch „Das Fabasoft Content-Management-System“ [Hofm04] nachgelesen werden. 2.3 Digitale Signatur Die Richtigkeit der niedergeschriebenen Angaben bei herkömmlichen Papierverträgen mit nicht vernachlässigbarem Inhalt wird in der Regel durch alle beteiligten Parteien bestätigt. Bei der Einreichung eines Formulars, was im weitesten Sinne einem Vertragsschluss entspricht, ist dies nicht anders. Dadurch wird der Partei, die das Formular entgegennimmt, die Richtigkeit der gemachten Angaben bestätigt. Umgekehrt wird dem Einbringer durch das Anbringen eines Eingangsstempels oder dem Aushändigen einer Kopie des Formulars die ordnungsgemäße Übergabe quittiert. 2. Standards 2.2 Web Accessibility Initiative 2.3 Digitale Signatur Mit dieser gegenseitigen Bestätigung wird üblicherweise der Zeitpunkt der Durchführung der Übergabe vermerkt, um Terminstreitigkeiten der beteiligten Parteien auszuschließen. Über diese gegenseitigen Bestätigungen hinaus wird oftmals eine Legitimation der einreichenden Partei, meist in Form eines Lichtbildausweises, verlangt. Welche Möglichkeiten stehen aber bei Online-Formularen zur Verfügung, diese gegenseitige Bestätigung durchzuführen? Mangels der Verfügbarkeit anderer Lösungen findet man heute zahlreiche Online-Formulare, die das Setzen eines Häkchens erzwingen, um die Daten weiterzuleiten und so zumindest ansatzweise eine Form der Bestätigung durch den Einbringer ermöglichen. In Wahrheit kann dies aber nur dann als ausreichend anerkannt werden, wenn einerseits der Streitwert vernachlässigbar ist, und andererseits dem Ausfüllenden keinerlei Schaden durch das Senden des Formulars entstehen kann, da er ja keine Bestätigungen erhält. Genauso wenig wird der Zeitpunkt des Absendens rechtskräftig und -verbindlich dokumentiert. Aus diesem Grund wird eine Lösung benötigt, die technisch soweit fortgeschritten ist, dass Fälschungen nur mit verhältnismäßig hohem Aufwand, am besten unmöglich, durchführbar sind. Weiters muss eine gesetzliche Deckung vorhanden sein. Es würde im Streitfall nichts nützen, wenn zwar ein technisch einwandfreier Unterschriftenersatz verwendet wird, dieser aber vom Gesetz nicht als Unterschrift anerkannt wird. Zu diesem Zweck wurde am 19.01.2000 im Amtsblatt der Europäischen Gemeinschaften (ABl. L 13 vom 19.01.2000, S. 12) die Richtlinie 1999/93/EG des Europäischen Parlaments und des Rates über gemeinschaftliche Rahmenbedingungen für elektronische Signaturen veröffentlicht. Die Richtlinie musste in allen Mitgliedstaaten bis zum 19.07.2001 umgesetzt werden (siehe [RTRG05]). Als derzeit in allen Mitgliedsstaaten anerkannte technologische Umsetzung dieser elektronischen Signatur gilt die digitale Signatur. Wie funktioniert die digitale Signatur? Alle heute bekannten Umsetzungen von digitalen Signaturen verwenden asymmetrische oder Public-Key Verschlüsselungs-Verfahren. Dies bedeutet, dass ein kryptographisches Verfahren angewandt wird, das nicht auf 31 einem geheimen Schlüssel basiert, sondern auf einem Schlüsselpaar. Ein Schlüssel bleibt dabei geheim und ist im Idealfall nicht einmal dem Besitzer selbst direkt zugänglich, wohingegen der andere öffentlich und für jedermann frei verfügbar ist. Dieses Schlüsselpaar ist aufeinander abgestimmt, man kann aber niemals oder nur mit enormen rechnerischem Aufwand von einem Schlüssel auf den anderen schließen. Die beiden Schlüssel ergänzen sich, indem jeweils einer als Argument einer mathematischen Funktion verwendet werden kann, und zum Ausführen der Umkehrfunktion der andere Schlüssel als Argument benötigt wird. Das heißt, wird mit einem Schlüssel eine Verschlüsselungsoperation durchgeführt, so kann diese ausschließlich mit dem anderen Schlüssel des Paars, und keinem sonst, wieder umgekehrt werden. Diese Kryptoverfahren werden auf binäre Daten angewandt, im Falle eines Online-Formulars beispielsweise auf eine XML-Repräsentation der Formulardaten. Würde nun das gesamte Dokument mit dem privaten Schlüssel des Formularsenders codiert, so könnte jeder mit dem öffentlichen Schlüssel jederzeit das Originaldokument wiederherstellen. Somit ist gewährleistet, dass nur der Besitzer des privaten Schlüssels dieses Dokument verschlüsselt haben kann. Da asymmetrische Verschlüsselungsverfahren aber sehr rechenintensiv sind und somit durchaus einige Zeit in Anspruch nehmen können, wird in der Regel nicht das gesamte Dokument, das signiert werden soll, verschlüsselt, sondern nur ein Digest oder Hashwert des Dokuments. Dies hat aber auch zur Folge, dass aus dem verschlüsselten Ergebnis, das die digitale Signatur darstellt, wiederum mit dem öffentlichen Schlüssel nur der Digest zurückerrechnet werden kann. Um nun erfolgreich feststellen zu können, ob die Signatur gültig ist oder nicht, sind die Originaldaten nötig. Daraus kann dann ebenso der Digest des Dokuments berechnet werden und mit dem zuvor entschlüsselten Digest verglichen werden. Im Regelfall reicht diese Digest-basierte Variante der digitalen Signatur aus, um die oben erwähnten Aspekte abzudecken. Anhand der Abbildungen 11 und 12 wird das Erstellen und Verifizieren einer digitalen Signatur grafisch veranschaulicht. 2. Standards 2.3 Digitale Signatur Abbildung 11 Digitale Signatur erstellen Abbildung 12 Digitale Signatur verifizieren 33 Die folgende Liste zeigt die wichtigsten Digest-Algorithmen in diesem Zusammenhang auf. MD2 (Message Digest 2) Der Digest-Algorithmus MD wurde von Ronald Rivest entwickelt, die verbesserte Variante wurde von ihm MD2 genannt. Der MD2-Algorithmus produziert einen 128-bit breiten Digest aus einem beliebigen Datenstrom. MD5 (Message Digest 5) Mehrere Versuche von Ronald Rivest, den MD2-Algorithmus hinsichtlich der Laufzeit zu verbessern, endeten schließlich im MD5-Algorithmus. Dieser produziert ebenfalls einen 128-bit Wert aus einem beliebigen Datenstrom. SHA-1 (Secure Hash Algorithm) Der von der Krypto-Community heute am ehesten empfohlene Algorithmus ist SHA-1. Auch hier war Ronald Rivest sehr stark am Entwurf beteiligt. Der große Vorteil gegenüber den MD-Algorithmen ist die Breite des Digests von 160-bit. Die Wahrscheinlichkeit, ausgehend von einem bestehenden Dokument ein zweites zu finden, das den gleichen Digest ergibt, wurde nochmals um den Faktor 232 verringert. Da, wie der bekannte Kryptologe Bruce Schneier schon seit längerer Zeit erwartet hat, der SHA-1-Algorithmus am 15. Februar 2005 [Schn05] von einem chinesischen Forscherteam gebrochen wurde, wird man in absehbarer Zeit auf alternative Algorithmen zur Hashwertbildung wie SHA-256 bzw. SHA-512 umsteigen müssen. Kryptoverfahren, die bei der digitalen Signatur zum Einsatz kommen, sind folgende: RSA (Rivest Shamir Adleman) RSA ist nach wie vor der ungeschlagene Favorit bei den Kryptographie-Verfahren, obwohl der Algorithmus bereits Ende der 70er-Jahre entwickelt wurde. Vor allem weil er seit Jahren gründlich analysiert werden konnte, gilt er, bei ausreichender Schlüssellänge, als sicher. Die Sicherheit beruht auf der Schwierigkeit, sehr große Zahlen zu faktorisieren. Der benötigte Rechenaufwand, große Zahlen zu faktorisieren, lässt sich recht präzise abschätzen. RSA steht für die drei Anfangsbuchstaben der Namen der Erfinder des Algorithmus, Ronald Rivest, Adi Shamir und Leonard Adleman. 2. Standards 2.3 Digitale Signatur DSA (Digital Signature Algorithm) DSA ist eigentlich kein Krypto-Verfahren. In diesem Fall wird nicht, wie in Abbildung 11 dargestellt, der verschlüsselte Digest als Signatur herangezogen, sondern das Ergebnis einer mathematischen Funktion basierend auf dem diskreten Logarithmus. ECDSA (Elliptic Curves Digital Signature Algorithm) Das ECDSA-Verfahren beruht auf dem gleichen Prinzip wie schon das DSA-Verfahren, nur basiert die verwendete Mathematik auf elliptischen Kurven. Schnittstelle – Security-Layer 1.2 Der Security-Layer ist eine von der Stabsstelle IKT-Strategie des österreichischen Bundes ausgearbeitete Schnittstellendefinition, die vorrangig dazu dient, Online-Applikationen die Plattform-unabhängige digitale Signatur von Dokumenten zu ermöglichen. Zu diesem Zweck kommuniziert die im Browser laufende Applikation über Hyper Text Transport Protocol (HTTP) / Hyper Text Transport Protocol Secure (HTTPS) mit einer lokal laufenden Anwendung, der sogenannten Bürgerkartenumgebung. Diese Bürgerkartenumgebung führt die Signatur durch und leitet die signierten Daten entweder direkt oder indirekt über ein Webservice zurück zum Browser. Die Bürgerkartenumgebung stellt einen Secure-Viewer zur Verfügung, der die zu signierenden Daten vor dem Durchführen der Signatur unverfälscht visualisiert. Die digitale Signatur erfolgt in diesem Falle entweder gemäß CMS (Cryptographic Message Syntax) bzw. gemäß der XMLDSIG-Spezifikation. Fabasoft eGov-Forms unterstützt mit dem Schritt „Zusammenfassung anzeigen“ (FSCFORMS@1.1001: ShowSummaryStep) eine digitale Signatur nach XMLDSIG der zusammengefassten Formulardaten gemäß Security-Layer-Spezifikation der Version 1.2. Dieser Schritt visualisiert die vom Benutzer eingegebenen Formulardaten und führt beim Auslösen der auf der Zusammenfassungsseite vorhandenen „Signieren“-Schaltfläche, die analog zu den anderen verfügbaren Schaltflächen frei definierbar ist, eine HTTP bzw. HTTPS-POST-Anfrage zur zuvor ausgewählten Bürgerkartenumgebung durch. 35 Die Bürgerkartenumgebung wird in der Anfrage angewiesen, die signierten Daten zum Formularserver weiterzuleiten und gibt die Antwort des Formularservers direkt an das Browserfenster zurück. Auf Wunsch können die signierten Daten am Formularserver sofort über ein konfigurierbares MOA-SPSS-Service verifiziert werden. Schlägt die Verifikation fehl, so wird der Grund dem unterschreibenden Benutzer dargestellt, und er erhält nochmals die Möglichkeit die Signatur durchzuführen. Eine ungültige Signatur wird nicht akzeptiert. Verläuft die Verifikation fehlerlos, so werden die signierten Daten in der Eigenschaft Signierter Inhalt (FSCDIGSIG@1.1001:sigcont) abgelegt und stehen somit zur weiteren Verwendung bereit. Schnittstelle – CAPICOM CAPICOM ist eine COM-Schnittstelle zur Verwendung des Microsoft CryptoAPI. Diese COM-Schnittstelle stellt Objekte für den Cryptographic Service Provider (CSP)-basierten Zugriff auf die in Windows-Betriebssysteme integrierte Kryptographie- und Signaturfunktionalität zur Verfügung. Auf Grund der COM-Architektur kann diese Schnittstelle nur von Microsoft Internet Explorer basierten Web-Browsern aus verwendet werden. Fabasoft eGov-Forms stellt den Antragsschritt mit Graphical User Interface (GUI) Mit FSC-WebSigner signieren (FSCFORMS@1.1001:SignWebSignerStep) zur Verwendung dieser Schnittstelle zur Verfügung. Dieser Schritt visualisiert den Hauptinhalt des Antrags als Formularseite und bietet neben den bei allen Antragsschritten mit GUI verfügbaren Schaltflächen auch eine „Signieren“-Schaltfläche, die analog zu anderen frei benannt werden kann. Betätigt der Anwender diese Schaltfläche, so wird ein Dialog dargestellt, in dem alle im aktuellen Benutzerkontext verfügbaren Zertifikate dargestellt werden. Der Benutzer wählt sein Signaturzertifikat aus. Anschließend werden die zu signierenden Daten an CAPICOM übergeben. CAPICOM führt die Signatur durch und liefert – je nach Einstellung – entweder die Originaldatei mit der Signaturinformation oder nur die Signaturinformation als binäre PKCS#7-konforme Daten zurück. Diese Daten werden beim Antrag in der Eigenschaft Signierter Inhalt (FSCDIGSIG@1.1001:sigcont) abgelegt. Es wird hierbei eine serverseitige Verifikation durchgeführt. 2. Standards 2.3 Digitale Signatur 2.4. Elektronische Zahlung Das Ergebnis der Verifikation wird in der Eigenschaft digitale Signaturen (FSCDIGSIG@1.1001: digsignatures) festgehalten. 2.4 Elektronische Zahlung In den vergangenen Jahren haben Banken zusammen mit Handel, Industrie und öffentlichen Verwaltungen große Bemühungen unternommen, um das Bezahlen im Internet sicher und ohne Medienbruch, also durchgehend elektronisch, umzusetzen. Hierzu wurden internationale und nationale Initiativen gestartet, die sich mit der Ausarbeitung diesbezüglicher Standards beschäftigen. In Österreich wurde beispielsweise von der bankenübergreifenden Studiengesellschaft für Zusammenarbeit im Zahlungsverkehr [STUZ05] der eps e-payment standard erarbeitet. Dieser Standard ermöglicht Bankkunden eine Abwicklung ihres Zahlungsverkehrs bei Einkäufen oder Vergebührungen im Internet. Bei der Ausarbeitung dieses Standards machte man sich die Vertrautheit des Bürgers mit den bestehenden Internet Banking Systemen und deren Sicherheitsstandards zunutze. Festzuhalten ist jedoch, dass es sich bei dem eps e-payment standard nicht um ein eigenständiges Produkt, sondern um eine offene, normierte Schnittstelle für Online Zahlungssysteme handelt, die in der Version 2.1.1 [Geis04] auf folgenden Grundlagen beruht: ECBS Bankenstandard für den electronic Payment Initiator (ePI ~ elektronischer Zahlschein) Initiative der österreichischen Banken: eps e-payment standard (Version 1) E-Government: elektronische Zahlungsbestätigung 37 Ein typischer Ablauf einer Zahlung via eps e-payment standard wird in Abbildung 13 dargestellt. Fabasoft eGov-Forms unterstützt mit dem Schritt „eps2-Zahlung“ eine elektronische Zahlung über den eps2-Standard. Dieser Schritt visualisiert dem Antragsteller den zu zahlenden Betrag und führt beim Auslösen der auf der Zahlungsseite vorhandenen „Bezahlen“-Schaltfläche, die analog zu den anderen verfügbaren Schaltflächen frei definierbar ist, eine HTTP bzw. HTTPS-POST-Anfrage zur konfigurierten eps2-Zahlstelle aus. Der Antragsteller wird über einen Redirect mit dem Banksystem verbunden und kann dort nach erfolgter Identifikation die ausgefüllte Überweisung bestätigen. Im Anschluss bestätigt das Bank-System die Zahlung gegenüber Fabasoft eGov-Forms und löst beim Antragsteller abermals einen Redirect auf den Antrag aus. Nach positivem Abschluss der Zahlung erhält der Antragsteller eine Bestätigung durch den Schritt „eps2-Zahlung“. Abbildung 13 Ablauf bei eps e-payment standard nach [Jung04] 2. Standards 2.4. Elektronische Zahlung Zusammenfassung Abbildung 14 Standards 39 3 41 3 architektur Fabasoft eGov-Forms ist als verteilte Webanwendung implementiert. Die Kommunikation erfolgt einerseits interaktiv über eine grafische Benutzeroberfläche, wobei für die Darstellung ein Webbrowser-Client genutzt wird und andererseits programmatisch über Web-Services. Die Auflistung und Beschreibung der dazu nötigen Hard- und Softwarearchitektur auf Betreiber- und auf Bürgerseite stellt den Inhalt dieses Kapitels dar. 3.1 Betreiber Am Beispiel von E-Government vom Antrag bis zur Zustellung (siehe Abbildung 1) wird klar, dass aufgrund des Nutzenversprechens im Bereich der Kommunikation mit dem Bürger der Bedarf an einem hochverfügbaren Betrieb von 24 Stunden an allen Tagen des Jahres (7x24-Betrieb) besteht. Der Betreiber einer Fabasoft eGovForms Installation hat somit in Bezug auf Hochverfügbarkeit, Skalierbarkeit und Managebarkeit hohe Ansprüche. Daraus ergibt sich die im Folgenden beschriebene Referenzarchitektur für Fabasoft eGov-Forms als Ableitung der Fabasoft Referenzarchitektur. Hardwarearchitektur Die Fabasoft Referenzarchitektur bietet dem Betreiber eine optimale Möglichkeit, die gewünschten Anforderungen gemäß den definierten und geforderten Service Levels zu gewährleisten. Das Buch „Die Fabasoft Referenzarchitektur im Microsoft Windows-Umfeld“ [FAHJ04] beschreibt die notwendige Hardwarearchitektur auf Betreiberseite im Detail (Überblick siehe Abbildung 15). Ausgehend von der Fabasoft Referenzarchitektur beschreibt die folgende Liste die für Fabasoft eGov-Forms notwendigen Komponenten: WAN Netzwerkanbindung zwischen dem Internet und dem Anschaltknoten im Rechenzentrum. Im Unterschied zur Fabasoft Referenzarchitektur handelt es sich hier nicht um eine Schnittstelle zwischen Arbeitsplatz-LAN und dem Rechenzentrum, sondern zwischen Internet und Rechenzentrum. Abbildung 15 Fabasoft Referenzarchitektur [FAHJ04] Anschaltknoten Der Anschaltknoten ist der Übergabepunkt für die Anwendung und der Messpunkt für den Service-Level. Firewall Die Server-Firewall soll das Rechenzentrum vor Angriffen aus dem WAN (dem Internet) schützen. Lastverteiler (Load-Balancer, Content-Switch) Der Lastverteiler verteilt die eintreffenden Anfragen der Benutzer auf die Webserver-Farm und damit auf die Fabasoft Components Services. Frontend-LAN Das Frontend-LAN verbindet den Lastverteiler mit der Webserver-Farm. 3. Architektur 3.1 Betreiber Webserver-Farm Die Webserver-Farm besteht aus jenen Servern, auf welchen die Fabasoft Components Webservices (Verarbeitungslogik der Anwendung und Generierung der Darstellung) ablaufen. Backend-LAN Das Backend-LAN verbindet die Webserver mit den Backendserver-Clustern und den Konvertierungsservern sowie die Backendserver-Cluster mit den Datenbankserver-Clustern. Darüber hinaus verbindet das BackendLAN als Backbone auch die Server für die Basisdienste mit den anderen Servern. Konvertierungsserver-Farm (Conversionserver-Farm) Die Konvertierungsserver-Farm besteht aus jenen Servern, auf welchen die Fabasoft Components Konvertierungsservices (Formatkonvertierungen für Dokumente) ablaufen. Im Zusammenhang mit Online-Formularen werden diese Services für die Konvertierung der Schlussansicht in ein druckbares Format (z.B. PDF) verwendet. Eine weitere Möglichkeit besteht darin, dem Antragsteller eine finale Form seines ausgefüllten Antrags zur Verfügung zu stellen. AT-Server (Automated Tasks) Am AT-Server laufen die Fabasoft Components AT-Services für die Durchführung automatischer Aufgaben im Kontext eines Benutzers ohne Benutzerinteraktion ab. Im Zusammenhang mit Fabasoft eGov-Forms könnten diese Server den regelmäßigen Abtransport der Daten in die elektronische Akten- und Vorgangsbearbeitung übernehmen. Backendserver-Cluster Der Backendserver-Cluster erledigt die Datenhaltung (Persistenz) für die Geschäftsobjekte im Zuge der Fabasoft Components COO-Services für die strukturierten Daten (in relationalen Datenbanken) und im Zuge der Fabasoft Components MMC-Services für die unstrukturierten Daten (Dokumente, Bilder, Multimediadaten im Dateisystem). Datenbankserver-Cluster Das auf dem Datenbankserver-Cluster laufende relationale Datenbanksystem (z.B. Microsoft SQL Server) speichert die strukturierten Daten für jedes Fabasoft Components COO-Service in je einer Datenbank. 43 Storage Area Network (SAN) Das SAN verbindet die Backend-Cluster (Speicherung von Dokumenten im Dateisystem) sowie die Datenbank-Cluster (Speicherung der Datenbankdateien) mit dem Storagesystem. Storagesystem Das Storagesystem ist ein großer Festplattenspeicher. Server für Basisdienste Domaincontroller Mailserver Managementserver Backupserver MOA-ID-Server Der MOA-ID-Server übernimmt die Identifikation des Benutzers in Österreich gemäß der Spezifikation der Stabsstelle IKT-Strategie des Bundes [ScKM03]. MOA-SPSS-Server Der MOA-SPSS-Server übernimmt die Signaturprüfung der Bürgersignatur gemäß der Spezifikation der Stabsstelle IKT-Strategie des Bundes in Österreich [ScMo03]. Softwarearchitektur Das Buch „Die Fabasoft Referenzarchitektur im Microsoft Windows-Umfeld“ [FAHJ04] liefert bereits mögliche Softwarekonfigurationen. Diese können ebenfalls für eine Installation von Fabasoft eGov-Forms verwendet werden. Die Identifikations- und Signaturverfahren sind weitgehend länderspezifisch. Somit ist beispielsweise bei einem Betreiber in Österreich zusätzlich die Installation der MOA-ID und MOA-SPSS-Services notwendig. Diese beiden Module für Online-Anwendungen sind sowohl für Organisationseinheiten der öffentlichen Verwaltung als auch für die Privatwirtschaft (fast) kostenfrei zugänglich und können bei der Stabsstelle IKT-Strategie des Bundes in Österreich beantragt werden. Die kostenfreie Verfügbarkeit bezieht sich alleine auf die Nutzungsrechte der Module. Für die Nutzung durch die Privatwirtschaft bestehen Einschränkungen hinsichtlich einiger von den Modulen genutzten Basisbibliotheken [Stab05]. 3. Architektur 3.1 Betreiber 3.2 Administrator 3.3 Bürger Konfigurationsmöglichkeiten und Setupanleitungen sind im Package enthalten. Kapitel 9 erläutert die Einbindung in Fabasoft eGov-Forms. 3.2 Administrator Der Administrator in einem Fabasoft eGov-Forms Umfeld greift über einen Web-Schreibtisch auf die Administrationsmöglichkeiten von Fabasoft eGov-Forms zu. In der Fabasoft Referenzarchitektur kann der Administrator als Benutzer eines Arbeitsplatzes gesehen werden. Das Buch „Die Fabasoft Referenzarchitektur im Microsoft Windows-Umfeld“ [FAHJ04] stellt dazu eine Beispielkonfiguration dar. 3.3 Bürger Auf Seiten des Bürgers (des Antragstellers) stellt das Produkt Fabasoft eGov-Forms keine besonderen Anforderungen, da grundsätzlich reines HTML mit Javascript als Output des Produktes generiert wird. Installationen auf Seiten des Bürgers sind somit nicht nötig. Hardwarearchitektur Der Bürger als Benutzer des Systems muss zumindest einen internetfähigen PC inkl. Zugang zum Internet besitzen, um Online-Formulare ausfüllen zu können. Sofern in Verbindung mit der Antragstellung auch eine digitale Signatur durchgeführt werden soll, muss der Bürger über einen Smartcard-Reader inkl. dazugehöriger Smartcard verfügen. Betrachtet man die digitale Signatur in Österreich, so muss der Benutzer über eine Bürgerkarte und ein geeignetes Chipkartenlesegerät oder eine Bürgerkarte light und dazugehöriges Mobiltelefon verfügen. Softwarearchitektur Der Bürger benötigt folgende Software für den Zugriff auf die Online-Formulare von Fabasoft eGov-Forms: HTML 4.0-konformer Web-Browser 45 Zum Ausführen der digitalen Signatur ist in Österreich eine der folgenden Bürgerkartenumgebungen nötig: trust-desk von IT-Solution [ITSo05] hot.sign von BDC [BDCE05] A1 SIGNATUR von mobilkom austria [Mobi05] Andere digitale Signaturen können über einen Crypto Service Provider sowie dessen Software abgewickelt werden. Zusätzlich benötigt der Bürger die passende Treiber-Software für den verwendeten Smartcard-Reader. Bürgerkarte in Österreich Durch die Verwendung einer digitalen Signatur mit einer Bürgerkarte (elektronische Identitätskarte) wird in elektronischen Geschäftsbeziehungen die Echtheit eines Dokuments einer Person bestätigt. Um elektronische Dokumente digital signieren zu können, wird eine Bürgerkarte oder eine Handysignatur (Signatur über Mobiltelefon), auch „Bürgerkarte light“ genannt, benötigt. Beide Signatureinrichtungen werden nur von staatlich anerkannten Betreibern zur Verfügung gestellt. Verschlüsselung Zusätzlich bietet die digitale Signatur die Möglichkeit, Dokumente mit Hilfe eines Public-Key-Systems zu verschlüsseln. Hierfür benötigt der Bürger ein gültiges Zertifikat einer zentralen Stelle, um ein Dokument mit seinem öffentlichen Schlüssel verschlüsseln zu können. Ist ein Dokument mit einem Public-Key (Öffentlicher Schlüssel) verschlüsselt, so kann dieser nur mit dem persönlichen Private-Key (Geheimer Schlüssel) entschlüsselt werden. Des Weiteren kann die Signaturkarte zur Authentifizierung bei diversen Online-Diensten verwendet werden. Auf der Signaturkarte sind persönliche Daten sowie persönliche Identifikationsnummern gespeichert. Bürgerkarte Die digitale Signatur mit der Bürgerkarte setzt ein Kartenlesegerät und eine Signaturkarte voraus. Hier wird der Antrag mit der Eingabe einer Signatur-PIN und der Signaturkarte digital signiert. Seit Anfang 2005 sind alle neu 3. Architektur 3.1 Bürger ausgegebenen Maestro-Karten (Bankomatkarten) bürgerkartentauglich. Alternativ dazu kann über A-Trust eine persönliche, dem österreichischen Signaturgesetz entsprechende Signaturkarte mit Bürgerkartenfunktionalität bestellt werden. Zur Verwendung der Bürgerkarte am PC benötigt man als Signaturumgebung ein Kartenlesegerät mit der dazugehörigen Treiber-Software, die a.trust-Software „a.sign client“ und für die sichere Signatur in einer E-Government-Anwendung den so genannten „Security-Layer“. Dieser kann entweder bei A-Trust für A-Trust Karteninhaber oder bei der Stabsstelle IKT-Strategie des Bundes gratis heruntergeladen werden. Weitere Informationen findet man unter www.A-Trust.at [Atru05]. Handy-Signatur (Bürgerkarte light) Bei der Handy-Signatur wird die digitale Signatur über das Internet mit dem Handy Login und SMS durchgeführt. Derzeit wird die Signatur mit Handy nur von mobilkom austria unter dem Namen A1 SIGNATUR angeboten. Man muss jedoch kein A1 Handy besitzen, sondern kann diesen Dienst auch nutzen, wenn man Kunde eines anderen österreichischen Mobilfunkbetreibers ist. Weitere Informationen findet man unter www.A1.net/signatur [Mobi05]. 47 Zusammenfassung Abbildung 16 Architektur 3. Architektur 3.1 Bürger 49 4 fabasoft 4 formulardesigner In diesem Kapitel soll das in Kapitel 1.2 dargestellte Formular für die „Hundeanmeldung“ mit dem Formulardesigner der Fabasoft eGov-Suite entwickelt werden. Anhand dieses praxisnahen Beispiels wird Schritt für Schritt auf die zentralen Elemente des Formulardesigners eingegangen. Die Formularentwicklung mit Fabasoft Standardprodukten gliedert sich in die Entwicklung und den Ablauf von Online-Formularen. Der Formulardesigner als Bestandteil der Fabasoft eGov-Suite ist ein geeignetes Instrument, um Online-Formulare intuitiv und kostengünstig zu gestalten. Fertiggestellte Online-Formulare werden nach ausführlichen Tests aus dem Entwicklungssystem in das Runtime-System übertragen und somit für Bürger und Kunden zur Verfügung gestellt. 4.1 Zielgruppe und Beweggründe Die Entwicklung von Online-Formularen bedeutet häufig, eine Spezifikation auf Basis von verfügbaren PapierFormularen durchführen zu müssen und anschließend für die Umsetzung IT-Fachkräfte zu beauftragen. Besser und kostensparender wäre es jedoch, wenn Mitarbeiter der Fachabteilungen nicht Formulare spezifizieren, sondern diese gleich in einem Web-Interface modellieren könnten. Lediglich der letzte Schliff des Online-Formulars und die Produktivsetzung müsste von einer IT-Fachkraft durchgeführt werden. Die Zielgruppe, Mitarbeiter einer Fachabteilung innerhalb der Behörde, stellen ganz besondere Anforderungen im Hinblick auf Einfachheit, Übersichtlichkeit und Schnelligkeit an die Entwicklung von Online-Formularen. Fabasoft hat diese Überlegung aufgenommen und den Anforderungen dieser Zielgruppe in der Entwicklung des Formulardesigners der Fabasoft eGov-Suite Rechnung getragen. Der Formulardesigner bietet eine abstrakte Sicht auf das generische Interface zur projektorientierten Entwicklung von Online-Formularen für Fabasoft eGovForms. Dem Anwender werden die Details der Modellierung wie zum Beispiel Schrittdefinitionen oder Typdefinitionen abgenommen. Dies ermöglicht dem Formularersteller die Konzentration auf wesentliche Punkte wie die Gestaltung der Formularblöcke und die Aufteilung auf Formularseiten. 51 4.2 Aufbau und Elemente Der Formulardesigner ermöglicht eine projektorientierte Entwicklung von Online-Formularen auf Basis einer intuitiven, grafischen Web-Oberfläche. Die Web-Oberfläche ist als Portal gestaltet und enthält folgende Elemente (siehe Abbildung 17): Antragsprojekt Antragsformulare Formularseiten Formularelemente Formularschaltflächen Formularblöcke Formularblockelemente Plausibilitätsprüfungen Die Entwicklung von Online-Formularen kann bottom-up (vom Formularblockelement zum Antragsformular) durchgeführt werden. Die Entwicklung auf Basis des bottom-up-Ansatzes fordert den Formularersteller auf, sich das Formular auf unterster Ebene (Formularblockelemente) zu überlegen und erst später die Kombination in Formularblöcke und Formularseiten vorzunehmen. In vergangenen Projekten stellte sich heraus, dass besonders die Wiederverwendung von Elementen bei Verwendung des bottom-up-Ansatzes erhöht wurde und so schlankere Datenstrukturen entstanden. Die folgenden Unterkapitel erläutern die Möglichkeiten und den Sinn der einzelnen Elemente des Formulardesigners und folgen dem bottom-up-Ansatz. 4. Fabasoft Formulardesigner 4.2 Aufbau und Elemente Abbildung 17 Struktur des Formulardesigners Antragsprojekt Ein Antragsprojekt (siehe Abbildung 17) stellt das Wurzelobjekt im Formulardesigner dar und ermöglicht die Zusammenfassung von mehreren Antragsformularen. Somit wäre die Gliederung der Antragsformulare in Themengebiete möglich. Alternativ dazu können Antragsprojekte als Vorlagensammlung für weitere Antragsprojekte dienen, indem behördenspezifische Standardelemente (Formularblöcke, Formularelemente, Formularseiten, Formularblockelemente,…) in einem Antragsprojekt definiert und dieses Antragsprojekt in weiteren Antragsprojekten referenziert werden. Ziel ist es, sämtliche Antragsformulare einer Behörde mit denselben Elementen und Blöcken darzustellen. Ein Bürger findet sich somit leichter zurecht. 53 Der Benutzer des Formulardesigners kann ein Antragsprojekt erstellen, benennen und einem Workflow zuordnen. Daher kann die Erstellung eines Online-Formulars über die Workflow-Komponente der Fabasoft eGov-Suite gesteuert werden. Die Zugriffsrechte auf das Antragsprojekt innerhalb des Workflows werden durch ein Rollenkonzept definiert. Für den Fabasoft Formulardesigner sind folgende Rollen verfügbar: Forms Designer/Forms Autor Forms Redakteur Forms Tester Forms Administrator Hinter einem Antragsprojekt verbirgt sich im generischen Interface eine Softwarekomponente, die aus der Entwicklungsumgebung in eine Test- bzw. eine Produktivumgebung übertragen werden kann. Ein Antragsprojekt ermöglicht die Definition folgender Metadaten: Eindeutige Bezeichnung Wie bereits erwähnt, verbirgt der Formulardesigner die nötigen Aktivitäten auf generischer Seite. Es ist dennoch nötig, eine Referenz für die zu erzeugende Softwarekomponente anzugeben. Name Neben der eindeutigen Bezeichnung des Antragsprojekts ist es möglich, einen sprechenden Namen für das Projekt zu definieren. Standardanwendungssteuerung Diese Anwendungssteuerung dient zur Darstellung der Testansicht und der Modellierungsansicht innerhalb dieses Projektes. Um die Online-Formulare einer Behörde in einem einheitlichen Design zur Verfügung zu stellen, empfiehlt es sich, für alle Online-Formulare dieselbe Anwendungssteuerung zu verwenden. Die detaillierten Aufgaben einer Anwendungssteuerung können in [KlWi04] nachgelesen werden. Softwarekomponenten für Blöcke von Vorlagen Über diese Liste von Softwarekomponenten können Standardblöcke eingebunden werden. Die Softwarekomponente FSCFORMSAT im Produkt Fabasoft eGov-Forms enthält bereits eine Reihe von vordefinierten Standardblöcken. 4. Fabasoft Formulardesigner 4.2 Aufbau und Elemente Sammlungen von verwendbaren Elementen Hier ist die Referenzierung von Antragsprojekten möglich. Elemente, die in den referenzierten Antragsformularen enthalten sind, können direkt in diesem Projekt verwendet werden. Somit besteht eine weitreichende Möglichkeit der Wiederverwendung. Formularkopf-Vorlage Der Formulardesigner spezifiziert eine Vorlage für die Formularköpfe in den Antragsformularen dieses Projektes. Abgeleitet von diesem Template können Formularköpfe für die einzelnen Antragsformulare modelliert werden. Formularfuß-Vorlage Wie bei der Formularkopf-Vorlage dargestellt, besteht beim Formularkopf ebenfalls die Möglichkeit ein Template zu spezifizieren. Kommentar Das Kommentar-Feld ist innerhalb des Formulardesigners in jedem Element enthalten und ermöglicht dem Benutzer einen beliebigen Kommentar zu hinterlassen. Dieser Kommentar dient ausschließlich der Dokumentation. Dokumentation Die Objektliste „Dokumentation“ dient als Ablage für beliebige Dokumente. Hier können beispielsweise der Projektauftrag und diverse Protokolle abgelegt werden. Beispiel – Hundeanmeldung – Antragsprojekt Als Basis für die bottom-up-Umsetzung des Beispiels „Hundeanmeldung“ muss zuerst ein Antragsprojekt erstellt werden. Das aktuell bearbeitete Antragsprojekt im Formulardesigner wird geschlossen und ein Neues erzeugt. Die Abbildung 18 enthält die dazu nötigen Einstellungen. 55 Abbildung 18 Antragsprojekt Formularblockelemente Das Formularblockelement ist die kleinste Einheit bei der Gestaltung eines Online-Formulars (siehe Abbildung 17) und entspricht den einzelnen Eingabefeldern. Der Formulardesigner stellt folgende Typen von Formularblockelementen zur Verfügung: Boolescher Wert Kann als Checkbox oder als Radio-Group dargestellt werden. Datum Automatisch wird ein Kalendersymbol zum Suchen des Datums eingeblendet. 4. Fabasoft Formulardesigner 4.2 Aufbau und Elemente Datum/Uhrzeit Entspricht dem Typ „Datum“, jedoch wird zusätzlich ein Eingabefeld für die Uhrzeit angezeigt. Ganzzahliger Wert Die Anzahl der Ziffern kann konfiguriert werden. Gleitkommawert Die Konfiguration der Vor- und Nachkommastellen ist möglich. HTML-Fragment Hiermit können statische HTML-Fragmente definiert und in ein Formular eingebettet werden. PLZ/Ort Stellt zwei Eingabefelder zur Eingabe bzw. Suche von PLZ/Ort-Kombinationen zur Verfügung. PLZ/Ort ist in der Softwarekomponente FSCFORMSAT enthalten und kann daher nur verwendet werden, wenn diese Softwarekomponente in der Fabasoft eGov-Forms Installation vorhanden ist. Trennlinie Werteliste Ermöglicht die selektive Auswahl eines Wertes mittels Dropdown oder Radio-Group. Der Formularentwickler kann bei der Werteliste eine Initialisierung definieren. Zeichenketten Können einzeilig oder mehrzeilig dargestellt werden und dienen der Eingabe von Freitexten und Kommentaren. Formularblockelemente können im Ordner „Formularblockelemente“ erzeugt bzw. bearbeitet werden. Alle Formularblockelemente besitzen folgende Metadaten: Mehrsprachiger Name Der Name des neuen Elements. Aufgrund dieses Namens soll das Element vom Benutzer erkannt werden. Der mehrsprachige Name wird zusätzlich als Bezeichnung des Formularblockelements im fertigen Antragsformular verwendet. 57 Eindeutige Bezeichnung Diese Bezeichnung muss innerhalb des Antragsprojektes eindeutig sein und entspricht im generischen Interface der Referenz des neuen Formularblockelements. Typ Der Typ wird bereits bei der Erzeugung des Formularblockelements festgelegt. Kommentar Das Kommentar-Feld ist innerhalb des Formulardesigners in jedem Element enthalten und ermöglicht dem Benutzer einen beliebigen Kommentar zu hinterlassen. Dieser Kommentar dient der Dokumentation des Projektes. 4. Fabasoft Formulardesigner 4.2 Aufbau und Elemente Beispiel – Hundeanmeldung – Formularblockelemente Bei der Umsetzung des Beispielformulars „Hundeanmeldung“ wird auf ein Maximum an Wiederverwendbarkeit geachtet. Daher können viele Formularblöcke und Formularblockelemente aus Sammlungen von Standardelementen bezogen werden. Dazu kommen Formularblockelemente, die spezifisch für das Beispielformular relevant sind. Folgende Angaben zum Hund (siehe Tabelle 2): „Rufname“ „Geburtsjahr“ „Rasse“ „Farbe“ „Datum der Übernahme des Hundes“ „Wie haben Sie den Hund erhalten?“ Da sich die Erzeugung von unterschiedlichen Formularblockelementen nicht oder nur wenig unterscheidet, wird hier nur auf die Erzeugung eines Formularblockelements eingegangen. Das Formularblockelement „Wie haben Sie den Hund erhalten?“ stellt in der oben angeführten Liste eine Ausnahme dar, da es sich hierbei um eine Werteliste handelt. Nach dem Wechsel in den Ordner „Formularblockelemente“ im Formulardesigner klickt man die Schaltfläche „Erzeugen“ und erhält anschießend eine Auswahl der zur Verfügung stehenden Formularblockelement-Typen (siehe Abbildung 19). Nach Auswahl des Formularblockelement-Typs „Werteliste“ und Klick auf „Weiter“ erhält man die Aufforderung die notwendigen Metadaten einzugeben (siehe Abbildung 20). Über die Darstellung kann beispielsweise die gewünschte optische Aufbereitung ausgewählt werden. In der Liste „Wertelisteneinträge“ werden die gewünschten Einträge „Kauf“, „Wurf“, „Geschenk“ und „Anderes“ eingetragen. Vergleichbare Vorgehensweisen sind für die Erstellung der restlichen Formularblockelemente nötig. 59 Abbildung 19 Formularblockelement – Auswahl Abbildung 20 Formularblockelement – Werteliste 4. Fabasoft Formulardesigner 4.2 Aufbau und Elemente Plausibilitätsprüfungen Im Gegensatz zu Papierformularen bietet ein Online-Formular die Möglichkeit, Eingaben des Benutzers sofort zu überprüfen und gegebenenfalls eine Fehlermeldung darzustellen. Dies erhöht nicht nur die Qualität der erhaltenen Formulardaten, sondern reduziert zudem den nötigen Administrationsaufwand im Falle einer Falschangabe. Plausibilitätsprüfungen wie die Überprüfung nach Datentyp (z.B. Text, Zahl) oder der Form der Eingabe (z.B. Datumsformat) werden automatisch vom Produkt Fabasoft eGov-Forms übernommen. Zusätzlich kann der Formularentwickler über den Formulardesigner benutzerdefinierte Plausibilitätsprüfungen erstellen. Diese Fehlerüberprüfungen können einem oder mehreren Formularblockelementen zugeordnet werden. Der Formulardesigner der Fabasoft eGov-Suite stellt drei Typen von Plausibilitätsprüfungen zur Verfügung: Numerischer Wertebereich Es besteht die Möglichkeit einen Wertebereich zu definieren, in dem der eingegebene Wert liegen darf. Boolescher Wert Diese Plausibilitätsprüfung ermöglicht die Überprüfung des Wertes auf „wahr“ oder „falsch“. In der Regel wird diese Eigenschaft im Online-Formular durch ein Kontrollkästchen oder durch eine Optionsgruppe (Radio-Group) angezeigt. Sinn macht dieser Typ der Plausibilitätsprüfung, wenn der Antragsteller einen dargestellten Text explizit akzeptieren muss (Wert muss „Ja“ sein). Fabasoft Components Expression (Ausdruck) [KlWi04] Diese Plausibilitätsprüfung kann auf jedes beliebige Formularblockelement angewendet werden. Es muss ein Ausdruck in Form einer Fabasoft Components Expression eingegeben werden. Ergibt die Auswertung der Plausibilitätsprüfung „falsch“, so kann ein benutzerdefinierter Fehlertext ausgegeben werden. 61 Beispiel – Hundeanmeldung – Plausibilitätsprüfung Da im Beispielformular „Hundeanmeldung“ das Feld „Geburtsjahr“ als ganzzahliger Wert mit 4 Ziffern definiert ist, sollte eine numerische Eingabeüberprüfung auf Werte zwischen 1980 und 2005 prüfen. Dazu klickt man auf die Schaltfläche „Erzeugen“ im Ordner „Plausibilitätsprüfungen“ und wählt die in Abbildung 21 sichtbaren Einstellungen aus. Zusätzlich muss das Formularblockelement „Geburtsjahr“ zum Bearbeiten geöffnet werden. In der Liste für Plausibilitätsprüfungen kann für dieses Formularblockelement die eben erstellte Plausibilitätsprüfung eingefügt werden. Abbildung 21 Plausibilitätsprüfung 4. Fabasoft Formulardesigner 4.2 Aufbau und Elemente Formularblöcke Formularblöcke fassen mehrere Formularblockelemente zu einer logischen Einheit zusammen (z.B. Antragsteller). Bei der Erstellung der Formularblöcke wird klar zwischen der Datenstruktur und der Formatierung eines Formularblocks unterschieden. Im Zuge des Anlegens eines Formularblocks wird der Benutzer nach den gewünschten Formularblockelementen gefragt. Davon ausgehend erstellt der Formulardesigner automatisiert eine Standardformatierung. Der Formularentwickler hat die Möglichkeit diese Standardformatierung abzuändern und/oder eine beliebige Anzahl von zusätzlichen Formatierungen zu diesem einen Formularblock hinzuzufügen. Die Gestaltung der Formatierung erfolgt im WYSIWYG-Verfahren und ermöglicht somit beste Ergebnisse. Formularblöcke können im Formulardesigner über den Ordner „Formularblöcke“ erstellt, gelesen und bearbeitet werden. Alle Formularblöcke besitzen folgende Metadaten: Mehrsprachiger Name Der Name des neuen Formularblocks. Aufgrund dieses Namens soll der Formularblock vom Benutzer erkannt werden. Der mehrsprachige Name wird zusätzlich als Überschrift des Formularblocks im fertigen Antragsformular verwendet. Eindeutige Bezeichnung Diese Bezeichnung muss innerhalb des Antragsprojektes eindeutig sein und entspricht im generischen Interface der Referenz des neuen Formularblocks. Typ Der Typ wird bereits bei der Erzeugung des Formularblocks festgelegt und im Bearbeitungsmodus des Formularblocks read-only dargestellt. Musseingabe Legt fest, ob dieser Formularblock beim Ausfüllen des Formulars ausgefüllt werden muss. Falls dieser vom Antragsteller nicht ausgefüllt wird, folgt eine dementsprechende Fehlermeldung. 63 Kommentar Das Kommentar-Feld ist innerhalb des Formulardesigners in jedem Element enthalten und ermöglicht dem Benutzer einen beliebigen Kommentar zu hinterlassen. Dieser Kommentar dient der Dokumentation des Projektes. Der Formulardesigner der Fabasoft eGov-Suite stellt drei unterschiedliche Typen von Formularblöcken zur Verfügung: Daten Der Formularentwickler kann mit Hilfe dieses Typs individuelle Formularblöcke für die Eingabe von Daten definieren. Im Zuge dessen legt er die Datenstruktur und das Layout fest. Ein Formularblock vom Typ „Daten“ kann auch als Listenblock dargestellt werden (siehe Abbildung 21). Der Antragsteller hat somit die Möglichkeit, den Formularblock mehrmals auszufüllen. Nötige Schaltflächen für „Eintrag erzeugen“ und „Löschen“ stehen standardmäßig zur Verfügung. 4. Fabasoft Formulardesigner 4.2 Aufbau und Elemente Beispiel – Hundeanmeldung – Formularblock – Daten Das Beispielformular „Hundeanmeldung“ beinhaltet insgesamt 8 Formularblöcke. Davon sind drei Formularblöcke keine Standardblöcke und müssen somit direkt vom Formularentwickler modelliert werden. Beispielhaft wird hier die Erzeugung des Formularblocks „Angaben zum Hund“ beschrieben. Der Formularentwickler klickt auf die Schaltfläche „Erzeugen“ im Ordner „Formularblöcke“. Anschließend wählt er den Formularblocktyp „Daten“ aus und klickt auf „Weiter“. Abbildung 22 zeigt die Metadaten, die im Rahmen der Datenstruktur für diesen Formularblock eingegeben werden müssen bzw. können. Zu sehen ist, dass z.B. das Formularblockelement „Geschlecht“ aus dem Projekt „Sammlung von Standardelementen“ wieder verwendet wurde. Zusätzlich möchte der Formularentwickler die automatisch generierte Standardformatierung abändern. Er wählt dazu den Formularblock aus der Liste der Formularblöcke aus und sieht im unteren Bereich der Darstellung eine Liste von Formatierungen. Durch Klick auf einen Eintrag dieser Liste wird die Vorschau auf diese Formatierung geöffnet und der Formularentwickler kann durch Betätigen der Schaltfläche „Bearbeiten“ mit der Bearbeitung der Formatierung beginnen. Abbildung 23 zeigt das Ergebnis der Formatierung. Beim Formularblockelement „Farbe“ ist deutlich zu sehen, dass jedes einzelne Formularblockelement per Drag & Drop verschoben werden kann. Die Formularblöcke „Vorbesitzer“ und „Bezahlung“ können analog erstellt werden. 65 Abbildung 22 Formularblock (Daten) erzeugen Abbildung 23 Formularblock-Formatierung bearbeiten 4. Fabasoft Formulardesigner 4.2 Aufbau und Elemente Daten (Kopie von Vorlage) Basierend auf Standardblöcken (z.B. behördeninternen Standardblöcken oder Styleguides) kann der Formularentwickler einen eigenen Formularblock instanziieren. Die Datenstruktur bzw. eine oder mehrere Formatierungen für diesen Formularblock sind bereits vorhanden und der Formularentwickler hat nur mehr Einfluss auf die Anordnung der Formularblockelemente im Rahmen einer vorgegebenen Formatierung. Typische Beispiele für diesen Typ von Formularblock wären der „Antragsteller“, „Kontaktinformationen“, etc. Analog zum Formularblock vom Typ „Daten“ kann auch ein Formularblock vom Typ „Daten (Kopie von Vorlage)“ als Listenblock verwendet werden. Beispiel – Hundeanmeldung – Formularblock – Daten (Kopie von Vorlage) Das Beispielformular „Hundeanmeldung“ beinhaltet 8 Formularblöcke. Der Großteil davon sind Standardblöcke. Beispielhaft wird hier die Erstellung des Standardblocks „Antragsteller“ beschrieben. Der Formularentwickler wechselt in den Ordner „Formularblöcke“ und wählt die Schaltfläche „Erzeugen“. Im anschließenden Dialog wählt er den Formulartyp „Daten (Kopie von Vorlage)“ und klickt auf „Weiter“. Abbildung 24 zeigt die Metadaten, die für diesen Typ von Formularblock definiert werden können. Wichtig in diesem Zusammenhang ist die richtige Auswahl der Vorlage. Es werden alle möglichen Vorlagen, die in den eingebundenen Softwarekomponenten des Antragsprojektes zur Verfügung stehen, angezeigt. Der Formularentwickler wählt den Eintrag „– Natürliche Person – Standardblock“ aus und schließt die Bearbeitung ab. Die weiteren Standardblöcke für das Beispielformular können analog erzeugt werden. 67 Abbildung 24 Formularblock (Daten (Kopie von Vorlage)) Beilagen Beilagen stellen einen weiteren Typ des Formularblocks dar. Mit Hilfe dieses Typs hat der Formularentwickler die Möglichkeit, Beilagen-Uploads in sein Online-Formular einzubinden. Beim Anlegen eines Formularblocks vom Typ „Beilagen“ hat der Formularentwickler die Möglichkeit zu definieren, welche Beilagen der Antragsteller dem Formular anfügen kann. Jede dieser Beilagendefinitionen entspricht im Formular einer Beilagenzeile. Um mehrere Beilagen in einem Block unterbringen zu können, müssen auch mehrere Beilagendefinitionen erstellt werden. Hierbei ist es jedoch egal, ob sich die Beilagendefinitionen innerhalb eines Formularblocks befinden oder über mehrere Formularblöcke hinweg im gesamten Antragsformular verteilt sind. Bei jeder Beilagendefinition muss die Anzahl der erlaubten Dateien definiert werden. Der Formulardesigner stellt hierbei folgende Einstellungen zur Verfügung: 4. Fabasoft Formulardesigner 4.2 Aufbau und Elemente Abbildung 25 Formularblock (Beilagen) Genau eine Datei muss beigelegt werden Bei dieser Einstellung muss der Antragsteller genau eine Datei hinzufügen. Es wird also diese Beilage als Mussbeilage definiert. Maximal eine Datei darf beigelegt werden Bei dieser Einstellung kann der Antragsteller genau eine oder keine Datei hinzufügen. Es ist also keine Pflichtbeilage. Mindestens eine Datei muss beigelegt werden Bei dieser Einstellung muss der Antragsteller mindestens eine Datei hinzufügen, optional kann er aber auch mehrere Dateien beilegen. 69 Eine beliebige Anzahl von Dateien darf beigelegt werden Bei dieser Einstellung kann der Antragsteller eine beliebige Anzahl von Dateien hinzufügen, muss aber nicht. Zusätzlich wird über den Formulardesigner definiert, ob der Antragsteller die Beilage auch später abseits dieser Antragstellung nachreichen kann. Abbildung 25 zeigt die unterschiedlichen Beilagendefinitionen im fertigen Formular. Formularschaltflächen Ein Online-Formular benötigt diverse Formularschaltflächen, um dem Antragsteller die Navigation zwischen den einzelnen Formularseiten zu erlauben. Der Formulardesigner erstellt beim Anlegen eines Antragsprojektes standardmäßig drei Formularschaltflächen, diese können über den Ordner „Formularschaltflächen“ abgerufen werden. Jede Formularschaltfläche hat einen Typ, dieser legt die Funktion dieser Schaltfläche fest. Folgende Typen stehen im Formulardesigner zur Verfügung: Weiter – wechselt auf die nächste Seite im Antragsformular. Zurück – wechselt auf die vorherige Seite im Antragsformular. Abbrechen – bricht die Antragstellung ab und führt die Liste der Abbruchsschritte aus. Signieren – löst das Signieren des Antragsformulars aus. Download – konvertiert die Schlussübersicht in ein Format ohne externe Referenzen (z.B. PDF) und löst den Befehl „Speichern“ des Browsers aus. Ausdruck – konvertiert die Schlussübersicht in ein druckbares Format (z.B. PDF) und löst den Befehl „Drucken“ des Browsers aus. Die Formularschaltflächen „Signieren“, „Download“ und „Ausdruck“ stehen nur in einer Seite des Typs „Zusammenfassung anzeigen“ zur Verfügung. 4. Fabasoft Formulardesigner 4.2 Aufbau und Elemente Beispiel – Hundeanmeldung – Formularschaltflächen Um den Beispielantrag „Hundeanmeldung“ auf der Seite „Zusammenfassung anzeigen“ signieren zu können, muss der Formularentwickler im Ordner „Formularschaltflächen“ des Formulardesigners eine neue Formularschaltfläche erstellen. Hierzu klickt er auf „Erzeugen“ und definiert einen mehrsprachigen Namen (Text der Schaltfläche) sowie den Typ „Signieren“. Auf eine gleiche Art und Weise könnte der Formularentwickler auch Formularschaltflächen für den Download und den Ausdruck der Formularzusammenfassung definieren. Formularelemente Über den Ordner „Formularelemente“ des Formulardesigners können Kopf- und Fußzeilen modelliert werden. Der Formulardesigner bietet die Möglichkeit, Kopf- und Fußzeilen von den Vorlagen, die beim Antragsprojekt angegeben wurden, zu initialisieren und anschließend zu bearbeiten. So wird eine konsistente Formularstruktur und grafische Aufbereitung möglich. Der österreichische E-Government-Styleguide 1.3 [MiWi04a] gibt die Grundform dieser Elemente, wie beispielsweise die des Formularkopfes, vor. Alternativ dazu können beliebige Vorlagen für den Seitenkopf und Seitenfuß definiert werden. Beim Erzeugen eines Formularelements wird dessen Typ abgefragt. Hier stehen folgende beiden Typen zur Auswahl: Seitenkopf – kann in weiterer Folge im Antragsformular als Kopfzeile verwendet werden. Die Initialisierung erfolgt aufgrund der Vorlage für den Formularkopf. Seitenfuß – kann in weiterer Folge im Antragsformular als Fußzeile verwendet werden. Die Initialisierung erfolgt aufgrund der Vorlage für den Formularfuß. Für die Bearbeitung der Formularelemente steht ein HTML-Editor zur Verfügung. Dieser Editor ermöglicht neben der Gestaltung und Bearbeitung von Texten auch das Einfügen von dynamischen Werten über Fabasoft Compo- 71 nents Expressions. Der Formulardesigner der Fabasoft eGov-Suite zeigt im mitgelieferten Beispielformularkopf für die Einbettung von Formulartitel, Formularbeschreibung sowie den Link auf eine Informationsseite bereits beispielhaft die Anwendung derartiger logischer Ausdrücke. Im HTML-Editor sind diese Fabasoft Components Expressions dezent blau hinterlegt (siehe Abbildung 26). Beispiel – Hundeanmeldung – Formularkopf Der Formularentwickler wechselt in den Ordner „Formularelemente“ und klickt auf die Schaltfläche „Erzeugen“. Um einen Seitenkopf für das Beispielformular „Hundeanmeldung“ zu erzeugen, gibt er einen mehrsprachigen Namen für den Seitenkopf ein und klickt auf „Von Vorlage initialisieren“. Im HTML-Editor erscheint eine Kopie des Seitenkopfes, die der Formularentwickler nach seinen Vorgaben abändern kann (z.B. Adressat). Das Ergebnis dieser Bearbeitung ist in Abbildung 26 zu sehen. Auf dieselbe Art und Weise kann der Formularentwickler den Seitenfuß erstellen bzw. bearbeiten. Im endgültigen Online-Formular werden die folgenden dynamischen Werte in den Seitenkopf eingerechnet: Formulartitel Einleitungstext Infolink Abbildung 27 zeigt den Seitenkopf nach erfolgter Berechnung der dynamischen Werte. 4. Fabasoft Formulardesigner 4.2 Aufbau und Elemente Abbildung 26 Formularelement (Seitenkopf) erzeugen Abbildung 27 Formularelement (Seitenkopf) im Formular 73 Formularseiten Formularseiten können im Formulardesigner über den Ordner „Formularseiten“ erstellt, gelesen und bearbeitet werden. Alle Formularseiten besitzen folgende Metadaten: Mehrsprachiger Name Der Name der neuen Formularseite. Dieser Name wird in der Titelzeile des Browsers dargestellt. Eindeutige Bezeichnung Diese Bezeichnung muss innerhalb des Antragsprojektes eindeutig sein und entspricht im generischen Interface der Referenz der neuen Formularseite. Typ Der Typ wird bereits bei der Erzeugung der Formularseite festgelegt und bei der Bearbeitung der Formularseite read-only dargestellt. Formularschaltflächen In dieser Liste können die gewünschten Formularschaltflächen angegeben werden. Die Reihenfolge innerhalb dieser Liste ist unerheblich, da aufgrund der Einheitlichkeit im Formular die Reihung der Schaltflächen von Fabasoft eGov-Forms gemäß den Vorschriften des Styleguides übernommen wird. Kommentar Das Kommentar-Feld ist innerhalb des Formulardesigners in jedem Element enthalten und ermöglicht dem Benutzer einen beliebigen Kommentar zu hinterlegen. Dieser Kommentar dient der Dokumentation des Projektes. Nachdem in den vorherigen Schritten bereits Formularblockelemente und Formularblöcke erstellt wurden, ist der nächste Schritt der Formularentwicklung die Zusammenstellung von Formularseiten. Der Formulardesigner stellt vier unterschiedliche Typen von Formularseiten mit unterschiedlichen Zielsetzungen zur Verfügung: Dateneingabe Formularseiten vom Typ „Dateneingabe“ ermöglichen die Anzeige von Formularblöcken. Die hier angegebenen Formularblöcke werden in der bestehenden Reihenfolge im Online-Formular wiedergegeben. 4. Fabasoft Formulardesigner 4.2 Aufbau und Elemente Die Zusammenstellung der einzelnen Formularblöcke erfolgt nach dem WYSIWYG-Verfahren. Im Zuge dessen kann die Darstellung des Formularblocks geändert werden, indem man die beim Formularblock gespeicherten Formatierungen auswählt. Information anzeigen Formularseiten vom Typ „Information anzeigen“ enthalten grundsätzlich einen statischen HTML-Text, der über den HTML-Editor eingegeben werden kann. Auch hier besteht die Möglichkeit, dynamische Werte über Fabasoft Components Expressions in die Formularseite einzubetten. Bürgerkarte auswählen Wenn der Antrag digital signiert werden soll, dann muss vor der Formularseite des Typs Zusammenfassung anzeigen – oder auch schon zu einem früheren Zeitpunkt – eine Formularseite des Typs „Bürgerkarte auswählen“ ausgeführt werden. Dem Antragsteller wird hiermit ermöglicht, die von ihm bevorzugte Bürgerkarte oder Bürgerkarte light (A1 SIGNATUR der mobilkom austria) auszuwählen. Zusammenfassung anzeigen Eine Formularseite dieses Typs wird typischerweise am Ende eines Antragsformulars eingefügt. Gemäß den Einstellungen dieser Seite kann eine digitale Signatur der eben eingegebenen Antragsdaten erforderlich, optional oder überhaupt nicht notwendig sein. Die Zusammenfassung wird vom Produkt Fabasoft eGovForms automatisch generiert und zeigt dem Antragsteller die eingegebenen Antragsdaten in einer read-only Darstellung. Eingangsbericht anzeigen Formularseiten vom Typ „Eingangsbericht anzeigen“ ermöglichen die Darstellung eines Eingangsberichts für den Antragsteller. Dieser Bericht enthält folgende Informationen, die über ein Stylesheet optisch aufbereitet werden können: Empfänger Jeder Antrag wird an eine definierte Behörde gestellt. Die postalische Adresse, die Telefonnummer, eine E-Mail-Adresse und der Uniform Ressource Locator (URL) des Online-Formulars werden im Kontext des Empfängers dargestellt. 75 Logo Jedem Bericht ist auch das Logo der empfangenden Behörde zugeordnet. Eingangsnummer Die Eingangsnummer besteht aus der Formularkennung (diese kann über das Antragsformular definiert werden) und einer laufenden Nummer. Datum und Zeit Hier wird der Zeitpunkt des Einlangens des Antrags festgehalten. Optional besteht die Möglichkeit, den Eingangszeitpunkt von einem Zeitstempeldienst bestätigen zu lassen. Signaturprüfung und Zertifikatsprüfung Die Prüfungsergebnisse für die Signatur und das Zertifikat sind ebenfalls in der Eingangsbestätigung enthalten. Antragsteller Da in weiterer Folge der gesamte Antrag nochmals in der Empfangsbestätigung enthalten ist, wird unter dem Antragsteller nur der Name dargestellt. Betreff In diesem Attribut ist der Titel des Antragsformulars enthalten. Beilagen Eine Auflistung sämtlicher dem Antrag beigelegten Dokumente mit den Angaben „Bezeichnung“, „Dateiendung“ und „Hashwert“ bildet den letzten Punkt der Empfangsbestätigung. Neben diesen Daten steht dem Antragsteller über die Formularseite „Empfangsbestätigung anzeigen“ auch der gesamte Antrag zum Download zur Verfügung. 4. Fabasoft Formulardesigner 4.2 Aufbau und Elemente Beispiel – Hundeanmeldung – Formularseite Das Beispielformular „Hundeanmeldung“ besteht aus 5 Formularseiten, wobei die ersten beiden Seiten vom Typ „Dateneingabe“, die dritte vom Typ „Bürgerkarte auswählen“, die vierte vom Typ „Zusammenfassung anzeigen“ und die letzte vom Typ „Empfangsbestätigung anzeigen“ ist. Beispielhaft wird im Folgenden beschrieben, wie eine Formularseite zur Dateneingabe modelliert werden kann. Der Formularentwickler wechselt in den Ordner „Formularseiten“ und klickt auf die Schaltfläche „Erzeugen“. Anschließend wählt er den Typ „Dateneingabe“ aus und setzt die Bearbeitung mit „Weiter“ fort. Im oberen Teil dieser Ansicht erhält der Formularentwickler eine Vorschau auf die fertige Formularseite (aktuell sind hier noch keine Formularblöcke enthalten). Im unteren Teil stehen die verfügbaren Elemente für die Formularseite zur Verfügung. Durch Drag & Drop der Elemente an die gewünschte Stelle der Vorschau kann die Formularseite zusammengestellt werden. Will der Formularentwickler ein Element wieder aus der Formularseite entfernen, dann zieht er es per Drag & Drop auf das Recycle-Icon in der Vorschau. Wird etwa der Formularblock „Antragsteller“ nicht in der richtigen Formatierung dargestellt, wählt der Formularentwickler mit Hilfe des kleinen Kontext-Menü-Icons die gewünschte Formatierung (z.B. N-PERS2) aus. Über die Registerkarte „Eigenschaften“ legt der Formularentwickler einen mehrsprachigen Namen für diese Formularseite, z.B. „Seite 1 – Dateneingabe“, fest. Dieser mehrsprachige Name wird im fertigen Antragsformular in der Titelzeile des Browsers dargestellt. Das Ergebnis der Bearbeitung ist in Abbildung 28 zu sehen. 77 Abbildung 28 Formularseite erzeugen/bearbeiten Antragsformulare Ein Online-Formular entspricht im Rahmen des Formulardesigners einem Antragsformular. Im Antragsformular werden die Formularseiten angegeben, die im Laufe der Antragstellung angezeigt werden sollen. Die hier definierte Reihenfolge der Formularseiten bestimmt den Ablauf der Seiten im Online-Formular. Neben den Formularseiten kann festgelegt werden, welcher Formularkopf bzw. welcher Formularfuß bei diesem Antragsformular angezeigt werden soll. In den Metadaten des Antragsformulars kann eine Formularbeschreibung, ein Infolink und ein Formulartitel definiert werden. Der Infolink verweist den Antragsteller auf allgemeine Informationen zum Online-Formular und kann pro Online-Formular vom Anwender definiert werden. Der Infolink und weitere Metadaten kommen als dynamische Werte, die über eine Fabasoft Components Expression in den Formularkopf bzw. den Formularfuß geschrieben werden können, zur Anwendung. 4. Fabasoft Formulardesigner 4.2 Aufbau und Elemente Der Formularentwickler hat die Möglichkeit sich das Online-Formular in einer Vorschau anzeigen zu lassen. Diese Vorschau enthält bereits alle Funktionalitäten, die im Online-Formular eingebaut wurden, und stellt somit eine vollständige Testversion des fertigen Online-Formulars zur Verfügung. Beispiel – Hundeanmeldung – Antragsformular Zum Abschluss der Modellierung eines Online-Formulars wird im Ordner „Antragsformular“ über die Schaltfläche „Erzeugen“ ein neues Antragsformular erstellt und die möglichen Metadaten werden eingegeben. Zusätzlich werden zur Liste der Formularseiten (Registerkarte „Seiten für neuen Antrag“) – innerhalb des Antragsformulars – die gewünschten Seiten hinzugefügt (siehe Abbildung 29) und anschließend die Bearbeitung abgeschlossen. Um sicherzustellen, dass das fertige Online-Formular tatsächlich den Anforderungen entspricht, wird die Schaltfläche „Antragsformular testen“ ausgewählt. 79 Abbildung 29 Antragsformular erstellen 4. Fabasoft Formulardesigner 4.2 Aufbau und Elemente 4.3 Projektorientierter Ansatz und Einbindung des Workflows 4.3 Projektorientierter Ansatz und Einbindung des Workflows Wie bereits eingangs erwähnt, ermöglicht der Formulardesigner der Fabasoft eGov-Suite die projektorientierte Entwicklung von Online-Formularen auf Basis einer intuitiven, grafischen Web-Oberfläche. Im Zuge der Entwicklung kann ein Antragsprojekt von einem Benutzer des Formulardesigners erstellt, benannt und einem Workflow zugeordnet werden. So besteht die Möglichkeit, die Erstellung eines Online-Formulars über die Workflow-Komponente der Fabasoft eGov-Suite zu steuern. Die Zugriffsrechte auf das Antragsprojekt innerhalb des Workflows werden durch ein Rollenkonzept gesteuert. Der Formulardesigner stellt folgende Rollen zur Verfügung: Forms Designer Ein Formularentwickler mit dieser Rolle hat die grundsätzliche Aufgabe das Antragsformular zu modellieren. Forms Redakteur Ein Formularentwickler mit dieser Rolle hat zusätzlich zu den Rechten eines Forms Designers das Recht, ein Antragsprojekt zu erstellen und somit die Umsetzung eines Antragsformulars in Gang zu setzen. Forms Tester Ein Formularentwickler mit dieser Rolle hat keine Bearbeitungsrechte innerhalb des Antragsprojektes. Er kann lediglich die im Antragsprojekt enthaltenen Antragsformulare in einer Testansicht ausführen und Änderungsanmerkungen hinzufügen (siehe Abbildung 30). Forms Administrator Ein Formularentwickler mit dieser Rolle hat ausschließlich das Recht, ein Antragsprojekt zu extrahieren und in eine Test- bzw. Produktionsumgebung zu laden. Der projektorientierte Ansatz bei der Formularentwicklung ist auch im Rahmen der Wiederverwendung von Elementen (Formularseiten, Formularblöcken, Formularblockelementen, etc.) unerlässlich. So könnte man etwa in einem Projekt mit der Bezeichnung „Sammlung von Standardelementen“ behördenspezifische Standardelemente entwickeln, die dann sämtlichen Formularentwicklern zur Verfügung stehen. Ein einheitliches Aussehen der behördeneigenen Online-Formulare wird somit gefördert. 81 Abbildung 30 Review-Ansicht Um das Aussehen der Online-Formulare weiter zu vereinheitlichen, können Standardbausteine für Formularblöcke in Form einer Softwarekomponente mitgeliefert werden. 4.4 Übertragung auf den Formularserver Ausgehend von den in Kapitel 1.3 dargestellten Gesichtspunkten, im Hinblick auf die Trennung von Entwicklungs-, Test- und Produktionsumgebung, stellt die Entwicklungsumgebung für Online-Formulare die Funktionalität zum Extrahieren eines Antragsprojektes zur Verfügung. Die daraus entstehende Datendatei kann in die Testumgebung kopiert und dort über die Funktionalität zum Laden einer Softwarekomponente in das Testsystem geladen werden. 4. Fabasoft Formulardesigner 4.3 Projektorientierter Ansatz und Einbindung des Workflows 4.4 Übertragung auf den Formularserver Um Tests möglichst nah am Produktivsystem zu gewährleisten, sei darauf hingewiesen, dass es sich beim Testsystem um eine Runtime von Fabasoft eGov-Forms handeln sollte. Nach Abschluss der Tests kann die Datendatei im Produktionssystem geladen werden. Somit steht das Online-Formular für den Antragsteller im Internet zur Verfügung. Zusammenfassung Abbildung 31 Formulardesigner 83 5 formularentwicklung 5 im generischen interface In diesem Kapitel soll das bereits aus vorangegangenen Kapiteln bekannte Hundeanmeldungsformular mit dem generischen Zugang ohne Unterstützung durch den Formulardesigner entwickelt werden. Anhand dieses praxisnahen Beispiels wird Schritt für Schritt auf die zentralen Elemente, die die Fabasoft eGov-Forms Runtime dafür zur Verfügung stellt, eingegangen, und somit ein Jumpstart in die fortgeschrittene Formularentwicklung geboten. Fabasoft eGov-Forms stellt aus technischer Sicht eine sehr effiziente Anwendungsentwicklungs- und Laufzeitumgebung dar, die speziell für das Erstellen und Servicieren von hochverfügbaren Onlineformularen konzipiert ist. Zu diesem Zweck setzt das Produkt gänzlich auf der bewährten Fabasoft VAPP-Technologie, die ausführlich in [KlWi04] erläutert wird, auf. Dies hat zur Folge, dass das Produkt Fabasoft eGov-Forms äußerst flexibel und erweiterbar ist. Es wird aber auch bereits eine umfangreiche Sammlung wiederverwendbarer Elemente zur Verfügung gestellt, um dem Formularentwickler ein höchst effizientes Werkzeug zum Erstellen von Onlineformularen in die Hand zu geben. Die Fabasoft eGov-Forms Laufzeitumgebung dient einerseits dazu, bereits bestehende Formulare zu betreiben, ist aber auch gleichzeitig die Basis für den Erstellungsprozess neuer Formulare, unabhängig davon, ob dies im Formulardesigner oder im generischen Interface geschieht. Für eine Vielzahl von Formularen wird durch den Einsatz des Formulardesigners diese Form der Low-Level-Entwicklung nicht mehr notwendig sein. Soll jedoch der Output des Formulardesigners um spezielle Features erweitert werden, so ist es durchaus hilfreich, wenn dem Formularentwickler das verwendete Werkzeug detailliert bekannt ist und er über die existierenden Möglichkeiten Bescheid weiß. Aus diesem Grund wird in den nachfolgenden Abschnitten die Fabasoft eGov-Forms Laufzeitumgebung im Detail beleuchtet. 85 Die Modellierung eines Formulars mit Fabasoft eGov-Forms erfolgt in der Regel auf den folgenden konzeptionellen Ebenen: Datenmodell Visuelle Repräsentation (GUI) Ablaufsteuerung Betrieb des Formulars Weiterbearbeitung der erhaltenen Daten Für jede dieser Ebenen stellt das Produkt Fabasoft eGov-Forms bereits die benötigten Komponenten zur Verfügung, um innerhalb kürzester Entwicklungszeit das gewünschte Formular in Betrieb nehmen zu können. Die nachfolgenden Abschnitte dieses Kapitels erläutern die ersten vier dieser Ebenen und zeigen deren Anwendung mit dem Produkt Fabasoft eGov-Forms anhand der Umsetzung des Beispielformulars „Hundeanmeldung“. Der letzten Ebene, der Weiterverarbeitung der empfangenen Daten, widmet sich Kapitel 6. 5.1 Datenmodell eines Formulars Die Definition eines Onlineformulars erfolgt in Fabasoft eGov-Forms durch ein spezielles Komponentenobjekt der Klasse Objektklasse für Anträge (FSCFORMS@1.1001:SolicitationClass). Dadurch ist gewährleistet, dass die Laufzeitumgebung die Attribute, die zur Ausführung des Formulars benötigt werden, vorfindet. Die am häufigsten verwendeten Eigenschaften sind: Seitenkopf Seitenfuß Formulartitel Eindeutige Formularkennung Formularbeschreibung 5. Formularentwicklung im generischen Interface 5.1 Datenmodell eines Formulars Für neuen Antrag auszuführende Schritte Dynamische Werte Dieses Objekt, selbst wieder eine Objektklasse, erhält als Basisklasse (COOSYSTEM@1.1: classsuperclass) die Objektklasse Antrag (FSCFORMS@1.1001:Solicitation). Die Basisklasse stellt die nötigen Attribute für die einzelnen Instanzen dieser Klasse (den tatsächlich mit Werten befüllbaren Formulardatenbehältern) die allgemeinen Eigenschaften, die nahezu jedes Formular benötigt, bereit. 87 Folgende Liste zeigt die am häufigsten verwendeten Attribute: Hauptinhalt XSL-Inhalt Antragsstatus Beilagen Signierter Inhalt Dieser neuen Objektklasse werden der Reihe nach alle Attribute (COOSYSTEM@1.1:classattributes) zugeordnet, die speziell für dieses Formular benötigt werden (beispielsweise „Informationen über den Hund“ im bereits bekannten Hundeanmeldeformular). Um möglichst effektiv mit Fabasoft eGov-Forms zu arbeiten, ist bereits an dieser Stelle eine Gruppierung der Daten zu logischen Einheiten in Form von Aggregaten anzustreben. Datentypen Als mögliche Datentypen für Eigenschaften stehen alle Basisdatentypen von Fabasoft Components zur freien Verfügung. Da die Basisdatentypen bereits ausführlich in [KlWi04] beschrieben sind, wird an dieser Stelle nur mehr eine kurze Auflistung zur schnellen Übersicht angeführt. Ganzzahl Boolescher Wert Gleitkommazahl Datum/Uhrzeit Zeichenkette Inhalt Objektverweis Aufzählung Zusammengesetzter Typ 5. Formularentwicklung im generischen Interface 5.1 Datenmodell eines Formulars Darüber hinaus definiert die Softwarekomponente FSC Forms Base (FSCFORMS@1.1001) als weiteren Datentyp die Beilageneigenschaft (FSCFORMS@1.1001:AttributeAttachmentDef), die speziell für Onlineformulare entworfen wurde. Diese Eigenschaft bietet spezielle Möglichkeiten, auf die unterschiedlichsten Varianten von Datei-Uploads in Onlineformularen einzugehen. Eine Beilageneigenschaft erlaubt die Angabe einer Liste von Objekten der Klasse Beilagendefinition (FSCFORMS@1.1001:AttachmentDefinition) in der Eigenschaft Definition der erlaubten Beilagen (FSCFORMS@1.1001:allowedattachdefs). Jede dieser Beilagendefinitionen beschreibt über die nachfolgend angeführten Eigenschaften eine Zeile in der Liste des daraus entstehenden Formularblocks. Mehrsprachiger Name Der mehrsprachige Name dient als Führungstext der betreffenden Zeile im Formularblock. Anzahl der erlaubten Dateien Über diese Eigenschaft kann eingestellt werden, ob genau eine, maximal eine bzw. mindestens eine Datei beigelegt werden muss oder ob die Anzahl der angeführten Dateien zu dieser Beilage vom Benutzer frei bestimmbar ist. Beilagenvorlage Wird eine Beilagenvorlage hinterlegt, so ermöglicht das Beilagen-Control [KlWi04], das zur Visualisierung von Eigenschaften dieses Typs benutzt wird, den Download dieser Vorlage. Maximal erlaubte Beilagengröße Hier kann optional die maximale Größe der akzeptierten Dateien festgelegt werden. Die Angabe erfolgt in Bytes. Eine Überschreitung dieser Angabe führt dazu, dass die Datei nicht angenommen wird und der Benutzer eine visuelle Rückmeldung erhält. Erlaubte MIME-Typen Über erlaubte MIME-Typen können Einschränkungen bzgl. des Typs der erlaubten Dateien definiert werden. Nicht den angeführten Regeln entsprechende Dateien werden vom Formularsystem automatisch mit einem visuellen Feedback an den Benutzer zurückgewiesen. 89 Später beilegen erlauben Mit der Eigenschaft später beilegen erlauben wird dem Benutzer des Onlineformulars über eine Checkbox die Möglichkeit gegeben, erforderliche Beilagen speziell zu kennzeichnen. Das Formularsystem vermerkt diese Beilage beim Antrag als noch ausständig und erlaubt dem Benutzer mit dem Ausfüllen fortzufahren. Zu jedem Zeitpunkt sind alle in den Beilageneigenschaften befindlichen Inhalte gesammelt über die Antragseigenschaft Beilagen (FSCFORMS@1.1001:allattachments) verfügbar. Wiederverwendung von Datenstrukturen – Standardblöcke Aufgrund der Objektorientiertheit von Fabasoft Components und dem wiederkehrenden Vorkommen ähnlicher bzw. identischer Datenstrukturen in Formularen stellt sich die Frage nach der Konzeption von wiederverwendbaren Einheiten sogenannten Standardblöcken. Auch im österreichischen E-Government-Styleguide für Onlineformulare [MiWi04a] wurde bereits eine breite Sammlung von Blöcken, die häufig in Formularen zu finden sind, definiert. Deren Verwendung wird empfohlen, um die Flut an Onlineformularen für den Bürger einigermaßen normieren zu können und ihm so deren Benutzung zu vereinfachen. Im Produkt Fabasoft eGov-Forms wird diese Empfehlung in Form von Eigenschaften und Typen der Komponente FSC Forms AT (FSCFORMSAT@1.1001) abgebildet. Für die Verwendung von Standardblöcken mit Fabasoft eGov-Forms stehen die folgenden Varianten zur Verfügung: Verwendung einer bestehenden Eigenschaft Die Verwendung von bestehenden Eigenschaften ist dann sinnvoll, wenn der Block in einem Formular nur einmal verwendet wird, sofern er nicht um weitere Eigenschaften ergänzt wird. Grundsätzlich stellt Fabasoft Components zwar die Möglichkeit der Erweiterung von zusammengesetzten Typen durch fremde Softwarekomponenten zur Verfügung, allerdings sollte hierbei beachtet werden, dass die Datenstruktur durch eine unkontrollierte Erweiterung rasch unübersichtlich werden kann. Hier muss im Einzelfall entschieden werden, ob die Erweiterung auch für andere Formulare genutzt werden kann, dann wäre diese Variante ein durchaus sinnvoller Weg. 5. Formularentwicklung im generischen Interface 5.1 Datenmodell eines Formulars Verwendung eines bestehenden Typs Wird ein Standardblock mehrmals auf einem Formular verwendet, so kann dies nicht über eine Eigenschaft abgebildet werden. Die Wiederverwendung muss hier auf Ebene des Typs angesetzt werden. Eine Eigenschaft ist für jede weitere Verwendung des Blocks selbst anzulegen. Verwendung der (Sub-)Eigenschaften eines bestehenden Typs Erweitert der gewünschte Block den Standardblock um nicht allgemein nutzbare Eigenschaften, so sollte neben einer Eigenschaft auch noch ein neuer zusammengesetzter Typ angelegt werden, wobei die bestehenden Eigenschaften genutzt werden können. Die ergänzenden Eigenschaften müssen ohnehin neu erzeugt werden. Datenmodellierung anhand eines Beispiels In den nachfolgenden Beispielen soll gezeigt werden, wie das Datenmodell des Hundeanmeldeformulars mit Hilfe von Fabasoft eGov-Forms definiert wird. Vorbereitend wird für die Umsetzung des Beispiels eine Softwarekomponente benötigt, da wie bereits zuvor beschrieben wurde, die Definition des Formulars gänzlich über Komponentenobjekte erfolgt. 91 Beispiel Um eine Softwarekomponente erzeugen zu können, wird zuerst ein neues Verwaltungswerkzeug (COOSYSTEM@1.1:AdministrationTool) angelegt. In diesem Verwaltungswerkzeug wird nun die neue Softwarekomponente erstellt. Als Referenz (COOSYSTEM@1.1:reference) der Softwarekomponente wird HUNDEANM gewählt. Unter der Annahme, dass die Formularentwicklung in der Fabasoft Components Domäne mit der DomänenID 1.555 erstellt wird, ergibt sich daraus die vollständige Softwarekomponentenreferenz HUNDEANM@1.555. Die Eigenschaftswerte, die für das Erzeugen der Softwarekomponente nötig sind, können der Tabelle 6 entnommen werden. EIGENSCHAFTSNAME EIGENSCHAFTSWERT Referenz HUNDEANM Versionsnummer 601 Copyright © 2005 Zustand In Entwicklung Name Formular zur Hundeanmeldung Tabelle 6: Eigenschaften der Softwarekomponente Hundeanmeldung Im Rahmen dieser Softwarekomponente werden nun alle weiteren Komponentenobjekte erzeugt. Dazu muss in den jeweils zu erzeugenden Komponentenobjekten das Attribut Softwarekomponente (COOSYSTEM@1.1: component) gesetzt werden. 5. Formularentwicklung im generischen Interface 5.1 Datenmodell eines Formulars Beispiel Zuerst wird ein neues Objekt der Klasse FSCFORMS@1.1001:SolicitationClass angelegt und die in Tabelle 7 angeführten Attributswerte werden festgelegt. EIGENSCHAFTSNAME EIGENSCHAFTSWERT Softwarekomponente HUNDEANM@1.555 Referenz HundeanmForm Name Hundeanmeldung Basisklasse FSCFORMS@1.1001:Solicitation Tabelle 7: Eigenschaftswerte der Objektklasse HundeanmForm Der erste Block des Formulars, der Antragsteller, entspricht bereits dem Standardblock „N_PERS2“ des EGovernment-Styleguides für Onlineformulare. Da dieser Block bereits Bestandteil der Softwarekomponente FSCFORMSAT@1.1001 ist, kann dieser unter Anwendung der zuvor angestellten Überlegungen im Formular benutzt werden. Es ist eine Erweiterung um ein Feld „Hundeanzahl“ nötig, welche nicht von allgemeinem Nutzen für eine Reihe von Formularen ist. Aus diesem Grund wird die neue Eigenschaft (HUNDEANM@1.555: antragsteller) und ebenso der neue Typ (HUNDEANM@1.555:Antragsteller) erzeugt. Allerdings werden die Subeigenschaften des Typs FSCFORMSAT@1.1001:Person_nat wiederverwendet. 93 Beispiel Der Typ Antragsteller wird wie folgt zusammengesetzt. Es ist lediglich erforderlich eine neue ganzzahlige Eigenschaft HUNDEANM@1.555:hundeanzahl zu erstellen. REFERENZ FSCFORMSAT@1.1001:familienname FSCFORMSAT@1.1001:akad_grad_cd FSCFORMSAT@1.1001:vorname FSCFORMSAT@1.1001:geschlecht_cd FSCFORMSAT@1.1001:geburt_datum HUNDEANM@1.555:hundeanzahl Tabelle 8: Der Typ Antragsteller Der Adressblock enthält keine Felder, die nicht bereits im Standardblock ADR1 enthalten wären. Aus diesem Grund kann hier der Typ FSCFORMSAT@1.1001:Adresse ohne Modifikation verwendet werden. Beispiel Es ist in diesem Fall nur nötig eine zusammengesetzte Eigenschaft dieses Typs anzulegen. Die Referenz wird folgendermaßen gewählt: HUNDEANM@1.555:adresse 5. Formularentwicklung im generischen Interface 5.1 Datenmodell eines Formulars Der Block Kontakte entspricht dem Standardblock KONT2, weshalb dieser über den bereits existierenden Typ FSCFORMSAT@1.1001:Kontakte abgebildet werden kann. Beispiel Angelegt wird wiederum nur eine zusammengesetzte Eigenschaft des Typs FSCFORMSAT@1.1001: Kontakte mit der Referenz HUNDEANM@1.555:kontakt. Bei „Angaben zum Hund“ handelt es sich um den ersten Block, der nicht als Standardblock zur Verfügung steht. Aus diesem Grund wird ein neuer Typ benötigt. 95 Beispiel Der neue Typ HUNDEANM@1.555:AngabenZumHund und die dazugehörige Eigenschaft HUNDEANM@1.555:angabenzumhund werden mit den dafür benötigten Subeigenschaften laut Tabelle 9 erstellt. NAME / REFERENZ TYP Rufname (HUNDEANM@1.555:rufname) COOSYSTEM@1.1:STRING Geschlecht (HUNDEANM@1.555:geschlecht) FSCFORMSAT@1.1001:Geschlecht_cd Geburtsjahr (HUNDEANM@1.555:geburtsjahr) COOSYSTEM@1.1:INTEGER Rasse (HUNDEANM@1.555:rasse) COOSYSTEM@1.1:STRING Farbe (HUNDEANM@1.555:farbe) COOSYSTEM@1.1:STRING Datum der Übernahme des Hundes (HUNDEANM@1.555:uebernahmedatum) COOSYSTEM@1.1:DATETIME Wie haben Sie den Hund erhalten? (HUNDEANM@1.555:artdeserhalts) HUNDEANM@1.555:ArtDesErhalts Tabelle 9: Der Typ Angaben zum Hund Der zu erstellende Aufzählungstyp HUNDEANM@1.555:ArtDesErhalts soll die folgenden Aufzählungswerte umfassen: Kauf Wurf Geschenk Anderes 5. Formularentwicklung im generischen Interface 5.1 Datenmodell eines Formulars Der Block Bezahlung entspricht ebenfalls keinem Standardblock, somit sind ein zusammengesetzter Typ und die zugehörigen Eigenschaften zu erstellen. Beispiel Der zusammengesetzte Typ HUNDEANM@1.555:Bezahlung und die zugehörige zusammengesetzte Eigenschaft HUNDEANM@1.555:bezahlung sind laut Tabelle 10 zu erstellen. NAME / REFERENZ TYP Zahlungsart (HUNDEANM@1.555:Zahlungsart) HUNDEANM@1.555:Zahlungsart Abgaben und Gebühren in EUR (HUNDEANM@1.555:abgaben) COOSYSTEM@1.1:FLOAT Tabelle 10: Der Typ Bezahlung Der Aufzählungstyp HUNDEANM@1.555:Zahlungsart soll die folgenden Aufzählungswerte umfassen: Erlagschein Bar bei Abholung Der letzte Block Anmerkungen zum Antrag besteht nur aus einer mehrzeiligen Zeichenkette als Anmerkungsfeld. 97 Beispiel Der zusammengesetzte Typ HUNDEANM@1.555:Anmerkungen wird laut Tabelle 11 angelegt. NAME / REFERENZ TYP Zahlungsart (HUNDEANM@1.555:anmliste) COOSYSTEM@1.1:STRINGLIST Tabelle 11: Der Typ Anmerkungen Zuletzt wird eine zusammengesetzte Eigenschaft mit der Referenz HUNDEANM@1.555: anmerkungen dieses neuen Typs erzeugt. Die in den vorangegangenen Abschnitten erstellten Eigenschaften werden nun der Antragsobjektklasse über das Attribut Eigenschaften (COOSYSTEM@1.1:classattributes) zugeordnet. Mit diesem letzten Schritt ist die Gestaltung des Datenmodells abgeschlossen. 5. Formularentwicklung im generischen Interface 5.1 Datenmodell eines Formulars 5.2 Visuelle Repräsentation eines Formulars 5.2 Visuelle Repräsentation eines Formulars Formularsystem Die einzelnen Seiten eines Online-Formulars in Fabasoft eGov-Forms werden über Formularseiten zum Bearbeiten und Suchen von Objekten (COOATTREDIT@1.1:FormPage) modelliert. Zu diesem Zweck werden die auf der betroffenen Formularseite gewünschten Eigenschaften als Elemente der Formularseite (COOATTREDIT@1.1:formpageitems) eingetragen. Um die Anordnung der Subeigenschaften innerhalb eines Blocks zu gestalten, ist es nötig, zu jedem dieser Element-Einträge ein Subelement zu definieren. An dieser Stelle kann das Layout jedes einzelnen Subelements definiert werden. Hier stehen folgende Möglichkeiten zur Definition der Anordnung zur Verfügung: Neue Zeile beginnen Abstand vor Führungstext Abstandsbreite Führungstext Platzierung des Führungstextes Textbreite Textausrichtung Platzierung des Eingabefeldes Feldbreite Wenn die Formularseite nach den individuellen Vorstellungen modelliert wurde, wird ein Schritt „Formularseiten bearbeiten“ (FSCFORMS@1.1001:EditFormPagesStep) instanziert und die Formularseite als Seite in der Liste Seiten zur Dateneingabe (FSCFORMS@1.1001:editpages) eingetragen. 99 Abbildung 32 Ansicht Layout Dies kann beliebig oft fortgesetzt werden, bis die gewünschte Aufteilung der benötigten Formularblöcke auf einzelne Seiten erreicht ist. Dynamische Inhalte Dieses Kapitel widmet sich der Einbettung von dynamischen HTML-Inhalten in Fabasoft eGov-Forms-Formulare. An allen Stellen, an denen in Fabasoft eGov-Forms HTML-Inhalte angegeben werden können, wird ein Konzept verfolgt, das als dynamische Inhalte bezeichnet wird. Typische Anwendungen für dynamische Inhalte sind z.B. Formularkopf/-fuß und E-Mail-Body. Ein dynamischer Inhalt ist eine Vorlage, die vor der endgültigen Einbettung in den HTML-Code der jeweiligen 5. Formularentwicklung im generischen Interface 5.2 Visuelle Repräsentation eines Formulars Formularseite einer Reihe von textuellen Substitutionen unterworfen wird, um so situationsbedingte Elemente in das Formular einbinden zu können. Die Grundstruktur dieser Vorlage ist XHTML. Es sollte allerdings kein vollständiges XHTML-Dokument verwendet werden, da das um die kontextabhängigen Elemente angereicherte Dokumentenfragment direkt in die umgebende XHTML-Seite eingebettet wird. Dynamische Elemente in diesen Vorlagen werden über Fabasoft Components Expressions realisiert. Es gibt zwei grundlegend verschiedene Methoden diese Ausdrücke in die Vorlage einzubetten. Pseudotags <%...%> FSCDOX-Expressions Pseudotags Bei der ersten Variante werden die Ausdrücke über die Eigenschaft Dynamische Wert (FSCSTEPENG@1.1001: dynamicvalues) beim jeweiligen Antragsschritt mit GUI definiert. Jeder dieser Ausdrücke wird durch einen eindeutigen Bezeichner repräsentiert. Die Einbettung in die Vorlage erfolgt über Pseudo-HTML-Tags der Form <%{[escape:javascript:]}Eindeutiger Bezeichner%>. Diese Pseudotags werden vor der Darstellung zur Gänze mit den korrespondierenden Werten textuell ersetzt, wobei die Verknüpfung zwischen dem Pseudotag und dem einzusetzenden Wert über den gewählten eindeutigen Bezeichner hergestellt wird. Ausdrücke werden nur angenommen, wenn diese auch einen Textwert repräsentieren. Der Textwert unterliegt keiner Längenbeschränkung und kann somit durchaus auch selbst wieder eine gesamte (X)HTML-Substruktur darstellen. Die Verwendung der Zeichenfolge [escape:javascript] bewirkt ein automatisches Escapen des Textes vor der Substitution. Dieses Escapen kann unter Umständen für dynamische Werte innerhalb von HTMLAttributen nützlich sein. 101 Als Beispiel für die Verwendung der Pseudotag-Substitution soll hier das Einbetten eines dynamischen Hyperlinks angeführt werden. Im HTML-Fragment wird folgender Pseudo-Tag verwendet: ... <%[escape:javascript]hyperlink%> ... Der Eintrag in den dynamischen Werten sieht wie folgt aus: hyperlink “http://www.fabasoft.com Quelltext 1: Beispiel für Pseudotags FSC Documents Expressions Die zweite Variante bedient sich einer Methodik der Softwarekomponente FSC Documents (FSCDOX@1.1001). Diese Komponente, ebenfalls Bestandteil des Produktes Fabasoft eGov-Forms, basiert auf den Fabasoft Active Reports. Grundsätzlich liegen dieser Variante ebenfalls Fabasoft Components Expressions zugrunde, allerdings werden diese nicht beim jeweiligen Schritt definiert, sondern über spezielle Tags gekennzeichnet und direkt in die Vorlage eingebettet. Die Kennzeichnung von eingebetteten Expressions erfolgt in FSC Documents-Expressions über das HTML-Element span. Des Weiteren müssen sowohl das Attribut class mit dem Wert „FSCDOX_Expr“ und das Attribut fscexpr mit dem Wert „4.0“ angeführt werden. Nur dann werden die Tags als FSC Documents Expressions erkannt und auch evaluiert. Der zwischen dem öffnenden und dem schließenden Tag (</span>) befindliche Text wird als Fabasoft Components-Expression interpretiert und bewertet. Anschließend wird das gesamte Konstrukt mit dem eben berechneten Wert substituiert. Auch hier gilt, dass nur Zeichenkettenwerte tatsächlich substituiert werden können. 5. Formularentwicklung im generischen Interface 5.2 Visuelle Repräsentation eines Formulars Als Beispiel soll hier der bereits eingegebene Name des Antragstellers in den Header der nächsten Seite eingebettet werden. ... <SPAN class=”FSCDOX_ExprSelected” fscexpr=”4.0”> !COOSYSTEM@1.1:STRING(::object.HUNDEANM@1.1013: antragsteller.HUNDEANM@1.1013:vorname + “, “ + ::object.HUNDEANM@1.1013:antragsteller.HUNDEANM@1.1013:nachname ) </SPAN> ... Quelltext 2: Beispiel für FSC Documents Expression Ausdrücke für dynamische Inhalte Da in [KlWi04] bereits ausführlich auf die Fabasoft Expressions eingegangen wurde, soll an dieser Stelle nur auf die spezifischen Merkmale im Rahmen von Ausdrücken in dynamischen Inhalten hingewiesen werden. Die wichtigste Information für die Verwendung von Ausdrücken ist, welche Werte unmittelbar angewandt werden können (Scope). Grundsätzlich sind alle Bezeichner in Ausdrücken für dynamische Inhalte über einen globalen Scope verfügbar, d.h. die Dereferenzierung erfolgt jeweils über den Scope-Operator „::“. Unter dem speziellen Bezeichner ::this kann das Werteverzeichnis, das den globalen Scope bildet, als gesamte Einheit angesprochen werden. Über this ist jeweils das aktuelle Antragsobjekt, die gerade in Bearbeitung befindliche Instanz, verfügbar. 103 Die Tabelle 12 gibt Aufschluss über die verfügbaren Schlüssel im Werteverzeichnis: BEZEICHNER BESCHREIBUNG object Antragsobjekt, das gerade vom Benutzer ausgefüllt wird. isnew Boolescher Wert, der anzeigt, ob der soeben in Bearbeitung befindliche Antrag neu erzeugt wurde oder ob dieser bereits zu einem früheren Zeitpunkt erstellt wurde. iscomplete Boolescher Wert, der anzeigt, ob der Antrag bereits vollständig eingebracht ist. guiidx Index des soeben dargestellten GUI-Schritts Tabelle 12: Verfügbare Bezeichner in Ausdrücken Definition für dynamische Inhalte Die Definition von dynamischen Inhalten erfolgt über die Auswahl eines Objektes der folgenden Objektklassen: Formularseitenelement (statisch) (COOATTREDIT@1.1:DisplayElement) Sprachabhängiger Inhalt (COOSYSTEM@1.1:LanguageContent) Beide Objektklassen verfügen über einen multilingualen Inhalt. Dabei wird jeweils der Inhalt für die gerade dargestellte Sprache als Ausgangsbasis für die Substitution herangezogen. Somit ist gewährleistet, dass selbst HTML-Inhalte in Formularen mehrsprachig ausgelegt werden können. 5. Formularentwicklung im generischen Interface 5.2 Visuelle Repräsentation eines Formulars Formularkopf und Formularfuß Erforderliche Elemente jedes Onlineformulars sind ein standardisierter Formularkopf (Header) und Formularfuß (Footer), die die Corporate Identity des Formularbetreibers widerspiegeln. Diese beiden Elemente können in Fabasoft eGov-Forms pro Formular eingestellt werden, indem bei der Antragsobjektklasse die Eigenschaften Seitenkopf (FSCSTEPENG@1.1001:rootpageheader) und Seitenfuß (FSCSTEPENG@1.1001:rootpagefooter) als dynamischer Inhalt definiert werden. Wie bereits im vorangegangenen Kapitel ausführlich erläutert, können somit auch in den statisch definierten Formularelementen dynamische Werte verwendet werden. Dies kann beispielsweise in Bezugnahme auf bereits eingegebene Daten besonders nützlich sein. Das nachfolgende Beispiel veranschaulicht einen personalisierten Formularkopf für ein Hundeanmeldeformular. ... <hr/> Hundeanmeldung von <%anrede%>, an die Gemeinde <%gemeinde%>. <hr/> ... Quelltext 3: Beispiel für Formularkopf 105 Formularlayout anhand eines Beispiels Die Layout-Modellierung des Hundeanmeldeformulars wird im folgenden Beispiel gezeigt. Beispiel Zu diesem Zweck wird, wie bereits zuvor beschrieben, ein Objekt der Klasse Formularseite zum Bearbeiten und Suchen von Objekten (COOATTREDIT@1.1:FormPage) benötigt. Als Referenz (COOSYSTEM@1.1: reference) wird „HundeanmSeite“ gewählt. Als Elemente der Formularseite werden alle im Kapitel Datenmodellierung erstellten Eigenschaften eingetragen und mit den notwendigen Angaben zum Layout versehen. SEITENELEMENT SUBELEMENTE HUNDEANM@1.1013:antragsteller HUNDEANM@1.1013:AntragstellerFmt HUNDEANM@1.1013:adresse FSCFORMSAT@1.1001:adr1 HUNDEANM@1.1013:angabenzumhund HUNDEANM@1.1013:AngabenZumHundFmt HUNDEANM@1.1013:bezahlung HUNDEANM@1.1013:BezahlungFmt HUNDEANM@1.1013:anmerkungen HUNDEANM@1.1013:AnmerkungenFmt Tabelle 13: Seitenelemente Des Weiteren wird der Schritt „Formularseiten bearbeiten“ (FSCFORMS@1.1001: EditFormPagesStep) instanziert und als Seite zur Dateneingabe die soeben erstellte Formularseite eingetragen. Somit ist die visuelle Modellierung des Hundeanmeldungsformulars abgeschlossen. 5. Formularentwicklung im generischen Interface 5.2 Visuelle Repräsentation eines Formulars 5.3 Ablaufsteuerung in Formularen 5.3 Ablaufsteuerung in Formularen Ein zentrales Merkmal von Fabasoft eGov-Forms ist die Verwendung von modularen Bausteinen, den sogenannten Anwendungsschritten, um Abläufe in Formularen modellieren zu können. Ein Anwendungsschritt repräsentiert einen häufig wiederkehrenden, in sich geschlossenen Teil einer Anwendung, der sich nur durch eine bestimmte Menge von Parametern von einem gleichwertigen Schritt einer anderen Anwendung unterscheidet. Dieses Schrittkonzept wird zu einem großen Teil über die Softwarekomponente FSC Step Processing Engine (FSCSTEPENG@1.1001) bereitgestellt, in der auch die nötigen Objektklassen und Standardanwendungen angesiedelt sind. Jeder Anwendungsschritt ist eine Instanz einer bestimmten Objektklasse, die diese Kapselung definiert. Die Parametrierung erfolgt über das Bearbeiten der Eigenschaften dieses Schritts. Die Basisklasse aller Anwendungsschritte ist die abstrakte Klasse FSCSTEPENG@1.1001:AppStep. Davon leiten sich die folgenden, wiederum abstrakten Klassen ab: Anwendungsschritt mit GUI (FSCSTEPENG@1.1001:GUIStep) Anwendungsschritt ohne GUI (FSCSTEPENG@1.1001:NoGUIStep) Anwendungsschritt zur Ablaufsteuerung (FSCSTEPENG@1.1001: FlowControlStep) Die Klasse Antragsschritt mit GUI (FSCFORMS@1.1001:SolicitationGUIStep) stellt eine Ableitung der Klasse Anwendungsschritt mit GUI dar, mit der antragsspezifische Funktionen wie Formularheader und -footer ermöglicht werden. Die beiden Komponenten FSCSTEPENG@1.1001 und FSCFORMS@1.1001 stellen bereits eine Reihe von Schritten zur Verfügung, mit deren Hilfe eine Vielzahl an Formularen ohne jeglichen Programmieraufwand umgesetzt werden kann. Eine umfassende Auflistung der wichtigsten, im Produkt Fabasoft eGov-Forms verfügbaren Schritte und deren detaillierte Beschreibung findet sich in Kapitel 10. Im Folgenden soll auf die speziellen Eigenschaften und Unterschiede der verschiedenen Kategorien von Schritten eingegangen werden. 107 Anwendungsschritte mit GUI Allen Anwendungsschritten mit GUI ist gemeinsam, dass sie über folgende Parametriermöglichkeiten verfügen: Schaltflächenlabel für „Nächster Schritt“ Schaltflächenlabel für „Schritt zurück“ Schaltflächenlabel für „Abbrechen“ Inhalt für Seitenkopf Inhalt für Seitenfuß Dynamische Werte für Inhalte Die Schaltflächen können sowohl als Objekte der Klasse Formularschaltfläche (FSCSTEPENG@1.1001: FormButton) als auch als Zeichenkette angeführt werden, wobei bei einer doppelten Eingabe die Objektangabe höher priorisiert behandelt wird. Wird keine der beiden Möglichkeiten genutzt, so erscheint bei der Formularausführung die betreffende Schaltfläche nicht. Als Seitenkopf und Seitenfuß sind, wie bereits bei der Objektklasse des Antrags beschrieben wurde, entweder statische Formularseitenelemente oder sprachabhängige Inhalte erlaubt, die als dynamische Inhalte interpretiert werden. Anwendungsschritte ohne GUI Anwendungsschritte ohne GUI werden, wie der Name schon sagt, nicht dargestellt. Es handelt sich dabei um Elemente, die ohne Benutzerinteraktion durchgeführt werden können, aber trotzdem bedeutende Bestandteile in vielen Formularen sind. Zu dieser Art von Anwendungsschritt gehört zum Beispiel der Schritt „SMTP-Mail versenden“. 5. Formularentwicklung im generischen Interface 5.3 Ablaufsteuerung in Formularen Schrittsequenzen Mit Hilfe dieser Schritte können nun Sequenzen formuliert werden, die in bestimmten Situationen ausgeführt werden sollen. Die Standard-Schrittsequenz, die immer dann ausgeführt wird, wenn ein neuer Antrag auszuführen ist, wird bei der Eigenschaft Für neuen Antrag auszuführende Schritte (FSCFORMS@1.1001: solsteps) definiert. Es gibt eine Reihe von weiteren Eigenschaften, um Schrittsequenzen für unterschiedlichste Kontexte definieren zu können. Als Beispiel sei hier die Schrittsequenz zur Fehlerbehandlung genannt. Jeder Schritt verfügt über eine sogenannte Ausführungsbedingung (FSCSTEPENG@1.1001: execcondition), eine Fabasoft Components Expression, mit deren Hilfe bestimmt wird, ob der jeweils aktuelle Schritt nun tatsächlich ausgeführt wird oder nicht. Abbildung 33 Ausführen einer Sequenz von Schritten 109 Die Laufzeitumgebung Die Laufzeitumgebung von Fabasoft eGov-Forms verwendet ausschließlich die bewährte Fabasoft VAPP-Technologie. Die Liste der Schritte, die für einen Antrag definiert wurden, wird von einer virtuellen Anwendung (FSCVAPP@1.1001:Application) abgearbeitet. Anwendungsscope Virtuellen Anwendungen liegt üblicherweise ein Werteverzeichnis zugrunde, in dem alle Parameter der VAPP über eindeutige Bezeichner enthalten sind. Dieses Werteverzeichnis kann über Fabasoft Components Expressions dann als sogenannter Scope ausgelesen und verändert werden. Der Fabasoft eGov-Forms Laufzeitumgebung liegt ebenfalls ein derartiges Werteverzeichnis während der Ausführung eines Formulars zugrunde. Dieses wird mit Werten, die die Laufzeitumgebung benötigt, ausgestattet. Es kann aber ebenso mit formularspezifischen Werten, wie beispielsweise über den Schritt „Parameter setzen“, befüllt werden. Der wichtigste Aspekt ist allerdings, dass in allen Ausdrücken innerhalb von dynamischen Inhalten auf eben diesen Scope zugegriffen werden kann. Implementierung von Schritten Ein Schritt ist abstrakt betrachtet ein in sich geschlossener Teil einer Online-Applikation. Ein Schritt kann entweder als Fabasoft Components Aktion (COOSYSTEM@1.1:Action) oder als Anwendung (FSCVAPP@1.1001:Application), kurz VAPP, implementiert werden. Die Laufzeitumgebung kommuniziert mit der ausführenden Einheit über die in Tabelle 14 angeführten Argumente. 5. Formularentwicklung im generischen Interface 5.3 Ablaufsteuerung in Formularen NAME TYP RICHTUNG BESCHREIBUNG currentstep COOSYSTEM@1.1:OBJECT in Der aktuell auszuführende Schritt stepindex COOSYSTEM@1.1:INTEGER in Index des aktuell auszuführenden Schritts params COOSYSTEM@1.1: OBJECTLIST in Abzuarbeitende Liste von Schritten stepsinfo COOSYSTEM@1.1: DICTIONARY inout Scope für Ausdrücke command COOSYSTEM@1.1:INTEGER inout Richtung, in der der Anwendungsschritt verlassen wird 0: Abbruch der gesamten Sequenz n: n Schritte vor -n: n Schritte zurück Tabelle 14: Argumentliste für Schritte Fehlerbehandlung Tritt während der Ausführung einer Schrittsequenz ein nicht behandelbarer Fehler auf (z.B. Fehler beim Verbindungsaufbau zum Backoffice), so wird dieser von der Fabasoft eGov-Forms Laufzeitumgebung abgefangen. Um nicht den Endbenutzer mit einem Fehler zu konfrontieren, der für ihn ohnehin nutzlos wäre, wird der Fehler in jedem Fall in das am Formularservice verfügbare Ereignisprotokoll eingetragen. Darüber hinaus wird eine in der Eigenschaft Im Fehlerfall auszuführende Schritte (FSCFORMS@1.1001: solerrsteps) der Antragsobjektklasse definierbare Liste von Schritten ausgeführt. Hier kann beispielsweise 111 dem Benutzer eine allgemeine Mitteilung über das Auftreten eines Fehlers angezeigt werden und automatisch eine E-Mail an den zuständigen Administrator versandt werden. In dieser Sequenz kann jeder verfügbare Schritt verwendet werden. Es liegt im Ermessen des Formularentwicklers, wie auf einen auftretenden Fehler reagiert werden soll. Parameter für Schritte Vor der Ausführung jedes einzelnen Schritts wird von der Fabasoft eGov-Forms Laufzeitumgebung die Aktion Argumente des Schritts als Dictionary ermitteln (FSCFORMS@1.1001:GetStepParams) auf den Schritt ausgeführt. Die Implementierung bei der jeweiligen Schrittklasse stellt mehr oder weniger komplexe Parameterberechnungen an, und legt alle Werte in einem Werteverzeichnis (COOSYSTEM@1.1: DICTIONARY) ab. Dieses Werteverzeichnis ist neben dem Anwendungsscope ein weiteres Argument für die Implementierung der Logik jedes Schritts. Ablaufmodellierung anhand eines Beispiels Im nachfolgenden Beispiel wird das Hundeanmeldeformular nun durch Definieren des Ablaufs fertig gestellt. 5. Formularentwicklung im generischen Interface 5.3 Ablaufsteuerung in Formularen 5.4 Betrieb des Formulars Beispiel Nun wird der zuvor erstellte Schritt „Formularseiten anzeigen“ in der Antragsobjektklasse HUNDEANM@1.1013:HundeanmForm in die Liste der für neue Anträge auszuführenden Schritte eingetragen. Da das Formular aus nur einer Seite besteht, ist nur die Schaltfläche „Nächster Schritt“ mit der Zeichenkette „Absenden“ zu definieren. Da die Ausführungsbedingung für alle neuen Schritte mit dem Ausdruck „true“ vorbelegt ist, ist dessen Ausführung gewährleistet und muss nicht explizit abgeändert werden. Durch diese abschließenden Ergänzungen ist das Hundeanmeldeformular nun betriebsbereit. 5.4 Betrieb des Formulars Starten aus einem Webbrowser Fabasoft eGov-Forms basiert gänzlich auf der Fabasoft Components VAPP-Technologie [KlWi04], daher besteht die Laufzeitumgebung aus einer Reihe von virtuellen Anwendungen mit unterschiedlichsten Aufgaben. Eine dieser Anwendungen ist Neuen Antrag starten (FSCFORMS@1.1001:DoNewSolicitation). Diese Anwendung dient dazu, ein beliebiges im System vorhandenes Formular in einem Webbrowser auszuführen. Der URL zum Ausführen einer Anwendung sieht schematisch folgendermaßen aus: http[s]://[hostname]/[virtualdirecory]/fscasp/content/bin/fscvext.dll?[urlargs] Quelltext 4: Schematischer Formular-URL wobei die Liste der erforderlichen und optionalen Argumente für die Anwendung Neuen Antrag ausführen (FSCFORMS@1.1001:DoNewSolicitation) (oben urlargs) der Tabelle 15 entnommen werden kann. 113 BEZEICHNUNG OPTIONAL BESCHREIBUNG ax Nein Muss den Objektadresswert COO.1.1001.1.83288, welcher die Anwendung zum Starten eines neuen Antrags repräsentiert, beinhalten. dx Ja Bestimmung der zu verwendenden Anwendungssteuerung über deren Objektadresse. sol_createclass Nein Objektadresse der Antragsobjektklasse, die das Formular beschreibt, das gestartet werden soll. customargs Ja URL-codierte Zeichenkette mit beliebigen Argumenten. Die Argumente werden unverändert an die Formularlaufzeitumgebung propagiert, um in einer Reihe von Fabasoft Components Expressions während der Formularausführung verfügbar zu sein. autologout Ja Boolescher Wert, der ein automatisches Benutzer-Logout nach Verlassen des letzten Formularschritts erzwingt. frmtarget Ja Objektadresse eines Formularziels (FSCFORMS@1.1001: FormTarget), das nähere Angaben über den Empfänger des Formulars enthält (z.B. Empfängeranschrift, Beschreibung von Backoffice-Schnittstellen, etc). ru Ja Return-URL, der nach Ende des Formulars annavigiert werden soll. lx Ja Sprachkürzel, z.B. de für Deutsch oder en für Englisch. Tabelle 15: Argumente des Formular-URL 5. Formularentwicklung im generischen Interface 5.4 Betrieb des Formulars 5.5 Einbindung von PDF-Forumularen Um das fertig gestellte Beispielformular nun auch tatsächlich ausführen zu können, kann der folgende URL direkt in einem Webbrowser eingegeben werden: http://localhost/fsc/fscasp/content/bin/fscvext.dll?ax=COO.1.1001.1.83288& dx=COO.1.1001.1.83191&sol_createclass=COO.1.555.1.985 Quelltext 5: Beispiel für Start-URL des Formulars 5.5 Einbindung von PDF-Formularen Um der Forderung nach Integration von einer Vielzahl bereits bestehender PDF-Formulare gerecht zu werden, stellt Fabasoft eGov-Forms als Alternative zu den reinen HTML-Formularen auch die Möglichkeit zur Einbindung von bestehenden PDF-Formularen zur Verfügung. Die Integration von PDF-Formularen erfolgt über den Schritt „PDF-Formular bearbeiten“ (FSCFORMS@1.1001:EditPDFFormStep). Dieser Schritt visualisiert das ihm als Argument angegebene PDF-Formular (FSCFORMS@1.1001:PDFForm). Bei der Erstellung von PDF-Formularen müssen aufgrund deren Architektur notwendige Einschränkungen berücksichtigt werden. Der Submit-Button muss sich beispielsweise innerhalb des PDF-Formulars befinden, um die Formulardaten zurück an den Webserver senden zu können. Um das Formular in einer dynamischen Webanwendung verwenden zu können, muss der zugehörige Submit-URL ebenfalls dynamisch gestaltet werden. Zu diesem Zweck wird anstelle eines statischen URL die Zeichenkette <%fscurl%> verwendet. Diese Zeichenkette wird vor dem Download mit dem jeweils aktuell gültigen URL substituiert, um den weiteren Ablauf des Antrags zu gewährleisten. 115 PDF-Formulare geben die eingegebenen Daten via XML an die Applikation zurück. Um die Daten in Fabasoft eGov-Forms sinnvoll weiterverarbeiten zu können, muss nun eine Zuordnung zu Fabasoft Components Eigenschaften erfolgen. Dies ist über die Liste Formularfeldzuordnung beim Schritt möglich. Die Zuordnung erfolgt für jeden Formularwert über einen Pfad zum zugehörigen Attribut. Dieser wird durch einen XML-Knoten mit einem bei der Formularerstellung frei definierbaren Namen repräsentiert. Zusammenfassung Abbildung 34 generisches Interface 5. Formularentwicklung im generischen Interface 5.5 Einbindung von PDF-Forumularen 117 6 weiterbearbeitung 6 eingebrachter formulare In diesem Kapitel wird der Transfer des vom Bürger fertig ausgefüllten Formulars bis auf den Schreibtisch des zuständigen Sachbearbeiters beschrieben. Fabasoft eGov-Forms stellt für diesen Transport des Formulars einige unterschiedliche Varianten zur Verfügung, um den individuellen Anforderungen des Formularbetreibers bestmöglich gerecht zu werden. Ein Formular wurde vom Bürger ausgefüllt und liegt auf dem Formularserver zur Weiterbearbeitung bereit. Was mit den Formulardaten weiter geschehen soll, ist aber dennoch eine organisatorische Entscheidung, in die eine Vielzahl von Überlegungen einfließt. Neben der Organisationsgröße spielen sicherlich auch Aspekte wie Standortwahl der beteiligten Systeme (nicht nur physisch, sondern auch in Bezug auf die Organisation) und Aufwand für die Integration in den regulären, betrieblichen Ablauf eine zentrale Rolle. Die erste Wahl bildet unbestritten eine lose Kopplung des Formularsystems und des Backoffice-Systems über eine möglichst flexible SOAP-Schnittstelle. In diesem Fall bieten sich zwei verschiedene Varianten in Bezug auf die Transportrichtung an: Das Formularsystem übergibt die Daten an das Backoffice (Push-Verfahren). Das Backoffice holt sich die Daten vom Formularsystem (Pull-Verfahren). In den beiden nachfolgenden Kapiteln wird jeweils eines der Verfahren und deren mögliche Umsetzung mit Fabasoft eGov-Forms bzw. der Fabasoft eGov-Suite dargestellt. 119 Sicherheitsaspekte Bei den im Folgenden vorgestellten Kommunikationsszenarien ist es notwendig, den betrieblichen Anforderungen gerecht zu werden und entsprechende Maßnahmen zu ergreifen, um das transportierte Gut, in diesem Fall persönlichen Daten der Kunden, zu schützen. Die eingesetzten Transportprotokolle stellen bereits sehr brauchbare Schutzmechanismen zur Verfügung. In beiden Szenarien erfolgt der Transport der Daten über HTTP. Durch HTTP-Encryption (HTTPS) wird der gesamte Transport verschlüsselt abgewickelt und bietet somit den bestmöglichen Schutz vor Man-In-The-Middle Angriffen. Durch die Verschlüsselung der Daten können aber Denial of Service (DoS)-Angriffe nicht verhindert werden. DoS-Angriffe nutzen in der Regel einen offenen Port, um die betroffenen Services mit unzähligen „sinnlosen“ Anfragen zu beschäftigen und somit das System lahm zu legen. Um sich vor Angriffen dieser Art vorbeugend zu schützen, ist zumindest eine Authentisierung auf Webserver-Level nötig. Dadurch können Anfragen von unbekannten Absendern bereits sehr früh in der Bearbeitung, nämlich gleich beim Eintreffen, ausgeschieden werden. Grundsätzlich gilt, je eingeschränkter der Zugriff auf den Dienst konfiguriert wird, umso höher ist der Schutz vor potentiellen Angriffen. Der Zugriff kann soweit eingeschränkt werden, dass eine erfolgreiche Anmeldung nur über zertifikatsbasierte Authentisierung und nur von einem bestimmten IP-Adressbereich aus erlaubt ist. Als Grundvoraussetzung für den sicheren Betrieb eines Webservers gilt das Ausstatten mindestens aller Dienstprogramme und des Betriebssystems mit den aktuellsten Sicherheitspatches des jeweiligen Herstellers. Ein Großteil der erfolgreichen Angriffe auf HTTP-Server erfolgt durch das Ausnutzen bekannter Exploits in den Dienstprogrammen bzw. des darunterliegenden Betriebssystems. Trotz allem wird manchmal ein Öffnen von Ports für den Zugriff von außerhalb in ein Backoffice-System bereits als Sicherheitsrisiko eingestuft. In solchen Fällen ist der Pull-Betrieb vorzuziehen, da hier die Verbindungsaufnahme sowie die gesamte nachfolgende Kommunikation vom Backoffice-System gesteuert werden. Will man aber die Weiterleitung der Formulardaten synchron in den Ablauf des Antrags einbetten, so ist der Push-Betrieb trotz der bekannten Sicherheitseinwände zu bevorzugen. Zusätzlich sollte durch hinreichende Systempflege das Risiko eines Angriffs minimiert werden. 6. Weiterbearbeitung eingebrachter Formulare 6.1 Push-Verfahren 6.1 Push-Verfahren Dieser Abschnitt widmet sich den Möglichkeiten, die Fabasoft eGov-Forms bietet, um die Formulardaten vom Formularserver initiiert an ein Backoffice-System zu übergeben (Push). Diese Variante überzeugt vor allem durch die trotz der Vielzahl von Einsatzmöglichkeiten geringe Komplexität bei der Anwendung. Der Abtransport der Daten erfolgt synchron am Ende der Formularschrittsequenz und dem Antragsteller kann unmittelbar Feedback über den Erfolg der Übergabe gegeben werden. Mit Hilfe der Abbildung 35 wird der technische Ablauf einer Abtransport-Anfrage mittels Push-Verfahren skizziert. Abbildung 35 Ablauf Push-Verfahren 121 In den nächsten Kapiteln wird detailliert auf die Einstellungen und Maßnahmen eingegangen, die auf beiden Serverumgebungen benötigt werden, um die Formulardaten vom Formularserver automatisiert an die Fabasoft eGov-Suite weitergeben zu können. Um eine ebenfalls mögliche programmatische Bedienung der beteiligten Web-Services zu ermöglichen, wird das Transportprotokoll im Detail beleuchtet. Formularserver Am Formularserver muss der Abtransport bei der Formulardefinition explizit aktiviert werden. Es muss für jedes spezifische Formular bekannt sein, welches Webservice das Ziel des Transportes sein soll, welche Authentisierung etc. erforderlich ist. All diese Einstellungen erfolgen über ein Objekt der Klasse Formularziel (FSCFORMS@1.1001: FormTarget), das beim Starten eines Antrags als URL-Argument mitgegeben wird. Zur tatsächlichen Durchführung des Abtransportes steht der „Schritt mit GUI“ Formulardaten an Backoffice senden (FSCFORMS@1.1001:Post2BackOfficeStep) zur Verfügung. Dieser Schritt erstellt die Anfrage unter Verwendung der zu diesem Zeitpunkt bereits existierenden XML-Daten und des dazugehörigen Stylesheets. Sollten die Daten zu diesem Zeitpunkt nicht verfügbar sein, werden sie implizit vor der Ausführung des Schritts erstellt. Im Anschluss wird ein SOAP-Aufruf gegen das im Formularziel definierte Web-Service durchgeführt. Abhängig von der Antwort des SOAP-Aufrufes setzt der Schritt die Bearbeitung mit unterschiedlichen Tätigkeiten fort. Im Falle einer positiven Antwort wird eine etwaige im Response enthaltene Annahmebestätigung visualisiert und der Benutzer beendet den Ablauf manuell über definierbare Schaltflächen. Ist die Antwort negativ, so wird dem Benutzer ein Hinweistext dargestellt und die Möglichkeit geboten, den Transport erneut auszulösen. 6. Weiterbearbeitung eingebrachter Formulare 6.1 Push-Verfahren Backoffice Die Fabasoft eGov-Suite stellt mit der Softwarekomponente FSCFRMTR@1.1001 die Funktionalität zur effizienten Übernahme von Formulardaten über eine SOAP-Schnittstelle zur Verfügung. Diese Schnittstelle wurde mittels der SOAP-Aktion Formular entgegennehmen (FSCFRMTR@1.1001:TakeForm) implementiert, und wird in diesem Abschnitt eingehend erläutert. Datenübernahmekonfiguration Der Ablauf einer SOAP-Anfrage kann über Einstellungen in einem Objekt der Klasse Forms Datenübernahme Konfiguration (FSCFRMTR@1.1001:FormsTransferConfiguration) beeinflusst werden. Die aktuell gültige Konfiguration ist in der Eigenschaft Forms-Datenübernahme-Konfiguration (FSCFRMTR@1.1001:clientcfg) in der aktuellen Domäne zu hinterlegen. Wie bei allen mandantenfähigen Konfigurationen kann auch die Formularübernahmekonfiguration hierarchisch aufgebaut werden. Die Wurzel aller Konfigurationen muss die von der Softwarekomponente mitgelieferte FSCFRMTR@1.1001: DefaultConfiguration sein, um einen komplikationslosen Ablauf zu gewährleisten. Jede Eigenschaft der Konfiguration wird in deren Hierarchie akkumuliert ausgelesen. Das bedeutet, dass eine Einstellung aus einer der aktuellen Konfiguration übergeordneten herangezogen wird, wenn in der aktuellen Konfiguration diese Einstellung nicht angegeben wird. Die Forms Datenübernahmekonfiguration sieht folgende Einstellmöglichkeiten vor: Parameter in der Anfrage zulassen Default Anfrageparameter Anfrageparameter für spezifische Formulare Zuordnungstabelle von MIME-Typen zu Objektklassen Beilagen mit unbekanntem MIME-Typ annehmen 123 In der Einstellung Anfragespezifische Parameter zulassen wird bestimmt, ob grundsätzlich Parameter in der Anfrage angenommen und verwendet werden oder nicht. Der Standardwert für eine neu erstellte Konfiguration ist „nein“. Wird diese Eigenschaft auf den Wert „ja“ gesetzt, so werden die optional in der Anfrage enthaltenen Parameter bevorzugt verwendet. Die Eigenschaft Default Anfrageparameter definiert die Standardwerte für die Parametrierung. Diese Werte werden immer dann verwendet, wenn weder in der Anfrage spezifische Parameter enthalten sind, noch für das übertragene Formular ein spezielleres Set von Parametern in der Eigenschaft Parameter für Formulare definiert ist. Mit der Eigenschaft Parameter für Formulare kann für jedes Formular ein spezifisches Set von Anfrageparametern definiert werden und die Verarbeitung der Anfrage somit gezielt auf die individuellen Bedürfnisse jedes einzelnen Formulars angepasst werden. Der Schlüssel zur Identifikation eines Formulars ist dessen eindeutige Formularkennung, die in der XML-Struktur der Anfrage optional enthalten ist. Wird auf die Angabe der eindeutigen Formularkennung verzichtet, so ist eine Auswertung von formularspezifischen Anfrageparametern nicht möglich. Über die Eigenschaft Zuordnungstabelle von MIME-Typen zu Objektklassen wird eine eindeutige Zuordnung von Inhalts-Objektklassen zu MIME-Typen definiert, auf deren Basis werden die Objekte für die in der Anfrage enthaltenen Beilagen erzeugt. Die Eigenschaft Beilagen mit unbekanntem MIME-Typ annehmen definiert, ob Beilagen, für die in der obigen Zuordnungstabelle kein spezieller Eintrag vorzufinden ist, zurückgewiesen oder trotzdem angenommen werden sollen. Der Standardwert für diese Eigenschaft ist „nein“, d.h. ist eine Beilage mit einem nicht spezifizierten MIME-Typ in der Anfrage enthalten, so wird die gesamte Anfrage zurückgewiesen. Wird für diese Eigenschaft der Wert „ja“ gewählt, so führt dies dazu, dass für Beilagen, die nicht zugeordnet werden können, jeweils ein Inhaltsobjekt der Objektklasse Inhalt (GENCONT@1.1:Content) instanziert wird. 6. Weiterbearbeitung eingebrachter Formulare 6.1 Push-Verfahren Ablauf einer Anfrage Wie der Abbildung 36 zu entnehmen ist, wird jede eingehende Anfrage in den folgenden Schritten abgearbeitet: Ermitteln der Anfrageparameter Erzeugen des Hüllenobjekts Beilagenobjekte anlegen und dem Hüllenobjekt zuordnen Workflow initialisieren Sonstige Initialisierungen durchführen Für jeden dieser Einzelschritte sind über die bereits ausführlich behandelte Datenübernahmekonfiguration eine Reihe von Einstellungen möglich, um deren Verhalten steuern. Abbildung 36 Anfrageablauf 125 In den nachfolgenden Abschnitten wird jeweils auf die Details der Einzelschritte und deren Einstellungsmöglichkeiten in Bezug auf den Gesamtablauf eingegangen. Ermitteln der Anfrageparameter Anfrageparameter werden in diesem Kontext als definierte Sammlung von Werten verstanden, die unmittelbar Einfluss auf den weiteren Verlauf der Anfrage haben. Anfrageparameter können an drei unterschiedlichen Stellen definiert werden: Direkt im XML der Anfrage Als formularspezifische Werte in der Datenübernahmekonfiguration Als Default-Werte in der Datenübernahmekonfiguration Die obige Reihenfolge stellt gleichzeitig auch die Priorisierung bei der Ermittlung der Parameter für die Anfrage dar. Zuerst werden die definierten Parameter im XML der Anfrage verwendet, sofern diese erlaubt sind. Sind in der Anfrage keine Parameter enthalten, so wird versucht, die Parameter aus der formularspezifischen Konfiguration zu ermitteln. Sollte auch hier keine passende Definition vorhanden sein, so werden die Default-Werte aus der Konfiguration herangezogen. Wurden auch hier keine ausreichenden Einstellungen vorgenommen, so wird die Anfrage mit dem Fehler „Dieser Dienst ist nicht zur Verwendung konfiguriert“ zurückgewiesen. Die Anfrageparameter umfassen Werte für die folgenden Einstellungsmöglichkeiten je nach Ort der Definition entweder in Form von Eigenschaften (in der Konfiguration) oder als XML-Struktur (in der Anfrage). Die folgende Liste definiert die verfügbaren Parameter: Zu instanzierende Objektklasse Eigenschaft zur Ablage von Beilagen Objekteigentümer Gruppe des Objekts 6. Weiterbearbeitung eingebrachter Formulare 6.1 Push-Verfahren Workflowparameter (optional, nur wenn in der Domäne eine gültige Softwareproduktlizenz für das Softwareprodukt Fabasoft Components Workflow existiert) Als erster Anfrageparameter wird die zu instanzierende Objektklasse (FSCFRMTR@1.1001: envelopeclass) für das Hüllenobjekt angegeben. Diese Angabe ist nötig, um eine Anfrage korrekt abarbeiten zu können. Mit dieser Einstellung wird die Objektklasse des Objekts, das als Container für alle Beilagen dienen soll, definiert. Hierbei ist die einzige Einschränkung, dass die Objektklasse über eine Listeneigenschaft verfügen muss, in die Beilagenobjekte abgelegt werden können. Die Eigenschaft zur Ablage von Beilagen stellt den nächsten Anfrageparameter dar. Dabei muss eine Attributsdefinition angegeben werden, welche die Objektzeigerliste ausreichend spezifiziert. Die beiden Parameter Objekteigentümer und Gruppe des Objekts werden bei allen im Zuge der Anfrage neu erzeugten Objekten auf die gleichnamigen Attribute der Softwarekomponente COOSYSTEM@1.1 weiterpropagiert. Die Workflowparameter umfassen eine Liste von Initialisierungsprozessen und die Definition der Prozessverantwortung. Erzeugen eines Hüllenobjektes Wurde die Ermittlung der Anfrageparameter erfolgreich durchgeführt, so ist der nächste Schritt im Ablauf der Anfragebearbeitung das Erstellen eines Objektes, das als Hülle für die Metadaten und die Beilagen dienen soll. Die dafür zu verwendende Objektklasse wird über den Anfrageparameter Zu instanzierende Objektklasse definiert. Die einzige Einschränkung bei der Wahl der Objektklasse ist, dass eine Objektlisteneigenschaft zur Aufnahme der Beilageninhalte darauf definiert sein muss. Ein neues Objekt dieser Klasse wird erzeugt und dessen Name (COOSYSTEM@1.1:objname) wird auf den in der Anfrage enthaltenen Formulartitel gesetzt. 127 Der Objekteigentümer (COOSYSTEM@1.1:objowner) und die Gruppe des Objektes (COOSYSTEM@1.1: objowngroup) werden von den Werten der Anfrageparameter übernommen. Beilagenobjekte anlegen und dem Hüllenobjekt zuordnen Als nächster Teilschritt werden die in der Anfrage enthaltenen Beilagen ausgelöst und in Form von neuen Objekten dem zuvor erzeugten Hüllenobjekt zugeordnet. Die eigentlichen Formulardaten nehmen hier einen besonderen Stellenwert ein. Die rohen XML-Daten werden immer als Beilage angesehen. Dadurch verfügt jedes durch eine TakeForm-Anfrage erzeugte Container-Objekt über mindestens eine Beilage – den Antrag selbst. Abhängig davon, ob die Antragsdaten auf dem Formularsystem digital signiert wurden oder nicht, werden die XMLDaten als Hauptinhalt eines Objektes der Klasse Signiertes XML-Dokument (FSCDIGSIG@1.1001: SignedXMLDocument) bzw. als Hauptinhalt eines Objektes der Klasse Unsigniertes XML-Dokument (FSCFRMTR@1.1001:UnsignedXMLDocument) abgelegt. In beiden Fällen wird das ebenfalls transportierte XSL-Stylesheet dazu verwendet, um beim Öffnen des Dokuments die rohen XML-Daten zu transformieren und in einer für den Benutzer ansprechenden Form zu visualisieren. Beim signierten XML-Dokument wird hier zusätzlich am Ende des Dokuments die digitale Signatur dargestellt (siehe Abbildung 37). Der Name dieses XML-Dokuments ist – wie schon bei dem Containerobjekt – der Titel des Formulars. Auch für dieses Objekt werden der Eigentümer und die Gruppe des Objekts mit den in den Anfrageparametern enthaltenen Werten belegt. Für jede weitere Beilage wird gemäß den Einstellungen der Datenübernahmekonfiguration je ein Objekt instanziert und der Beilageninhalt als Hauptinhalt des neu erzeugten Objektes abgelegt. Der Name dieser Instanzen ergibt sich aus der Anfrage, in der für jede Beilage auch ein Name enthalten ist. Wie bereits beschrieben, wird auch für diese Beilagenobjekte der Objekteigentümer und die Gruppe des Objektes mit den in den Anfrageparametern enthaltenen Werten belegt. 6. Weiterbearbeitung eingebrachter Formulare 6.1 Push-Verfahren Abbildung 37 Digital signiertes XML-Dokument Abschließend werden Objektzeiger aller Beilagen, inklusive dem XML-Dokument, in die Beilagenlisteneigenschaft des Containerobjektes, die in den Anfrageparametern definiert ist, eingefügt. Workflow initialisieren In diesem Teilschritt wird versucht, mit den Mitteln von Fabasoft Components Workflow einen Prozess auf das soeben erstellte Hüllenobjekt zu starten. Zu diesem Zweck kann eine Liste von Prozessdefinitionen (COOWF@1.1:ProcessDefinition) in den Anfrageparametern definiert werden, welche als Initialisierungsprozesse verwendet werden. 129 Weiters ist es möglich, in den Anfrageparametern die Prozessverantwortung in Form einer zusammengesetzten Eigenschaft vom Typ COOWF@1.1:WorkFlowParticipant zu definieren, die an jeden der instanzierten Prozesse angebracht wird. Sonstige Initialisierungen durchführen Sind über diesen Standardablauf hinaus noch weitere Initialisierungen nötig, kann dies durch das Implementieren von Methoden der folgenden Aktionen, die beide auf das Hüllenobjekt aufgerufen werden, geschehen: FSCFRMTR@1.1001:InitializeEnvelope FSCFRMTR@1.1001:MapApplicant Die Aktion FSCFRMTR@1.1001:InitializeEnvelope erhält zu diesem Zweck als Argumente den Inhalt der gesamten Anfrage und ein Werteverzeichnis mit nötigen, diese Anfrage betreffenden Schlüsselwerten. Der Aktion FSCFRMTR@1.1001:MapApplicant werden als Argumente der Inhalt der XML-Struktur FormApplicant und ebenfalls das Werteverzeichnis mit Anfrageinformationen weitergegeben. Eine Implementierung der Aktion FSCFRMTR@1.1001:MapApplicant wird produktseitig bereits für die Objektklasse COOELAK@1.1001:SubFile zur Verfügung gestellt, die basierend auf den Antragstellerdaten einen Adressaten (COOELAK@1.1:Addressee) im Sinne der Fabasoft eGov-Suite beim jeweiligen Geschäftsstück platziert. XML-Schema Wie bei Webservices üblich, kann das zugrunde liegende XML-Schema per WSDL-Abfrage erfragt werden. Die WSDL-Abfrage wird in Fabasoft Components mit folgendem schematischen URL durchgeführt: http://<servername>/<virtual-directory>/fscdav/wsdl?Actions=<soap-actionidentification> Quelltext 6: Schematischer WSDL-URL 6. Weiterbearbeitung eingebrachter Formulare 6.1 Push-Verfahren Beim konkreten Webservice handelt es sich um die Aktion FSCFRMTR@1.1001:TakeForm. Als Servername wird „localhost“ angenommen, wodurch sich folgender URL ergibt: http://localhost/fsc/fscdav/wsdl?Actions=FSCFRMTR_1_1001_TakeForm Quelltext 7: Beispiel für WSDL-URL Der im obigen Beispiel angeführte URL liefert folgendes Ergebnis: Abbildung 38 WSDL-Anfrage 131 Basierend auf diesem Dokument können mit Hilfe von Codegeneratoren, wie den in Microsoft Visual Studio .NET oder Java J2EE enthaltenen, Proxyklassen zur programmatischen Bedienung des Webservices generiert werden. Die Aktion FSCFRMTR@1.1001:TakeForm implementiert vollständig eine automatisierte Entgegennahme von Formulardaten über SOAP. Das WSDL-Schema wurde bereits über einen Webbrowser abgefragt und das Ergebnis in Abbildung 38 dargestellt. Im nachfolgenden Teil wird auf die XML-Datenstruktur, die beim Transport verwendet wird, im Detail eingegangen. Alle beschriebenen XML-Strukturen liegen im XML-Namensraum: urn:schemas-fabasoft-com:forms-transfer:TakeForm Quelltext 8: XML-Namensraum Nur die Datenstrukturen, welche die Antragstellerdaten festhalten, stammen aus dem folgenden Namensraum: http://reference.e-government.gv.at/namespace/persondata/20020228# Quelltext 9: XML-Namensraum für Antragstellerdaten Der Wurzelknoten in der XML-Anfrage lautet TakeFormRequest. Die folgenden XML-Knoten sind als Hauptknoten direkt unter dem Wurzelknoten eingehängt: RequestParams FormDescription FormApplicant FormData FormAttachments 6. Weiterbearbeitung eingebrachter Formulare 6.1 Push-Verfahren Als Antwort liefert das Webservice FSCFRMTR@1.1001:TakeForm eine XML-Struktur mit dem Wurzelelement TakeFormResponse. Darunter befindet sich unmittelbar entweder das Element Success Response mit einer strukturierten Beschreibung der durchgeführten Aktivitäten oder FailureResponse mit einer detaillierten Fehlerbeschreibung. RequestParams Der Abschnitt RequestParams ermöglicht eine Übersteuerung der normalerweise in der aktuellen Datenübernahmekonfiguration getätigten Einstellungen des Verhaltens von außen. Diese Form der Übersteuerung muss allerdings explizit in der Konfiguration aktiviert werden. Die folgenden Einstellungen können im Request mitgegeben werden: zu instanzierende Objektklasse für das Hüllenobjekt Listeneigenschaft für die Ablage von Beilagen Besitzer aller neu erzeugten Objekte Gruppe aller neu erzeugten Objekte Workflowinitialisierungen wie Startprozesse und Prozessverantwortung 133 ... <tf:RequestParams xmlns:tf=”urn:schemas-fabasoft-com:forms-transfer:TakeForm”> <tf:EnvelopeClass>COO.1.1001.1.13133</tf:EnvelopeClass> <tf:AttachmentsView>COO.1.1001.1.13600</tf:AttachmentsView> <tf:Owner>COO.1.555.2.912</tf:Owner> <tf:Group>COO.1.555.1.885</tf:Group> <tf:WorkFlow> <tf:ProcessDefinitions> <tf:ProcessDefinition>...</tf:ProcessDefinition> </tf:ProcessDefinitions> <tf:ProcessResponsible> <tf:User>...</tf:User> <tf:Position>...</tf:Position> <tf:Group>...</tf:Group> <tf:OrgUnitType>...</tf:OrgUnitType> </tf:ProcessResponsible> </tf:WorkFlow> </tf:RequestParams> ... Quelltext 10: Beispiel für XML-Struktur – RequestParams FormDescription Der Abschnitt FormDescription enthält informative Elemente über das übertragene Formular wie den Formulartitel und eine eindeutige Formularkennung. ... <tf:Title xmlns:tf=”urn:schemas-fabasoft-com:forms-transfer:TakeForm”> Hundeanmeldung </tf:Title> <tf:Id>TESTFORMULAR-HUNDEANMELDUNG</TF:Id> ... Quelltext 11: Beispiel für XML-Struktur – FormDescription 6. Weiterbearbeitung eingebrachter Formulare 6.1 Push-Verfahren FormApplicant In diesem Abschnitt werden die persönlichen Daten des Antragstellers transportiert, da dies ein in jedem Formular wiederkehrender Teil ist und somit allgemein behandelt werden kann. Die Datenstrukturen zur Beschreibung von Personendaten basieren auf der Spezifikation [ReHo02]. ... <tf:FormApplicant xmlns:tf=”urn:schemas-fabasoft-com:forms-transfer:TakeForm” xmlns:pd=”http://reference.e-government.gv.at/namespace/persondata/20020228#”> <pd:CompactPhysicalPerson> <pd:CompactName> <pd:GivenName>Max</pd:GivenName> <pd:FamilyName>Mustermann</pd:FamilyName> </pd:CompactName> ... </pd:CompactPhysicalPerson> <pd:InternetAddress> <pd:Address>max.mustermann@fabasoft.com</pd:Address> </pd:InternetAddress> <pd:CompactPostalAddress> ... </pd:CompactPostalAddress> </tf:FormApplicant> ... Quelltext 12: Beispiel für XML-Struktur – FormApplicant FormData Der Abschnitt FormData enthält die im Formular ausgefüllten Daten des Antragstellers. Dieser Teil variiert von Formular zu Formular und ist deshalb nur auf oberster Ebene im Detail spezifiziert. Auf oberster Ebene wird zwischen signierten und unsignierten Daten unterschieden. Somit wird dem System die Möglichkeit gegeben, dies bereits an dieser Stelle unterscheiden zu können. 135 In jedem Fall wird ein XSL-Stylesheet mitgegeben, um die XML-Daten auch im Backoffice-System aufbereiten zu können. ... <tf:SignedData xmlns:tf=”urn:schemas-fabasoft-com:forms-transfer:TakeForm”> <sl11:CreateXMLSignatureResponse xmlns:sl11=”http://www.buergerkarte.at/namespaces/securitylayer/20020831#”> <dsig:Signature Id=”signature-13122004180602872” xmlns:dsig=”http://www.w3.org/2000/09/xmldsig#”> ... ... </dsig:Signature> </sl11:CreateXMLSignatureResponse> </tf:SignedData> ... Quelltext 13: Beispiel für XML-Struktur – FormData 6. Weiterbearbeitung eingebrachter Formulare 6.1 Push-Verfahren FormAttachments Im Abschnitt FormAttachments befindet sich eine Liste von Beilagenknoten mit den jeweils zugehörigen notwendigen Metadaten wie MIME-Typ und ursprünglicher Dateiname. ... <tf:FormAttachments xmlns:tf=”urn:schemas-fabasoft-com:forms-transfer:TakeForm”> <tf:FormAttachment> <tf:Title>Signaturzertifikat</tf:Title> <tf:Extension>cer</tf:Extension> <tf:MIMEType>application/x-x509-ca-cert</tf:MIMEType> <tf:Content> MIIFNzCCBB+gAwIBAgICc/kwDQYJKoZIhvcNAQEFBQAwgaExCzAJBgNVBAYTAkFUMUgwRgYDVQ QKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0ZW52 ZXJrZWhyIEdtYkgxIzAhBgNVBAsTGmEtc2lnbi1URVNULVByZW1pdW0tU2lnLTAxMSMwIQYDVQ QDExphLXNpZ24tVEVTVC1QcmVtaXVtLVNpZy0wMTAeFw0wNDA0MjYxMzM4MDlaFw0wNzA0MjYx MzM4MDla ... </tf:Content> </tf:FormAttachment> <tf:FormAttachment> <tf:Title>Geburtsurkunde</tf:Title> <tf:Extension>pdf</tf:Extension> <tf:MIMEType>application/pdf</tf:MIMEType> <tf:Content> ... </tf:Content> </tf:FormAttachment> ... </tf:FormAttachments> ... Quelltext 14: Beispiel für XML-Struktur – FormAttachments 137 Zusammenfassung Abbildung 39 Push-Verfahren 6. Weiterbearbeitung eingebrachter Formulare 6.1 Push-Verfahren 6.2 Pull-Verfahren 6.2 Pull-Verfahren Im Gegensatz zum soeben beschriebenen Push-Verfahren soll in diesem Kapitel der Einsatz des Pull-Verfahrens zwischen der Fabasoft eGov-Suite und dem Fabasoft eGov-Forms Formularserver dargestellt werden. Hierzu wird die eGov-Suite zyklisch aktiv und holt vom Formularserver die verfügbaren, vollständig eingebrachten Anträge über eine lose gekoppelte SOAP-Schnittstelle ab. Im Gegensatz zum Push-Verfahren sind in diesem Fall aufgrund der Asynchronität des Pull-Verfahrens für jeden abzuholenden Antrag mindestens zwei SOAP-Verbindungsaufnahmen nötig. Darüber hinaus wird eine weitere Verbindung pro Service aufgebaut, um alle neu verfügbaren Anträge aufzulisten. Eine vereinfachte Darstellung der Kommunikation ist in Abbildung 40 zu sehen. Abbildung 40 Ablauf Pull-Verfahren 139 Auslösen des Transports in der Fabasoft eGov-Suite Das Abholen von fertig gestellten Anträgen vom Formularserver erfolgt durch die Aktion FSCGOVFORMS@1.1001:FetchCompletedSolicitations. In der Regel wird diese durch einen Automated Task, der bei Bedarf einzurichten ist, in regelmäßigen Abständen ausgelöst. Als optionales Argument wird eine Liste mit Servicedefinitionen übergeben und ein ebenfalls optionales Objekt der Klasse Protokoll (FSCLOG@1.1001:Log). Erhält die Aktion keine Liste mit Servicedefinitionen, so wird in der aktuell eingestellten Step-Engine-Konfiguration versucht, eine entsprechende Liste zu finden. Es wird ein neues Protokoll-Objekt erzeugt, falls keines übergeben wurde. Das Protokoll-Objekt zeichnet alle durchgeführten Aktivitäten auf, um die Nachvollziehbarkeit zu gewährleisten. Die Einträge erfolgen in Form von XML-Daten, wodurch eine automatisierte Auswertung möglich ist. Bei der Darstellung des Protokoll-Objektes wird allerdings eine implizite XSL-Transformation durchgeführt, um die Daten für den Bearbeiter lesbar aufzubereiten. Ablauf des Transports Die Aktion FSCGOVFORMS@1.1001:FetchCompletedSolicitations iteriert über alle verfügbaren Servicedefinitionen und führt bei jedem einzelnen Service die SOAP-Anfrage QueryCompleted durch. Die Anfrage enthält eine Liste von Objektklassen, für die am Formularserver eine Suche abgesetzt werden soll. Diese Liste stammt aus der Service-Definition. Dort kann für jedes Service eine Liste von Objektklassen, entweder per Objektzeiger oder über deren Objektadresse, hinterlegt werden. Somit ist sichergestellt, dass nur Anträge angefragt werden, die auch verarbeitet werden können. Die Antwort auf diese Anfrage enthält eine Liste der neuen Anträge – gruppiert nach den angeforderten Objektklassen – die bereits den Status „vollständig eingebracht“ aufweisen. Nun wird für jeden Eintrag der Ergebnisliste eine separate Anfrage beim zugehörigen Service durchgeführt, um die tatsächlichen Daten abzuholen. Zu diesem Zweck wird in der Servicedefinition neben jeder Objektklasse eine 6. Weiterbearbeitung eingebrachter Formulare 6.2 Pull-Verfahren Abbildung von XML-Elementen auf Eigenschaften (COOXML@1.1:XMLElementMapping) angeführt, die in dieser nachfolgenden Anfrage mitgegeben wird. Die Abbildung ist jene, mit der am Formularserver die XML-Serialisierung mit Hilfe der Aktion COOXML@1.1001:DumpToXML des Antragsobjektes durchgeführt wird, nachdem auf das betroffene Objekt eine Sperre angebracht wurde. Dieses XML-Dokument wird in einen generischen Transport-Umschlag verpackt und stellt somit die Antwort auf die Anfrage dar. Es werden nun die Rohdaten wieder aus dem Transport-Umschlag ausgepackt und an die ebenfalls in der Servicedefinition anzuführenden Datenübernahme-Aktion in Form einer SOAP-Aktion als Anfrage weitergegeben. Die Fabasoft eGov-Suite stellt im Rahmen der Softwarekomponente FSCGOVXML@1.1001 eine sehr flexible Implementierung einer solchen Aktion (FSCGOVXML@1.1001:SOAPCreateSolicitationEx) zur Verfügung. Abschließend wird ein weiterer SOAP-Aufruf zum Formularserver durchgeführt, in dem das Ergebnis aller durchgeführten Aktivitäten übermittelt wird. Ist das Ergebnis positiv, so wird der Status des Antrages auf „Vollständig eingebracht und zur Bearbeitung weitergeleitet“ umgesetzt. Die im ersten Aufruf angebrachte Sperre auf den Antrag wird wieder entfernt und somit ist die Kommunikation diesen Antrag betreffend abgeschlossen und es wird beim nächsten Antrag dieser Liste fortgefahren. Sind alle Einträge der Antwort einer Anfrage abgearbeitet, so wird bei der nächsten Servicedefinition fortgesetzt. Zwischenzeitlich wird im Protokoll jeder der durchgeführten Schritte aufgezeichnet und mit dem zugehörigen Ergebnis versehen. 141 Abbildung 41 Ablauf des Pull-Jobs Ablauf der Datenübernahme in der eGov-Suite Die zuvor beschriebene Übernahme-Aktion kann nach Belieben implementiert werden. Allerdings stellt die Fabasoft eGov-Suite hierfür bereits die nötige Funktionalität Out of the Box zur Verfügung. Die SOAP-Aktion FSCGOVXML@1.1001:CreateSolicitationEx wurde über die Methodendefinition FSCGOVXML@1.1001:CreateSolicitationExMethod auf der Objektklasse COOSYSTEM@1.1: Object implementiert. 6. Weiterbearbeitung eingebrachter Formulare 6.2 Pull-Verfahren Da diese SOAP-Aktion vielfach als Schlüssel für weitere Konfigurationseinstellungen herangezogen wird, ist es empfehlenswert, für verschiedene Arten von Anträgen je eine solche SOAP-Aktion im Rahmen einer lokalen Software-Komponente zur Verfügung zu stellen und die Konfigurationen für jede Antragsart einzeln vorzunehmen, um Seiteneffekte durch Konfigurations-Überschneidungen zu vermeiden. Die eigentliche Datenübernahme, welche durch diese Aktion gesteuert wird, verläuft in drei Schritten: Erzeugen des Antrags aus den übergebenen XML-Daten In diesem Schritt wird aus den XML-Daten das Antragsobjekt rekonstruiert. Das Produkt stellt hierzu zwei Aktionen zur Verfügung, mit denen das Antragsobjekt entweder als XML-Dokument oder als spezielle Objektklasse erzeugt wird. Das XML-Dokument kann zur Anzeige mit Hilfe eines XSL-Stylesheets in ein benutzerfreundliches Zielformat – in der Regel HTML – transformiert werden. Erzeugen eines Geschäftsstücks Damit der Antrag in der Fabasoft eGov-Suite bearbeitet werden kann, wird ein Geschäftsstücksobjekt erzeugt, dem dieser Antrag zugeordnet wird. Die Art des Geschäftsstücks (in der Regel ein Eingangsstück) kann konfiguriert werden. Zusätzlich wird das Geschäftsstück mit Metadaten aus dem XML-Antrag initialisiert. Initialisierung des Workflows Abhängig von der Objektklasse wird eine Aktivitätsdefinition auf das erstellte Geschäftsstück initialisiert. Dadurch wird das Geschäftsstück seinem Eigentümer vorgeschrieben und erscheint in dessen Arbeitsvorrat. Jeder dieser Schritte wird von einer eigenen Aktion ausgeführt, die über fix vorgegebene Parameter verfügt. Sämtliche Einstellungsmöglichkeiten der nachfolgenden Abschnitte können in der aktuell verwendeten eGovKonfiguration auf der Registerkarte Schemata/Berichte getätigt werden. Erzeugen des Antragsobjekts Zum Erzeugen eines Antragsobjekts wird jene Aktion verwendet, welche unter dem Auslöser FSCGOVXML@1.1001:SOAPCreateSolicitationEx und dem Kontext FSCGOVXML@1.1001: SolCreateSolicitationCtx in der Eigenschaft Konfiguration für SOAP-Schritte der eGov-Konfiguration hinterlegt ist. 143 Das Produkt stellt zwei Standard-Aktionen für diesen Schritt zur Verfügung: Die Aktion FSCGOVXML@1.1001:CreateSolicitationAsXML erzeugt ein XML-Dokument aus den Antragsdaten und weist diesem eine XSL-Transformation für eine benutzerfreundliche Darstellung zu. Die Aktion FSCGOVXML@1.1001:CreateSolicitationFromDatapump instanziert eine beliebige, konfigurierbare Objektklasse und befüllt die Eigenschaften mit Daten aus dem XML-Antrag (Einbringer, Fremdzahl, etc.). Zusätzlich werden der Objekteigentümer und die Access Control List (ACL) des Antrags anhand der Einstellungen in der Eigenschaft Objekteigentümer und ACL gesetzt. Erzeugen des Geschäftsstücks Zum Erzeugen des Geschäftsstücks, das den Antrag enthält, wird jene Aktion verwendet, welche unter dem Auslöser FSCGOVXML@1.1001:SOAPCreateSolicitationEx und dem Kontext FSCGOVXML@1.1001: SolCreateSubFileCtx der eGov-Konfiguration hinterlegt ist. Das Produkt stellt eine Standard-Aktion für diesen Schritt zur Verfügung. Die Aktion FSCGOVXML@1.1001:CreateSubFileFromDatapump erzeugt ein Geschäftsstück gemäß den Einstellungen in den Datenstromdefinitionen und befüllt die Metadaten des Geschäftsstücks mittels einer konfigurierbaren XML-Abbildung mit Daten aus dem XML-Antrag (Einbringer, Fremdzahl, etc.). Zusätzlich werden der Objekteigentümer und die ACL des Geschäftsstücks anhand der Einstellungen in der Eigenschaft Objekteigentümer und ACL gesetzt. Initialisierung des Workflows Um das Geschäftsstück mit einer Aktivitätsdefinition zu initialisieren, damit es im Arbeitsvorrat eines Benutzers aufscheint, wird jene Aktion verwendet, welche unter dem Auslöser FSCGOVXML@1.1001: SOAPCreateSolicitationEx und dem Kontext FSCGOVXML@1.1001:SolInitializeWorkflowCtx hinterlegt ist. 6. Weiterbearbeitung eingebrachter Formulare 6.2 Pull-Verfahren Das Produkt stellt zwei Standard-Aktionen für diesen Schritt zur Verfügung: Die Aktion FSCGOVXML@1.1001:InitializeSolicitationWorkflow ermittelt aus der eGov-Konfiguration die in der Eigenschaft Einzufügende Aktivitätsdefinitionen hinterlegte Aktivitätsdefinition, die für die Objektklasse des Antrags und die Gültigkeit Startaktivität für XML-Antrag hinterlegt ist. Das Geschäftsstück wird mit dieser Aktivitätsdefinition dem Eigentümer des Geschäftsstücks vorgeschrieben und scheint somit in dessen Arbeitsvorrat auf. Die Aktion FSCGOVXML@1.1001:InitializeWorkflowViaXML ermittelt aus der Eigenschaft Workflow-Einstellungen für SOAP-Aktionen die einzufügende Aktivitäts- bzw. Prozessdefinition und den Workflow-Teilnehmer. Das Geschäftsstück wird dem Workflow-Teilnehmer mit der angegebenen Aktivitätsdefinition vorgeschrieben. Zum Ermitteln dieser Daten können XPath-Ausdrücke angegeben werden, die auf das XML-Dokument angewandt werden. Konfigurationen für das Erzeugen eines Antrags Für das Erzeugen von Antragsobjekten in der Fabasoft eGov-Suite aus dem XML-Antrag werden vom Produkt die beiden Aktionen FSCGOVXML@1.1001:CreateSolicitationAsXML und FSCGOVXML@1.1001: CreateSolicitationFromDatapump bereitgestellt. Für beide Aktionen müssen weitere Konfigurationseinstellungen getroffen werden, damit aus den verschiedenen XML-Anträgen die gewünschten Antragsobjekte erzeugt werden können. FSCGOVXML@1.1001:CreateSolicitationAsXML Diese Aktion erzeugt aus dem XML-Antrag ein XML-Dokument (FSCGOVXML@1.1001:XMLDocument), welches das gesamte XML-Dokument des XML-Antrags enthält. Zusätzlich wird bei dem XML-Dokument eine XSL-Transformation hinterlegt, welche die XML-Daten beim Öffnen des XML-Dokuments in eine für Benutzer lesbare Form bringt (z.B. in ein HTML-Dokument). Die für den XML-Antrag geeignete XSL-Transformation muss in der eGov-Konfiguration in der Eigenschaft Datenstromdefinitionen hinterlegt sein. 145 Es wird versucht, den Objektnamen des XML-Dokument-Objekts aus dem XML-Antrag zu ermitteln. Dazu wird auf der gleichen Seite in der eGov-Konfiguration in der Eigenschaft XPath-Ausdrücke für Operationen jene Zeile ermittelt, die als Auslöser die Steueraktion (FSCGOVXML@1.1001:SOAPCreateSolicitationEx) und den Verwendungsstring Solicitation-Name eingetragen hat. Der Wert des XML-Elements, welches in dem XPath-Ausdruck angegeben ist, wird für den Namen des XMLDokuments verwendet. FSCGOVXML@1.1001:CreateSolicitationFromDatapump Diese Aktion ermittelt in der eGov-Konfiguration auf der Seite Schemata/Berichte aus der Aggregatsliste Datenstromdefinitionen die Objektklasse, welche den XML-Antrag repräsentieren soll. Mit der ebenfalls dort hinterlegten XML-Abbildung werden die Eigenschaften dieses Objekts mit den Daten des XML-Antrags initialisiert. Als Auslöser wird die Aktion herangezogen. Durch Angabe von XPath-Ausdrücken können unterschiedliche XMLAnträge anhand ihrer XML-Datenstruktur eindeutig unterschieden werden. Die zu erzeugende Objektklasse wird in der Eigenschaft Objektklasse hinterlegt. Die XML-Abbildung, mit der die Daten des XML-Antrags auf das erzeugte Objekt abgebildet werden, ist in der Eigenschaft Element-Abbildung einzutragen. Da abhängig davon, ob der XML-Antrag signiert oder unsigniert übermittelt wurde, der Startknoten für die XMLAbbildung unterschiedlich sein kann, muss dieser in der Aggregatsliste XPath Ausdrücke für Operationen definiert werden. Dazu werden zwei Einträge in der Aggregatsliste benötigt. Der Auslöser ist in beiden Fällen die Steueraktion (FSCGOVXML@1.1001:SOAPCreateSolicitationEx). Für die Verwendung ist einmal der String Signed-XML-Data-Node und einmal der String Unsigned-XML-Data-Node einzutragen. Die XPath-Ausdrücke geben jeweils den Knoten des XML-Antragdokuments an, der als Wurzelknoten zum Anwenden der XMLAbbildung darstellt. 6. Weiterbearbeitung eingebrachter Formulare 6.2 Pull-Verfahren Konfigurationen für das Erzeugen des Geschäftsstücks Die Aktion FSCGOVXML@1.1001:CreateSubFileFromDatapump erzeugt aus dem XML-Antrag ein Geschäftsstück, dem das Antragsobjekt zugeordnet wird. Dazu wird anhand von XPath-Audrücken aus der Aggregatsliste Datenstromdefinitionen die dem XML-Antrag zugeordnete Objektklasse des Geschäftsstücks und eine XML-Abbildung zum Befüllen von Metadaten des Geschäftsstücks ermittelt. Als Auslöser ist hierzu die Aktion FSCGOVXML@1.1001:CreateSubFileFromDatapump eingetragen. Die XPath-Ausdrücke sind so zu formulieren, dass unterschiedliche XML-Anträge identifiziert werden können. In der Eigenschaft Objektklasse ist die Objektklasse für das Geschäftsstück einzutragen. Die Element-Abbildung enthält schließlich jene XML-Abbildung, welche die Metadaten des Geschäftsstücks mit den Daten des XML-Antrags befüllt. Konfiguration für das Initialisieren des Workflows Um einen Start-Workflow auf das Geschäftsstück zu initialisieren, werden vom Produkt die beiden Aktionen FSCGOVXML@1.1001:InitializeSolicitationWorkflow und FSCGOVXML@1.1001: InitialiazeWorkflowViaXML zur Verfügung gestellt. Für beide Aktionen müssen Konfigurationseinstellungen getroffen werden, damit die Geschäftsstücke passend vorgeschrieben werden können. FSCGOVXML@1.1001:InitializeSolicitationWorkflow Die Aktion FSCGOVXML@1.1001:InitializeSolicitationWorkflow ermittelt eine Aktivitätsdefinition aus der eGov-Konfiguration und schreibt das Geschäftsstück mit dieser Aktivitätsdefinition dem Eigentümer des Geschäftsstücks vor. Die Konfiguration der einzufügenden Aktivitätsdefinition wird in der eGov-Konfiguration auf der Seite Workflow in der Aggregatsliste Einzufügende Aktivitätsdefinitionen vorgenommen. FSCGOVXML@1.1001:InitializeWorkflowViaXML Die Aktion FSCGOVXML@1.1001:InitializeWorkflowViaXML ermittelt aus den Einstellungen in der Aggregatsliste Workflow-Einstellungen für SOAP-Aktionen der eGov-Konfiguration einen Workflow- 147 Teilnehmer und eine Aktivitätsdefinition bzw. Prozessdefinition. Um hierbei möglichst flexibel zu sein, kann dazu eine Liste von XPath-Ausdrücken angegeben werden. Nur wenn alle XPath-Ausdrücke zu nichtleeren Knotenmengen führen, wird der Konfigurationseintrag herangezogen. Konfiguration der Objekteigentümer-Einstellungen Die Aktionen FSCGOVXML@1.1001:CreateSolicitationAsXML, FSCGOVXML@1.1001: CreateSolicitationFromDatapump und FSCGOVXML@1.1001:CreateSubFileFromDatapump setzen bei den erzeugten Objekten die Eigenschaften Eigentümer und ACL. Dazu wird die Aktion FSCGOVXML@1.1001:ApplyObjectOwnerSettings verwendet. Der Aufruf der Aktion ist nicht vom Benutzer steuerbar. Wichtig in diesem Zusammenhang ist allerdings die Konfiguration der Einstellungen, welche zum Bestimmen des Objekteigentümers und der ACL herangezogen werden. Dazu wird die Aggregatsliste Objekteigentümer und ACL auf der Seite Schemata/Berichte der eGov-Konfiguration herangezogen. In den Eigenschaften Objektklasse und Aktion sind die Objektklasse des betroffenen Objekts und die betroffene Aktion einzutragen. Weiters lassen sich optional XPath-Ausdrücke angeben, die eine zusätzliche Filterung anhand der XML-Struktur des übermittelten XML-Antrags zulassen. Unter den Eigenschaften Eigentümer (Benutzer) und Eigentümer (Gruppe) können Zuordnungsschlüssel für einen Benutzer oder eine Gruppe hinterlegt werden. Diese Zuordnungsschlüssel identifizieren auf eindeutige Art und Weise einen Benutzer oder eine Gruppe. Die Eigenschaft ACL enthält die ACL, die dem jeweiligen Objekt nach dem Erzeugen zugeordnet werden soll. 6. Weiterbearbeitung eingebrachter Formulare 6.2 Pull-Verfahren Zusammenfassung Abbildung 42 Pull-Verfahren 149 7 schnittstelle für 7 automatisierte antragstellung Die Formularserverlösung Fabasoft eGov-Forms stellt eine Schnittstelle zur Verfügung, um einerseits eventuell vorhandene Formularlösungen möglichst rasch integrieren zu können, aber auch um die Möglichkeit zu bieten, bereits bestehende Business-Lösungen auf einfache Art und Weise anzubinden. Diese Schnittstelle zur automatisierten Antragstellung wird in den folgenden Abschnitten behandelt. Wie schon die Schnittstelle zum Back-Office ist auch die Schnittstelle für die automatisierte Antragstellung SOAP-basiert. Dies bedeutet, sämtliche Möglichkeiten Antragsdaten von außen an Fabasoft eGov-Forms zu übergeben werden über Fabasoft SOAP-Aktionen abgebildet. Eine dieser Möglichkeiten wird über die Aktion Antrag mit XML-Inhalt erzeugen (FSCFORMS@1.1001: CreateXMLSolicitation) zur Verfügung gestellt. Diese Aktion erzeugt einen Antrag einer in der SOAPAnfrage definierbaren Objektklasse, setzt dessen Hauptinhalt und legt die optional in der Anfrage enthaltenen Beilagen bei diesem neu erstellten Antragsobjekt ab. Der Vorteil dieser Variante ist, dass die weitere Behandlung des Antrags mit den Standardmitteln von Fabasoft eGov-Forms erfolgen kann. So ist beispielsweise die Weiterleitung ins Backoffice, die Vernichtung der Antragsdaten, die erneute Verbindungsaufnahme des Antragstellers zu den Formulardaten (über die Liste der Schritte für vollständige Anträge), etc. möglich. Ein weiterer Vorteil ist durch den Umstand gegeben, dass ein und dieselbe Schnittstelle für beliebige Anträge verwendet werden kann. Somit kann mittels einer Schnittstelle über Fabasoft eGov-Forms eine Reihe von Anträgen, Online-Formularen, etc. nach dem Store-And-Forward-Prinzip realisiert werden, anstatt eine Reihe von unterschiedlichen Schnittstellen für jedes Formular bzw. jeden einzelnen Antrag zu implementieren. 151 Die Rolle von Fabasoft eGov-Forms als Store-And-Forward-Provider wird in der nachfolgenden Abbildung 43 veranschaulicht. Abbildung 43 Technischer Ablauf XML-Antrag 7. Schnittstelle für automatisierte Antragstellung 7.1 XML-Schema 7.1 XML-Schema In diesem Abschnitt soll das Schema der Aktion FSCFORMS@1.1001:CreateXMLSolicitation genauer betrachtet werden. Der XML-Namensraum der Anfrage sowie der Antwort ist urn:schemas-fabasoft-com: forms:CreateXMLSolicitation. Das Wurzelelement der Anfrage lautet request, das Wurzelelement der Antwort response. Dem Anfrage-Wurzelknoten sind die folgenden Knoten in erster Ebene untergeordnet: createclass xmldata attachments Im Knoten createclass wird die Objektklasse des zu erzeugenden Antragsobjekts über dessen Objektadresse definiert. Der Knoten xmldata enthält eine beliebige XML-Struktur, die die eigentlichen Antragsdaten repräsentieren. Der Knoten attachments enthält eine beliebige Anzahl von attachment-Subknoten, von denen jeder einzelne eine Beilage zum übertragenen Antrag darstellt. Ein attachment-Knoten besteht aus folgenden Subknoten: data fileext doctitle mimetype Der Knoten data enthält die eigentlichen Daten der Beilage in Base-64-codierter Form. Die Metadaten der beigelegten Datei sind in den Knoten fileext (Dateierweiterung), doctitle (Textuelle Bezeichnung der Beilage) und mimetype (MIME-Typ der Dateidaten) enthalten. 153 Nachfolgend wird ein Auszug eines Beispiel-Anfrage-Dokuments dargestellt. ... <cs:request xmlns:cs=”urn:schemas-fabasoft-com:forms:CreateXMLSolicitation”> <cs:createclass></cs:createclass> <cs:xmldata> <ha:hundeanmeldung xmlns:ha=”urn:www.hundeanmeldung.com/hundeanmeldung0815.htm”> ... </ha:hundeanmeldung> </cs:xmldata> <cs:attachments> <cs:attachment> <cs:data> MIIFNzCCBB+gAwIBAgICc/kwDQYJKoZIhvcNAQEFBQAwgaExCzAJBgNVBAYTAkFUMUgwRgYDVQ QKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0ZW52 ZXJrZWhyIEdtYkgxIzAhBgNVBAsTGmEtc2lnbi1URVNULVByZW1pdW0tU2lnLTAxMSMwIQYDVQ QDExphLXNpZ24tVEVTVC1QcmVtaXVtLVNpZy0wMTAeFw0wNDA0MjYxMzM4MDlaFw0wNzA0MjYx MzM4MDla ... </cs:data> <cs:fileext>pdf</cs:fileext> <cs:toctitle>Kaufvertrag</cs:doctitle> <cs:mimetype>application/pdf</cs:mimetype> </cs:attachment> </cs:attachments> </cs:request> ... Quelltext 15: Beispiel für XML-Struktur 7.2 Ablauf Der Ablauf der Anfragebearbeitung stellt sich wie folgt dar. Zuerst wird ein Objekt der im Knoten createclass übergebenen Objektklasse instanziert. 7. Schnittstelle für automatisierte Antragstellung 7.1 XML-Schema 7.2 Ablauf Anschließend werden die eigentlichen Antragsdaten (das Subdokument unterhalb des Knotens xmldata) in eine Datei separiert und als Hauptinhalt des Antrags abgelegt. Es werden eine Reihe von Antragsbeilagen (FSCFORMS@1.1001:FormAttachment) erstellt, mit dem jeweiligen Inhalt belegt und deren Objektzeiger in der Eigenschaft Externe Beilagen (FSCFORMS@1.1001:externalattachments) abgelegt. Zusammenfassung Abbildung 44 automatisierte Antragstellung 155 8 schnittstellen zu weiteren 8 fabasoft produkten Mit dem Produkt Fabasoft eGov-Forms stellt die Fabasoft Produktpalette eine Reihe von Werkzeugen zur Erstellung und Publikation von Online-Formularen zur Verfügung. In diesem Kapitel sollten darüber hinaus noch zwei Aspekte im Hinblick auf die Benutzerführung (Fabasoft eGov-Suite/WBT) und die Publikation auf einer Website (Fabasoft CMS) beleuchtet werden. 8.1 Fabasoft eGov-Suite/WBT Fabasoft eGov-Suite/WBT (Web Based Training) ist Teil der Fabasoft Produktfamilie und dient der Umsetzung einer interaktiven Online-Hilfe für Online-Formulare und Internet-Dienste. Vergleichbare Überlegungen hierzu sind auch beim Styleguide für Online-Formulare in Österreich angedacht. E-Government Online-Dienste sind möglicherweise komplex und können unter anderem schwer verständlich sein. Mit der interaktiven Online-Hilfe von Fabasoft erhalten Bürger und Unternehmen bei Bedarf die nötige Unterstützung für das korrekte und vollständige Einreichen von Online-Anträgen. Dies beugt fehlerhaften Anträgen und Missverständnissen während des Verwaltungsverfahrens vor und führt somit zu einer schnelleren Abwicklung der Anträge. Die interaktive Online-Hilfe zeigt das gleiche Formular als Muster und unterscheidet sich in keinster Weise vom originalen Online-Formular und bietet daher ein identisches „Look-and-feel“. Die Benutzeroberfläche ist rein HTML-basiert und benötigt aus diesem Grund keine starren Screenshots. Für die interaktive Ausfüllhilfe müssen zusätzlich zur Eingabe der Hilfetexte auch die Positionierung des Agenten, die Vertonung, etc. definiert werden. Aus diesem Grund bietet Fabasoft im Rahmen des Dienstleistungsangebotes die Umsetzung von interaktiven Ausfüllhilfen mit Fabasoft eGov-Suite/WBT an. Das Web Based Training von Fabasoft wurde durch die hohe Qualität, Anwenderfreundlichkeit und Realitätsnähe mit dem World Summit Award 2003 [WSAw03] zu einem der fünf weltweit besten E-Learning Lösungen ausgezeichnet. 157 Abbildung 45 Vorteile von Fabasoft eGov-Suite/WBT Abbildung 46 Beispiel-WBT – Hundeanmeldung 8. Schnittstellen zu weiteren Fabasoft Produkten 8.1 Fabasoft eGov-Suite/WBT 8.2 Fabasoft CMS Beispiel – WBT – Hundeanmeldung Im Zuge der Entwicklung eines Online-Formulars hat der Formularentwickler die Möglichkeit, eine interaktive Online-Hilfe für einzelne Formularblockelemente und/oder Formularblöcke anzufertigen und diese im Formular zur Verfügung zu stellen. Abbildung 46 zeigt einen möglichen Einsatz des Fabasoft eGovSuite/WBT. In der Mitte der Abbildung ist deutlich der Agent „Fabi“ mit der Sprechblase zu erkennen. Schlussendlich erleichtert Fabasoft eGov-Suite/WBT das Befüllen und Einreichen von Online-Formularen und dient somit auch der Reduktion der „Digitalen Kluft“. 8.2 Fabasoft CMS Das Fabasoft CMS ist eine komplette, ganzheitliche Content-Management-Lösung, die speziell auf Anforderungen von Behörden und öffentlichen Verwaltungen zugeschnitten ist. Als Teil der Fabasoft Produktfamilie versteht sich das Fabasoft CMS als prozess- und systemtechnisch integriertes Dokumenten- und Content-ManagementSystem, das die beiden Bereiche Dokumentenmanagement und Content-Management in einer homogenen Lösung verschmelzen lässt. Detaillierte Informationen über das Fabasoft CMS liefert das Buch „Das Fabasoft Content-Management-System“ [Hofm04]. Um auch Online-Formulare über das Content-Management publizieren zu können, wurde auf Seiten des Produktes Fabasoft eGov-Forms eine SOAP-Aktion implementiert, die auf Anfrage alle aktuell installierten und zur Verfügung stehenden Online-Formulare liefert. Die anfragende Applikation – in diesem Fall das Fabasoft CMS – kann mit den erhaltenen Daten einen URL zum Aufruf eines Online-Formulars erzeugen und in die publizierte Web-Site einbinden. Diese lose Kopplung der beiden Produkte, Fabasoft eGov-Forms und Fabasoft CMS, ermöglicht maximale Flexibilität beim Einsatz in der Praxis. 159 SOAP-Aktion auf Seiten von Fabasoft eGov-Forms Wie bei Webservices üblich, kann das zugrunde liegende XML-Schema per WSDL-Abfrage angerufen werden. Die WSDL-Abfrage wird in Fabasoft eGov-Forms mit folgendem schematischen URL durchgeführt: http://<servername>/<virtual-directory>/fscdav/wsdl?Actions=<soap-actionidentification> Quelltext 16: Schematischer WSDL-URL Beim konkreten Webservice handelt es sich um die Aktion FSCFORMS@1.1001:QueryInstalled FormsInfo wodurch sich – als Servername wird „localhost“ angenommen – folgender URL ergibt: http://localhost/fsc/fscdav/wsdl?Actions=FSCFORMS_1_1001_QueryInstalledFormsInfo Der Aufruf dieses URL ist in Abbildung 47 zu sehen. Quelltext 17: Beispiel für WSDL-URL Die Aktion FSCFORMS@1.1001:QueryInstalledFormsInfo liefert auf Anfrage mit dem Wurzelelement request eine XML-Struktur, die dem Wurzelelement response entspricht. Im nachfolgenden Teil wird auf die XML-Datenstruktur, die beim Response verwendet wird, im Detail eingegangen. Alle beschriebenen XML-Strukturen liegen im XML-Namensraum urn:schemas-fabasoft-com:forms:QueryInstalledFormsInfo. Der Wurzelknoten des Response lautet response. Die folgenden XML-Knoten sind direkt unter dem Wurzelknoten eingehängt: appstartnew In diesem XML-Knoten wird die eindeutige Adresse (COO-Adresse) der Anwendung zum Start des OnlineFormulars angegeben 8. Schnittstellen zu weiteren Fabasoft Produkten 8.2 Fabasoft CMS Abbildung 47 WSDL-Anfrage im Web-Browser baseurl In diesem XML-Knoten wird ein URL in der Form http://<server>/<virtual-directory> angegeben. Unter diesem URL ist der Formularserver erreichbar. installedforms In diesem XML-Knoten werden alle installierten Online-Formulare aufgelistet. Zu jedem Online-Formular werden die eindeutige Adresse (COO-Adresse) der Objektklasse form/address und die Adressen der verfügbaren Dispatcher form/applicationdispatcher/basic und form/applicationdispatcher/wai angegeben. 161 Einbindung auf Seiten von Fabasoft CMS Der Ressourcenassistent von Fabasoft CMS kann die beschriebene Aktion FSCFORMS@1.1001: QueryInstalledFormsInfo zur Abfrage der aktuell verfügbaren Online-Formulare am konfigurierten Fabasoft eGov-Forms-Server verwenden. Aus den erhaltenen Daten kann das Fabasoft CMS URLs definieren, die der Autor bei der Erstellung einer Website zur Verfügung hat. Die standardmäßige Einbindung von Online-Formularen in Webinhalte der Behörde setzt somit keine detaillierten Kenntnisse der URL-Parameter eines Formularaufrufs voraus. Zusammenfassung Abbildung 48 Schnittstellen 8. Schnittstellen zu weiteren Fabasoft Produkten 8.2 Fabasoft CMS 163 9 module für 9 online-applikation Für sichere Online-Verfahren in Österreich werden von der Stabsstelle IKT-Strategie des Bundes Basisdienste im Bereich der Authentifizierung und der elektronischen Signatur zur Verfügung gestellt [Stab05]. Hierzu gehören die in Fabasoft eGov-Forms berücksichtigten Module MOA-ID und MOA-SP/SS. Im Zusammenhang mit sicheren Online-Verfahren ist die Einbindung der elektronischen Signatur sowie Authentisierung und Identifikation des Kommunikationspartners (Antragsteller) notwendig. Die Stabsstelle IKT-Strategie des Bundes hat dazu Servermodule entwickelt. Diese Servermodule lehnen sich an das Konzept der Bürgerkarte an und bilden das Gegenstück auf Seite der Verwaltung zur sogenannten Bürgerkartenumgebung des Bürgers [Stab05]. Folgende Servermodule werden derzeit von Fabasoft eGov-Forms verwendet: Modul für Online Anwendungen – Identifikation und Authentisierung (MOA-ID), Modul für Online Anwendungen – Signaturprüfung und Serversignatur (MOA-SP/SS) 9.1 MOA-ID Das Modul MOA-ID dient zur Authentifikation des Bürgers mittels Bürgerkarte gegenüber einer Online-Anwendung. Dieses Servermodul übernimmt grundsätzlich die Überprüfung der Identität des Antragstellers und gibt diese Informationen an die Online-Anwendung weiter. Zusätzlich wird eine bereichsspezifische Personenkennung (bPK) für den angegebenen Verfahrensbereich berechnet (siehe [EGov04]). Diese bPK wird durch ein mathematisches Verfahren (HASH) aus der auf der Bürgerkarte enthaltenen Stammzahl und dem jeweils zugeordneten Verfahrensbereich berechnet. Eine bPK ist auf den Bereich beschränkt, dem die Anwendung zugeordnet ist. Die bPK kann nicht auf die Stammzahl rückgeführt oder für andere Bereiche umgerechnet werden. Das Modul MOA-ID ist nicht Bestandteil von Fabasoft eGov-Forms, sondern als Fremdanbieter-Produkt über definierte Schnittstellen in das Standardsoftwareprodukt Fabasoft eGov-Forms eingebunden. Die Konfiguration der MOA Integration erfolgt über Angaben in einer Administrations-Konfiguration, die auf FSCCONFIG@1.1001:Configuration basiert. 165 Folgende Angaben werden benötigt: URL zum Authentifizieren Webservice-URL zum Überprüfen des SAML-Artefakts URL für die Rückkehr nach Abmeldung Gruppe für neue Benutzer Einstellungen in der Administrations-Konfiguration Folgende Schritte sind zur Konfiguration von MOA-ID durchzuführen: Erzeugen einer Administrations-Konfiguration zur Sicherstellung der Update-Fähigkeit der Einstellungen. Als Basis dieser Konfiguration ist auf der Registerkarte „Konfiguration“ der Wert FSCCONFIG@1.1001:Configuration einzutragen. Weiters ist eine Referenz und eine Softwarekomponente auf der Registerkarte „Komponentenobjekt“ zu definieren. Schlussendlich sind auf der Registerkarte „MOA“ die MOA-ID-spezifischen Parameter zu setzen (siehe Abbildung 49). Hierzu zählen: URL zum Authentisieren Dieser Typ definiert den URL, unter der der MOA-ID-Server die Authentisierung durchführt. Hier sind zugleich die aufrufenden URL-Parameter zu definieren. Eine detaillierte Beschreibung der Parameter und deren Bedeutung kann in der Dokumentation zu MOA-ID nachgelesen werden (siehe [ScKM03]). Folgender Beispiel-URL wäre denkbar: https://<moa-server>/moa-id-auth/StartAuthentication?Target=Antrag&OA= http%3A//<eGov-Forms-Server>/fsc/fscasp/content/bin/fscvext.dll%3Fax= COO.1.1001.1.32498%26dx=COO.1.1001.1.134446 Webservice-URL zum Überprüfen des SAML-Artefakts Dieser Typ definiert den URL, unter der das Produkt Fabasoft eGov-Forms das erhaltene SAML-Artefakt verifizieren kann. 9. Module für Online-Applikationen 9.1 MOA-ID Folgender Beispiel-URL wäre denkbar: http://<moa-server>/moa-id-auth/services/GetAuthenticationData URL für die Rückkehr nach Abmeldung Dieser Typ definiert den URL, welche nach erfolgter Abmeldung vom System aufgerufen werden soll. Folgender Beispiel-URL wäre denkbar: http://www.fabasoft.com Da jeder neue Antragsteller im Sinne der Personalisierung als Antragsteller im Produkt Fabasoft eGov-Forms angelegt wird, muss zusätzlich eine Gruppe hierfür angegeben werden. Damit die eben getroffenen Einstellungen auch Anwendung finden, ist die Eintragung der eigenen Administrations-Konfiguration in der Komponenten-Konfiguration der aktuellen Domäne bzw. des Mandanten durchzuführen. Abbildung 49 AdministrationsKonfiguration – MOA-ID 167 Aufruf des MOA-ID-Logins Der Aufruf des MOA-ID-Logins hängt von der verwendeten Anwendungssteuerung und dem Status der Authentifikation des Antragstellers ab. Im Zuge des Zugriffs auf ein Online-Formular über eine definierte Anwendungssteuerung wird der Antragsteller automatisiert an das konfigurierte MOA-ID-Service weitergeleitet (Ablauf siehe Abbildung 50). Entsprechend muss der Antragsteller dort seine Identifikationsdaten bekannt geben bzw. unterzeichnen. Nach erfolgreicher Identifikation des Antragstellers am MOA-ID-Service kehrt dieser wieder an die Fabasoft eGov-Forms Umgebung zurück. Fabasoft eGov-Forms erkennt den Redirect aus dem MOA-ID-Service und versucht eine Zuordnung des Antragstellers. Abbildung 50 Identifikation mittels MOA-ID 9. Module für Önline-Applikationen 9.1 MOA-ID 9.2 MOA-SP/SS 9.2 MOA-SP/SS Der Teil MOA-Signaturprüfung des Moduls MOA-SP/SS prüft digitale Signaturen, die mit Hilfe der Bürgerkarte über das Protokoll Security-Layer angefertigt wurden. In diesem Zusammenhang sind zwei Szenarien denkbar. Als erstes Szenario gilt es, die digitalen Signaturen des Antragstellers zu überprüfen. Damit kann beispielsweise die Authentizität von Anträgen hinsichtlich Inhalt und Ursprung durch die Behörde geprüft werden. Das zweite Szenario umfasst die Prüfung der elektronischen Unterschrift einer anderen Behörde. Damit kann die Authentizität von Schriftstücken hinsichtlich Inhalt und Ursprung durch die Behörde geprüft werden. Das Modul MOA-SP/SS ist nicht Bestandteil von Fabasoft eGov-Forms, sondern als Fremdanbieter-Produkt über definierte Schnittstellen in das Standardsoftwareprodukt Fabasoft eGov-Forms eingebunden. Im Kontext von Fabasoft eGov-Forms wird das Modul MOA-Signaturprüfung zur Überprüfung der digitalen Signatur des Antragstellers verwendet. Hierzu wird der mittels Bürgerkarte fertig signierte Antragsinhalt an eine MOA-Signaturprüfungsinstanz mit den nötigen Parametern übermittelt. Falls die Signaturprüfung ein Problem mit der digitalen Signatur aufzeigt, wird dieses sofort dem Antragsteller dargestellt. Konfiguration für die Signaturprüfung Das Produkt Fabasoft Components/Base stellt eine Aktion (Referenz: FSCMOASS@1.1001: VerifySignature) zur Überprüfung von digitalen Signaturen mit Hilfe von MOA-Signaturprüfung zur Verfügung. Das Standardsoftwareprodukt Fabasoft eGov-Forms bedient sich dieser Funktionalität und ermöglicht die nötige Konfiguration in der Step Engine Konfiguration. Folgende Schritte sind zur Konfiguration von MOASignaturprüfung durchzuführen: Erzeugen einer Step Engine Konfiguration zur Sicherstellung der Update-Fähigkeit der Einstellungen. Als Basis dieser Konfiguration ist auf der Registerkarte „Konfiguration“ FSCSTEPENG@1.1001:DefaultConfiguration einzutragen. der Wert Weiters ist eine Referenz und eine Softwarekomponente auf der Registerkarte „Komponentenobjekt“ zu definieren. 169 Schlussendlich sind auf der Registerkarte „FSC Forms Base“ die für MOA-Signaturprüfung spezifischen Parameter zu setzen (siehe Abbildung 51). Hierzu zählen: URL des MOA_SP-Services Dieser URL definiert, unter welcher Adresse das MOA-Service erreichbar ist. Folgender Bespiel-URL wäre denkbar: http://<moa-server>/moa-spss/services/SignatureVerification Trust Profile ID des MOA_SP-Services Dieser Parameter definiert die Trust Profile ID, welche zur Signaturprüfung verwendet werden soll. Abbildung 51 Step Engine Konfiguration – MOA-Signaturprüfung 9. Module für Önline-Applikationen 9.2 MOA-SP/SS Aufruf der Signaturprüfung Nach dieser Art der Einrichtung wird die Signaturprüfung im Kontext von Fabasoft eGov-Forms nach jeder erfolgten digitalen Signatur mittels Bürgerkarte automatisiert aufgerufen. Zusammenfassung Abbildung 52 MOA 171 10 173 10 funktionsbeschreibung Ziel dieses Kapitels ist es, einen kleinen Überblick über die wichtigsten Elemente, die zum Erstellen von Onlineformularen mit Fabasoft eGov-Forms benötigt werden, zu bieten. Es werden überblicksweise die am häufigsten verwendeten Schritte des Produkts Fabasoft eGov-Forms erläutert. 10.1 Anwendungsschritte mit GUI Editorseite anzeigen Der Anwendungsschritt Editorseite anzeigen (FSCSTEPENG@1.1001:DisplayFormPageStep) dient dazu, eine Formularseite zum Bearbeiten und Suchen von Objekten (COOATTREDIT@1.1: FormPage) des Fabasoft Components Formularsystems bzw. eine Anwendungssicht (FSCVAPP@1.1001: ApplicationView) darzustellen. Als erster Parameter muss in der Eigenschaft Seite (FSCSTEPENG@1.1001:formpage) die gewünschte darzustellende Einheit (konkrete Formularseite oder Anwendungssicht) eingestellt werden. Weiters ist es möglich in der Eigenschaft Editorseite nur lesend darstellen (FSCSTEPENG@1.1001: displayreadonly) anzugeben, ob die Darstellung nur lesend oder bearbeitend erfolgen soll. Lesen und Akzeptieren Dieser Anwendungsschritt ermöglicht es, einen beliebigen HTML-Inhalt auf einer Seite anzuzeigen. Dazu wird als Parameter in der Eigenschaft dargestellte Information (FSCSTEPENG@1.1001: infocontent) ein sprachabhängiger Inhalt (COOSYSTEM@1.1:LanguageContent) bereitgestellt. Der Inhalt wird auf gleiche Weise wie auch bei Header und Footer beschrieben als dynamischer Inhalt verwendet, d.h. es erfolgt die textuelle Substitution von Pseudotags bzw. FSCDOX-Expressions vor der tatsächlichen Darstellung. 10.2 Antragsschritte mit GUI Bürgerkarte auswählen Dieser Anwendungsschritt dient dazu, dem Benutzer des Onlineformulars eine Liste der Bürgerkartenumgebungen zur Auswahl vorzulegen. Dabei werden als System-Default alle suchbaren Objekte der Klasse Definition einer Bürgerkartenumgebung (FSCDIGSIG@1.1001:CitizenCardDefinition) dargestellt. Dieses System-Default kann aber über die Eigenschaft Auswählbare Bürgerkartenumgebungen des Schritts auf die gewünschten Umgebungen reduziert werden. Die Objektklasse Definition einer Bürgerkartenumgebung erlaubt die Konfiguration der für die Signatur mit einer Bürgerkartenumgebung nötigen Einstellungen wie den Data-URL. Formularseiten bearbeiten Der Schritt „Formularseiten bearbeiten“ (FSCFORMS@1.1001:EditFormPagesStep) unterscheidet sich in der Möglichkeit mehrere Formularseiten innerhalb eines tatsächlichen Schritts darstellen zu können vom Anwendungsschritt Editorseite anzeigen (FSCSTEPENG@1.1001:DisplayFormPageStep). Innerhalb dieser einzelnen Seiten kann über zwei separate Schaltflächen nächste Seite und Seite zurück navigiert werden. Vollständigen Antrag anzeigen Dieser Schritt visualisiert den vollständig ausgefüllten Antrag, so wie er eingereicht wurde. Optional kann hier die Schaltfläche „Status downloaden“ aktiviert werden, die dann den Download eines Status-XML-Dokuments übernimmt. Das Dokument wird durch die Inhaltseigenschaft XML Status (FSCFORMS@1.1001:statusdoc) dargestellt. Vor dem Download wird eine XML-Transformation mit einem pro Antragsklasse einstellbarem XMLStylesheet durchgeführt. Das Stylesheet ist durch den Inhalt der Eigenschaft Transformation für Statusbericht (FSCFORMS@1.1001:statustransformation) bei der Antragsobjektklasse zu definieren. 10. Funktionsbeschreibung 10.2 Antragsschritte mit GUI Zusammenfassung anzeigen Mit diesem Schritt wird dem Benutzer des Online-Formulars eine automatisch generierte Zusammenfassung aller bisher dargestellten Formularseiten vorgelegt. Vor der Anzeige wird eine Zusammenfassung der Daten in Form von XML generiert und in der Eigenschaft Hauptinhalt (COOSYSTEM@1.1:content) abgelegt. Es wird ein XSL-Stylesheet, das zur Transformation dieser XML-Daten in eine HTML-Seite verwendet werden kann, generiert und im Attribut XSL-Inhalt (FSCFORMS@1.1001:xslcont) persistiert. Optional kann diese Zusammenfassungsseite als Ausgangspunkt für die digitale Signatur des Antrags benutzt werden. Zu diesem Zweck kann in der Eigenschaft Art der Signatur zwischen den Werten „Nur anzeigen (ohne Unterschrift)“ und „Signatur mit Bürgerkarte“ gewählt werden. Soll das Signieren ermöglicht werden, so muss zuvor eine verfügbare Bürgerkartenumgebung festgelegt werden. Dies kann entweder programmatisch oder über den Schritt „Bürgerkarte auswählen“ erfolgt sein. Wesentlich ist, dass im Attribut Auswahl der Bürgerkartenumgebung (FSCFORMS@1.1001:ccard) des Antrags eine gültige Definition einer Bürgerkartenumgebung gesetzt wurde. Weiters muss eine Signaturschaltfläche in der Eigenschaft Schaltfläche „Signieren“ definiert worden sein. Sind alle diese Vorbedingungen erfüllt, so wird auf Betätigen der neuen Schaltfläche der für das Security-Layer-Protokoll nötige XMLRequest aus dem zuvor generierten XML-Dokument und dem zugehörigen XSL-Stylesheet gebildet und an den in der Bürgerkartendefinition eingestellten Security-Layer-URL gepostet. Der Schritt „Zusammenfassung anzeigen“ ermöglicht darüber hinaus den Download der HTML-Zusammenfassung, die durch die oben genannte Transformation gebildet werden kann, sofern ein Wert in der zugehörigen Eigenschaft Schaltfläche „Download“ angeführt wurde. 175 10.3 Anwendungsschritte ohne GUI Argument setzen Mit diesem Schritt kann eine Reihe von Fabasoft Expressions bewertet werden und diese Werte im Werteverzeichnis der Laufzeitumgebung unter definierten Bezeichnern abgelegt werden, um diese zu einem späteren Zeitpunkt wieder abrufen zu können. Ausdruck auswerten Mit dem Schritt „Ausdruck auswerten“ kann eine beliebige Fabasoft Components Expression zur Auswertung gebracht werden. Als lokaler Scope (this) steht das gerade in Bearbeitung befindliche Antragsobjekt zur Verfügung. Als globaler Scope ist hier das Scope-Werteverzeichnis der Fabasoft eGov-Forms-Laufzeitumgebung verfügbar. Die Verwendung von Fabasoft Components Expressions ist umfassend in [KlWi04] beschrieben. SMTP-Mail versenden Dieser Schritt wird benutzt, um eine automatische E-Mail zu generieren und via SMTP zu versenden. Zu diesem Zweck muss der E-Mail-Body in der Eigenschaft E-Mail-Inhalt als dynamischer Inhalt konfiguriert werden. Die Einstellung des Betreffs, des Absenders und des Empfängers der E-Mail ist in den Eigenschaften des Schritts einstellbar. Ebenso können eine Reihe von E-Mail-Beilagen über die Eigenschaft Ausdruck zur Ermittlung der Beilageninhalte definiert werden. In diesem Ausdruck wird eine Liste von Inhalten (COOSYSTEM@1.1:CONTENT) erwartet. 10. Funktionsbeschreibung 10.3 Anwendungsschritte ohne GUI 10.4 Anwendungsschritt für Ablaufkontrolle 10.4 Anwendungsschritt für Ablaufkontrolle Anwendung ausführen Dieser Schritt führt eine beliebige virtuelle Anwendung aus. Damit kann auf simple Art und Weise der Funktionsumfang von Fabasoft eGov-Forms beliebig erweitert werden. 177 11 179 11 ausblick Die Fabasoft Produktpalette ermöglicht die rasche und professionelle Umsetzung von Online-Formularen. Der Formulardesigner stellt als Bestandteil der Fabasoft eGov-Suite eine intuitive, grafisch orientierte Web-Oberfläche zur Entwicklung von Online-Formularen zur Verfügung. Benötigt eine Behörde zusätzlich zu den Möglichkeiten des Formulardesigners erweiterte Entwicklungsfunktionalität, so können Online-Formulare auch mit Hilfe des generischen Interface von Fabasoft eGov-Forms umgesetzt werden. Hierbei hat der Entwickler zusätzlich folgende Möglichkeit der Einbindung von Web-Services erweiterten Ablaufsteuerung erweiterten Gestaltungsmöglichkeiten In Verbindung mit Online-Formularen, die ein Bürger ausfüllen kann, steht auch der Abtransport der eingegebenen Daten an die elektronische Akten- und Vorgangsbearbeitung der Behörde zur Verfügung. Das Standardsoftwareprodukt Fabasoft eGov-Forms bietet, wie in Kapitel 6 dargestellt, diverse Schnittstellen zu diesem Zweck an. Dieses Buch hat sich grundsätzlich mit der Thematik von Online-Formularen und deren Umsetzung mittels der Fabasoft Softwareprodukte auseinandergesetzt. In diesem Zusammenhang sind jedoch Überlegungen im Hinblick auf eine organisatorische Umstrukturierung der öffentlichen Verwaltung anzustellen. Diese organisatorischen Themen sollten jedoch nicht Thema dieses Buches sein, sondern von Vertretern der öffentlichen Verwaltung analysiert werden. Fabasoft verfolgt laufend diese Überlegungen und definiert davon ausgehend Anforderungen an die eigene Softwareproduktpalette. 12 181 12 glossar Access Control List (ACL) ________________________________________________________144 Zugriffsliste, die festlegt, welcher Benutzer welche Zugriffsmöglichkeiten auf ein bestimmtes Objekt hat. Jedem Objekt in Fabasoft ist eine ACL zugewiesen. Authentifizierung ________________________________________________________________46 Die Authentifizierung (auch Authentifikation) bezeichnet den Vorgang, die Identität einer Person oder eines Programms an Hand eines bestimmten Merkmals, zum Beispiel mit dem Fingerabdruck oder einem beliebigen anderen Identitätsmerkmals, zu überprüfen [Wiki05]. Authentizität __________________________________________________________________169 Die Authentizität von Unterlagen ist dann gegeben, wenn bewiesen werden kann, dass diese Unterlagen unversehrt und unverändert das wiedergeben, was sie zu belegen beanspruchen. Authentizität von Unterlagen findet ihren Niederschlag in einer Summe von äußeren und inneren Merkmalen, dem Nachweis des Kontexts ihrer Entstehung und Wirkung sowie der Art und Weise ihrer Verwahrung. Ein Dokument ist authentisch, wenn gezeigt werden kann, das es noch genau dasselbe ist wie zu dem Zeitpunkt, als es an das Archiv übertragen wurde. Authentizität ist ein Teilaspekt der Revisionssicherheit. Backoffice ____________________________________________________________________13 Als das Backofficesystem wird das Aktenverwaltungsprogramm einer Behörde gesehen. An dieses System werden alle eingebrachten Daten geschickt. In weiterer Folge wird die komplette Aktenbearbeitung in einem Backofficesystem durchgeführt. Bürgerkarte ____________________________________________________________________46 Siehe Elektronische Identitätskarte Bürgerkarte light ________________________________________________________________45 Signatur bzw. Personifizierung über ein Mobiltelefon in Österreich. Rechtlich ist die Bürgerkarte light der Bürgerkarte gleichgestellt. Business to Government (B2G, B-to-G) ______________________________________________11 Abwicklung von Geschäften zwischen der Öffentlichen Verwaltung und Privatwirtschaft, die ausschließlich mit elektronischen Medien durchgeführt werden. Cascading Style Sheets (CSS) ______________________________________________________30 Enthalten Formatvorlagen, mit denen die einfache und allgemeine Formatierung einer Website möglich wird. Dadurch wird ein effektiveres Gestalten und Umgestalten von Dokumenten möglich. Citizen to Government, Customer to Government (C2G, C-to-G) ____________________________11 Abwicklung von Geschäften zwischen der Öffentlichen Verwaltung und Bürger, die ausschließlich mit elektronischen Medien durchgeführt werden. Corporate Identity ______________________________________________________________20 Beschreibt ein unternehmensweit einheitliches Erscheinungsbild einer Organisation nach außen. Demilitarisierte Zone (DMZ) ______________________________________________________182 Teil eines Netzwerks, der sich zwischen interner und externer Firewall (siehe Firewall) befindet. In dieser Zonen stehen die Server, die von außen erreichbar sein müssen (Webserver, Formularserver,…). Denial of Service (DoS) __________________________________________________________120 Als DoS-Angriff (Denial of Service attack, etwa: Dienstverweigerungsangriff) bezeichnet man einen Angriff auf einen Host (Server) mit dem Ziel, einen oder mehrere seiner Dienste arbeitsunfähig zu machen. In der Regel geschieht das durch Überlastung. Erfolgt der Angriff koordiniert von einer größeren Anzahl anderer Systeme aus, so spricht man von einem DDoS (Distributed Denial of Service). Normalerweise werden solche Angriffe nicht per Hand sondern mit Backdoor-Programmen oder Ähnlichem durchgeführt, welche sich von alleine auf anderen Rechnern im Netzwerk verbreiten, und dadurch dem Angreifer weitere Wirte zum Ausführen seiner Angriffe bringen. 183 Digitale Signatur ________________________________________________________________13 Die digitale Signatur ist eine elektronische "Unterschrift", die mit Hilfe von Verfahren der asymmetrischen Kryptographie erstellt wird. Die digitale Signatur ist der mit dem privaten Signaturschlüssel des Signators verschlüsselte Hash-Wert des zu signierenden Dokuments. Sie ist daher für verschiedene Dokumente immer anders, beim identischen Dokument (und demselben Verfahren zur Hash-Wertberechnung) immer gleich. Dispatcher (Anwendungssteuerung) ________________________________________________30 Wesentlicher Bestandteil für die Ausführung eines Onlineformulars. Es wird die optische Zusammensetzung des Onlineformulars bestimmt und kann durch die Verwendung in einem URL (siehe URL) aufgerufen werden. Drag&Drop ____________________________________________________________________65 Verschieben einer Datei ausschließlich mit der Maus. Durch einfaches Klicken und Ziehen mit der Maus können so Dokumente in an andere Orte verschoben werden. E-Government __________________________________________________________________11 Die Durchführung von behördlichen Aktivitäten mit Hilfe elektronischer Medien, wie zum Beispiel das Internet. Elektronische Identitätskarte ______________________________________________________46 Chipkarte ähnlich einer EC-Karte oder Kredit-Karte und speichert persönliche Daten einer Person. Mit Hilfe einer elektronischen Identitätskarte kann die Identität einer Person festgestellt werden, wodurch eine Digitale Signierung von elektronischen Daten erfolgen kann. Die Verwendung der Identitätskarte ist durch einen PIN, einem vierstelligem Zahlencode, geschützt. Extensible Markup Language (XML) ________________________________________________11 Eine Sprache, mit der die Struktur von Dokumenten beschrieben wird (eine sog. Metasprache). XML wurde von der W3C als Datenformat festgelegt, um die einfache Implementierung in bestehende Software und die einfache Kommunikation zwischen mehreren Softwareprodukten zu gewährleisten. Fabasoft Components Webservice __________________________________________________35 Die am Webserver eintreffenden Benutzeranfragen werden von der eingesetzten Webserver-Software (z.B. Apache HTTP Server 2.0 oder Microsoft Internet Information Service) an das Fabasoft Components (Thread-Pool des Web-Tiers der verteilten Anwendung; ISAPI-Erweiterung des Microsoft Internet Information Services) Webservice weitergereicht und unter Verwendung des Fabasoft Components Kernels verarbeitet. Firewall ______________________________________________________________________42 Software oder eine Hardware, die den Netzwerkverkehr zwischen zwei oder mehreren Netzwerken regelt und ggf. blockt. Government to Government (G2G, G-to-G) ____________________________________________11 Abwicklung von Geschäften zwischen Behörde zu Behörde mit Hilfe von elektronischen Medien. Graphical User Interface (GUI) ____________________________________________________36 Eine grafische Benutzeroberfläche, die ein Benutzer verwendet, um seine Arbeit mit einer Software durchführen zu können. Hashwert ______________________________________________________________________32 Prüfsumme über ein Dokument, die zur Kontrolle herangezogen wird, ob sich ein Dokument im Laufe der Zeit verändert hat. Hypertext Transfer Protocol (HTTP)__________________________________________________35 Wird von Webbrowsern verwendet um auf Webserver zuzugreifen. Internet ________________________________________________________________________11 Das Internet, auch World Wide Web bezeichnet, ist die Verbindung aller weltweiten Netze zu einem gesamten Netzwerk, in dem jeder mit jedem kommunizieren kann. Die Rückgrade (Backbones) des Internets sind diverse Knotenrechner, die miteinander verbunden sind. Diese Knotenrechner müssen immer Online sein, um eine schnelle Kommunikation gewährleisten zu können. 185 Intranet ________________________________________________________________________20 Ist das interne Netz eines Unternehmens. Es ist vom Internet durch mindestens eine Firewall getrennt. Konvertierung __________________________________________________________________43 Überführung einer Datei in ein anderes Dateiformat. Link __________________________________________________________________________17 Verweis innerhalb eines elektronischen Dokumentes oder einer HTML-Seite auf ein anderes Dokument oder eine andere HTML - Seite. Metadaten ____________________________________________________________________54 Daten, die Bedeutung, Beschaffenheit, Struktur und den Aufbau anderer Daten beschreiben. Metadaten sind strukturierte oder teilweise unstrukturierte Information, die zum Beispiel den Prozess der Entstehung und Wirkung (Nutzung) von Unterlagen, ihren Aufbau sowie ihre Verwaltung und Verwahrung nachvollziehbar machen. MOA-Module __________________________________________________________________13 Dienen der Schaffung von sicheren Online-Verfahren und setzen sich aus MOA-ID für die Personenauthentisierung, aus MOA-SP für Signaturprüfung und aus MOA-SS für die Serversignatur zusammen. Diese drei Module sind seit Juli 2003 fertiggestellt und können von Unternehmen kostenlos lizenziert werden. Objektklasse __________________________________________________________________87 Jedes Objekt ist eine Instanz einer Objektklasse. Objektklassen sind immer von genau einer Objektklasse abgeleitet und erben von dort alle Eigenschaften und Methoden. Objektklassen sind in einem Baum angeordnet, der genau eine Wurzel Objekt (COOSYSTEM@1.1:Object) hat. Pull-Verfahren __________________________________________________________________14 Spezielle Kommunikation zwischen zwei Rechnern, bei der der Zielrechner vom Quellrechner die benötigten Informationen anfordert. Der Quellrechner übermittelt diese Informationen an Zielrechner. Hier geht die Startinitiative vom Zielrechner aus. Portal ________________________________________________________________________52 Steht führ einen Internetauftritt, der sehr viel Informationen und weitere Online-Dienste zur Verfügung stellt und kann, zwecks der Übersichtlichkeit, in mehrer Portalseiten untergliedert werden. Private Key (Geheimer Schlüssel) __________________________________________________46 Ein Private-Key ist ein geheimer Schlüssel der zur Entschlüsselung von verschlüsseltem Text in Klartext verwendet wird. Der Schlüssel ist nur jenen Personen bekannt, die eine Nachricht entschlüsseln und lesen dürfen. Public Key (Öffentlicher Schlüssel) ________________________________________________46 Der öffentliche Schlüssel ist der Allgemeinheit bekannt und dient zur Verschlüsselung von Klartext in verschlüsselten Text. Der verschlüsselte Text kann nach der Verschlüsselung nur über einen Private-Key entschlüsselt werden. Push-Verfahren ________________________________________________________________14 Spezielle Kommunikation zwischen zwei Rechnern, bei der der Quellrechner dem Zielrechner die nötigen Informationen übermittelt. Der Zielrechner verarbeitet die erhaltenen Daten. Ressourcenassistent ____________________________________________________________162 Ein Assistent zur Unterstützung des Benutzers beim Einfügen von Ressourcen in den Editor. Security Layer __________________________________________________________________13 Eine vom CIO Office spezifizierte Schnittstelle, die eine Applikation verwenden muss, um auf die Funktionen der Bürgerkarte zuzugreifen. Unter diesen Funktionen sind auch die Erstellung einer elektronischen Signatur und das Auslesen der Daten der Bürgerkarte. Simple Object Access Protocol (SOAP) ______________________________________________11 Ein Standard für die plattformunabhängige Kommunikation zwischen verteilten Systemen, basierend auf den XML-Standards. SOAP dient zum Austausch von strukturierten Informationen in einer dezentralen Netzwerkumgebung. Um eine möglichst hohe Flexibilität zu erreichen wird für die Datenübergabe das Dateiformat XML verwendet. 187 Transaktion ____________________________________________________________________13 Eine Abfolge von mehreren Operationen, die entweder alle oder gar nicht durchgeführt werden müssen. Passiert in einer Operation ein Fehler, müssen alle zuvor durchgeführten Änderungen wieder rückgängig gemacht werden. Werden alle Operationen ohne Fehler durchgeführt, werden alle Änderungen übernommen. Uniform Ressource Locator (URL) __________________________________________________75 Eine Adresse zu einer Website oder zu einer Datei, welche durch einen Webserver zur Verfügung gestellt wird. Einheitliche (Internet-)Ressourcenadresse, der oder die, die häufigste Form einer URI, die zur Lokalisierung von Rechner und Speicherort einer Datei im Internet dient. [Broc03] Use-Case ______________________________________________________________________14 Ist die Beschreibung eines in Schritte untergliederten Anwendungsfalles eines Anwenders. WBT ________________________________________________________________________157 Das Fabasoft WBT (Web based Training) ist ein web-basiertes E-Learning -System. Web __________________________________________________________________________81 Der Begriff Web kommt vom Begriff World Wide Web, auch WWW abgekürzt und Bezeichnet die Technologie der Datendarstellung über Internet, Extranet oder Intranet. Web Accessible Initiaitive (WAI) __________________________________________________11 Eine Vereinigung des W3C, die es sich zum Ziel gemacht hat, das Internet auch für Personen mit besonderen Bedürfnissen erreichbar zu machen. Erklärtes Ziel des W3C ist es hierbei, das WWW möglichst vielen Menschen "barrierefrei" zugänglich zu machen. Webbrowser __________________________________________________________________41 Software für den Zugang zum Internet bzw. für das Einsehen von Internetseiten (Webseiten) What You See Is What You Get (WYSIWYG) __________________________________________63 Die Darstellung von Inhalten auf dem Bildschirm genauso wie sie schließlich im Ausgabemedium erscheinen. Workflow ______________________________________________________________________54 Ist ein Prozess (alternativ Geschäftsvorfall oder allgemein Vorgang), der aus einzelnen Aktivitäten aufgebaut ist, die sich auf Teile eines Geschäftsprozesses oder andere organisatorische Vorgänge beziehen. [Wiki05] World Wide Web (WWW) ________________________________________________________11 Siehe Internet World Wide Web Consortium (W3C) ________________________________________________28 Entwickelt Lösungen, um die Möglichkeiten des Internets voll ausschöpfen zu können. Diese Lösungen beinhaltet Spezifikationen, Richtlinien, Software und diverse Tools. Zeitstempel ____________________________________________________________________76 In den Erläuterungen zu § 7 SigG steht: "Ein Zeitstempel ist eine elektronisch signierte Bescheinigung eines Zertifizierungsdiensteanbieters, dass (ihm) bestimmte elektronische Daten zu einem bestimmten Zeitpunkt vorgelegen sind. […]." Man unterscheidet zwischen einem öffentlichen Zeitstempeldienst und dem internen Zeitstempel des Trust Centers. Zeitstempeldienst ______________________________________________________________76 Es handelt sich um eine amtlich anerkannte Bestätigung, dass ein Dokument zu einer bestimmten Zeit vorgelegen hat. Beispiel: Die Angebote bei einer Ausschreibung sind digital einzureichen. Der Anbieter sendet sein Angebot zu einem Trust Center. Das Trust Center hängt diesem Dokument einen Zeitstempel an und signiert das Angebot und den Zeitstempel digital. Anschließend wird das Dokument - signiert und mit einem Zeitstempel versehen - an den Anbieter zurückgesandt. 189 13 191 13 abbildungsverzeichnis Abbildung 1 Abbildung 2 Abbildung 3 Abbildung 4 Abbildung 5 Abbildung 6 Abbildung 7 Abbildung 8 Abbildung 9 Abbildung 10 Abbildung 11 Abbildung 12 Abbildung 13 Abbildung 14 Abbildung 15 Abbildung 16 Abbildung 17 Abbildung 18 Abbildung 19 Abbildung 20 Abbildung 21 Abbildung 22 Abbildung 23 Abbildung 24 Abbildung 25 Abbildung 26 Abbildung 27 Abbildung 28 Durchgängiges E-Government ______________________________________12 E-Government Gütesiegel __________________________________________12 Fertiges Beispielformular (Seite 1) ____________________________________15 Fertiges Beispielformular (Seite 2) ____________________________________17 Fertiges Beispielformular (Seite 3) ____________________________________19 Fertiges Beispielformular (Seite 4) ____________________________________20 Abtransport ins Backoffice – Grundsätzliches Zusammenspiel ________________20 Entwicklungs-, Test- und Produktiv-Umgebung __________________________22 Einleitung ____________________________________________________23 E-Government Styleguide __________________________________________26 Digitale Signatur erstellen __________________________________________33 Digitale Signatur verifizieren ________________________________________33 Ablauf bei eps e-payment standard nach [Jung04] ________________________37 Standards ____________________________________________________39 Fabasoft Referenzarchitektur [FAHJ04] ________________________________42 Architektur ____________________________________________________48 Struktur des Formulardesigners ______________________________________53 Antragsprojekt __________________________________________________56 Formularblockelement – Auswahl ____________________________________60 Formularblockelement – Werteliste __________________________________60 Plausibilitätsprüfung ______________________________________________62 Formularblock (Daten) erzeugen ______________________________________66 Formularblock-Formatierung bearbeiten ________________________________66 Formularblock (Daten (Kopie von Vorlage)) ______________________________68 Formularblock (Beilagen) __________________________________________69 Formularelement (Seitenkopf) erzeugen ________________________________73 Formularelement (Seitenkopf) im Formular ______________________________73 Formularseite erzeugen/bearbeiten __________________________________78 Abbildung 29 Abbildung 30 Abbildung 31 Abbildung 32 Abbildung 33 Abbildung 34 Abbildung 35 Abbildung 36 Abbildung 37 Abbildung 38 Abbildung 39 Abbildung 40 Abbildung 41 Abbildung 42 Abbildung 43 Abbildung 44 Abbildung 45 Abbildung 46 Abbildung 47 Abbildung 48 Abbildung 49 Abbildung 50 Abbildung 51 Abbildung 52 Antragsformular erstellen __________________________________________80 Review-Ansicht ________________________________________________82 Formulardesigner ________________________________________________83 Ansicht Layout ________________________________________________100 Ausführen einer Sequenz von Schritten________________________________109 generisches Interface ____________________________________________116 Ablauf Push-Verfahren __________________________________________121 Anfrageablauf ________________________________________________125 Digital signiertes XML-Dokument ____________________________________129 WSDL-Anfrage im Webbrowser ____________________________________131 Push-Verfahren ________________________________________________138 Ablauf Pull-Verfahren ____________________________________________139 Ablauf des Pull-Jobs ____________________________________________142 Pull-Verfahren __________________________________________________149 Technischer Ablauf XML-Antrag ____________________________________152 automatische Antragtellung________________________________________155 Vorteile von Fabasoft eGov-Suite/WBT ________________________________158 Beispiel-WBT – Hundeanmeldung __________________________________158 WSDL-Anfrage ________________________________________________161 Schnittstellen __________________________________________________162 Administrations-Konfiguration – MOA-ID ______________________________167 Identifikation mittels MOA-ID ______________________________________168 Step Engine Konfiguration – MOA-Signaturprüfung ______________________170 MOA ________________________________________________________171 193 14 195 14 literaturverzeichnis [Atru05] A-Trust: "a-sign premium". URL: http://www.atrust.at/info.asp?node=337&lang=GE&ch=1 [Stand: 19.02.2005]. [ASIT05] A-SIT Zentrum für sichere Informationstechnologie – Austria: "Die österreichische Bürgerkarte". URL: http://www.buergerkarte.at [Stand: 06.01.2005]. [BDCE05] BDC EDV-Consulting GmbH: "HotSign". URL: http://www.bdc.at [Stand: 19.02.2005]. [Bund05] Bundeskanzleramt: "Statistisches: Feedback und Reaktionen zu Help". URL: http://www.help.gv.at/Content.Node/73/Seite.731300.html [Stand: 02.01.2005]. [EGov04] Verordnung des Bundeskanzlers, mit der staatliche Tätigkeitsbereiche für Zwecke der Identifikation in E-Government-Kommunikationen abgegrenzt werden (E-GovernmentBereichsabgrenzungsverordnung – E-Gov-BerAbgrV), BGBl. II Nr. 289/2004. [FAHJ04] Fallmann, Helmut/Albl, Oliver/Hell, Robert/Jerschitz Christioph: Die Fabasoft Referenzarchitektur im Microsoft Windows-Umfeld. Linz: Fabasoft Press, 2004. [Geis04] Geisler, Joachim: eps e-payment standard – Technische Beschreibung Version 2.1.1. Wien: Studiengesellschaft für Zusammenarbeit im Zahlungsverkehr, 2004. [GrAr04] Grimm, Dominik/Arnold, Stefan: E-Government mit Fabasoft: Vom Antrag bis zur Zustelung. Linz: Fabasoft Press, 2004. [Hofm04] Hofmann, Andreas: Das Fabasoft Content-Management-System. Linz: Fabasoft Press, 2004. [ITSo05] IT Solution GmbH: "trustDesk standard". URL: http://www.itsolution.at [Stand: 19.02.2005]. [Jung04] Jung, Walter: Der eps e-payment standard für Online-Zahlungen im E-Government. Wien: Erste Bank, 2004. [Kast05] Kastner, Christian: Elektronische Zustellung mit Fabasoft. Linz: Fabasoft Press, 2005. [KlWi04] Klein, Gerfried/ Wimmer, Christian: Softwareentwicklung mit der Fabasoft VAPP-Technologie. Linz: Fabasoft Press, 2004. [Lein05] Leiningen-Westerburg, Alexander: "Österreichisches E-Government Gütesiegel". URL: http://www.guetesiegel.gv.at/bearer/#fabasoft [Stand: 02.01.2005]. [MiWi04a] Mittheisz, Johann/Wiesner, Harald: E-Government – Styleguide für E-Formulare – stg 1.3. Wien: Bund- und Länderarbeitsgruppe, 2004. [MiWi04b] Mittheisz, Johann/Wiesner, Harald: Standarddaten für E-Formulare – st-dat 1.2. Wien: Bund- und Länderarbeitsgruppe, 2004. [Mobi05] [RTRG05] [Schn05] [ScKM03] [ScMo03] [Stab05] [STUZ05] [W3Co05] [Wiki05] [WiMi04] [WSAw03] Mobilkom Austria: "A1 Signatur". URL: http://www.A1.net/signatur [Stand: 19.02.2005]. Rundfunk & Telekom Regulierungs-GmbH: Signaturverordnung URL: http://www.signatur.rtr.at/de/legal/directive.html [Stand: 02.03.2005]. Schneier Bruce: "Weblog", URL: http://www.schneier.com/blog/archives/2005/02/sha1_broken.html [Stand: 16.03.2005]. Schamberger, Rudolf/Karlinger, Gregor/Moser, Ludwig: Spezifikation MOA-ID 1.1. Wien: ARGE Spezifikation MOA, 2003. Schamberger, Rudolf/Moser, Ludwig: Spezifikation MOA SP-SS 1.1. Wien: ARGE Spe zifikation MOA, 2003. Stabsstelle IKT-Strategie des Bundes: "MOA: Servermodule für Signatur-Basisdienste". URL: http://www.cio.gv.at/onlineservices/basicmodules/moa/ [Stand: 09.02.2005] STUZZA, Bankenübergreifende Studiengesellschaft für Zusammenarbeit im Zahlungsverkehr: "eps e-payment standard". URL: http://www.stuzza.at/eps.shtml [Stand: 06.01.2005]. W3C, World Wide Web Consortium: "Web Accessiblilty Initiative". URL: http://www.w3.org/WAI [Stand: 12.02.2005]. Wikipedia: "Die freie Enzyklopädie". URL: http://www.wikipedia.org [Stand: 04.03.2005]. Wiesner, Harald/Mittheisz, Johann: E-Government – Gestaltung von Druckformularen – druckform 1.1. Wien: Bund- und Länderarbeitsgruppe, 2004. World Summit Award 2003: "WSA Best 03". URL: http://www.wsis-award.org [Stand: 24.02.2005]. 197 modernes e-government mit fabasoft egov-forms Modernes E-Government mit Fabasoft egov-Forms Thomas Bühringer, Peter Stürmer