Online-Bewerbungssystem für das Bundeskanzler-Stipendiat der Alexander von Humboldt-Stiftung Martin Friemel / Martin Kubitza Enterprise Web AG Duisburg Schlüsselworte Projektbericht, Online-Bewerbungssystem, Oracle Workflowserver, XML-Formularsystem, Redaktionssystem WebAG Automat, PL/SQL-Softwareentwicklung Zusammenfassung Der Vortrag beschreibt ein Internet-Software-Projekt der Alexander von Humboldt-Stiftung („AvH“). Bewerbungen um Stipendienprogramme - wie z.B. das Bundeskanzlerstipendiat sollen im Web abgewickelt werden. Bewerbern soll die Möglichkeit angeboten werden, ihre Daten online direkt an die AvH zu übermitteln. Neben der Beschreibung der gewählten Hardund Software-Architektur wird das fertige Bewerbungssystem präsentiert. Inhalt Einleitung o Alexander von Humboldt-Stiftung o Enterprise Web AG Projektbeschreibung o Ist-Zustand o Projekt-Ziel Architektur des Online-Bewerbungssystems o Online-Formularsystem o Workflowserver o Sachbearbeiteranwendung Schlusswort Einleitung Der Vortrag beschreibt ein Internet-Software-Projekt der Alexander von Humboldt-Stiftung („AvH“). Bewerbungen um Stipendienprogramme der Stiftung - wie z.B. das Bundeskanzlerstipendiat - sollen online im Web abgewickelt werden. Bewerber sollen umfangreiche Formularmappen am Browser-Bildschirm komfortabel ausfüllen können. Die abgeschlossenen Bewerbungs-Formularmappen sollen durch Sachbearbeiter der Stiftung mit Unterstützung durch einen Workflowserver bearbeitet werden. Das Projekt wird von der Enterprise Web AG aus Duisburg realisiert. Alexander von Humboldt-Stiftung Die Alexander von Humboldt-Stiftung mit Sitz in Bad Godesberg ist eine gemeinnützige Stiftung zur Förderung der internationalen Forschungskooperation, errichtet von der Bundesrepublik Deutschland. Sie ermöglicht hoch qualifizierten ausländischen Wissenschaftlerinnen und Wissenschaftlern langfristige Forschungsaufenthalte in Deutschland und unterstützt die sich daraus ergebenden wissenschaftlichen und kulturellen Verbindungen. Die Alexander von Humboldt-Stiftung fördert ein aktives Netzwerk von Wissenschaftlerinnen und Wissenschaftlern weltweit. Individuelle Betreuung während des Deutschlandaufenthalts sowie dauerhafter Kontakt zu den Gastwissenschaftlern sind seit 1953 Markenzeichen der Humboldt-Stiftung. Webadresse der Alexander von Humboldt-Stiftung: http://www.humboldt-foundation.de Enterprise Web AG Die Enterprise Web AG ist ein Softwarehersteller aus Duisburg. Ihr wichtigstes Produkt ist das Online-Redaktionssystem „WebAG Automat“. Dieses System verwaltet die Inhalte von Intranetund Internet-Webservern und bietet den Autoren eine komfortable Web-Oberfläche zur Bearbeitung der Webseiten. Auf Basis des WebAG Automat werden weitere Software-Produkte entwickelt, u.a. ein Shopsystem, in dem die Produktbeschreibungen mit dem WebAG Automat verwaltet und gepflegt werden, und ein Generator zur Erstellung von Produktkatalogen für OnlineBeschaffungssysteme nach dem BMECat-XML-Standard. Die Enterprise Web AG führt Web-Projekte im Kundenauftrag durch. Dabei werden die beschriebenen Softwareprodukte eingesetzt, um Entwicklungsaufwände durch den Einsatz von Standardsoftware zu minimieren. Webadresse der Enterprise Web AG: http://www.webag.com Projektbeschreibung Ist-Zustand Die Alexander von Humboldt-Stiftung erhält im Rahmen ihrer Stipendien- und Preisträgerprogramme pro Jahr bis zu 2000 Anträge auf Humboldt-Forschungsstipendien. Alle Stipendienbewerber stellen ihre Anträge durch programmspezifische Formulare, die bei der AvH erhältlich sind oder über die AvH-Website heruntergeladen werden können. Der übliche Umfang einer Bewerbungsmappe beträgt ca. 20 Formularseiten mit den Themen: Persönliche Daten Angaben zum Forschungsprojekt Derzeitiges Institut Privatanschrift Gastinstitut Weitere Bewerbungen um Forschungsstipendien Berufliche Pläne nach dem geplanten Forschungsaufenthalt Sprachkenntnisse Hochschulausbildung und -examina Beruflicher Werdegang Angaben zur Dissertation Bisherige Studien- und Forschungsaufenthalte im Ausland Daten zur Festsetzung der Höhe des Forschungsstipendiums Name und Adresse von weiteren Ansprechpartnern: o Doktorvater/Doktormutter o derzeitige Vorgesetzte o Wissenschaftler, die außerdem um ein Gutachten gebeten wurden o weitere Gastgeber Die Anträge auf Stipendien erreichen die AvH bislang ausschließlich in konventioneller Papierform. Die Bewerbungsdaten werden in der Auswahlabteilung von Sachbearbeitern/innen auf der Basis einer bestehenden Software manuell erfasst, gepflegt und verwaltet. Projekt-Ziel Mit Hilfe eines zukunftsweisenden Datenübertragungsverfahrens soll den Bewerbern die Möglichkeit angeboten werden, ihre Daten online direkt an die AvH zu übermitteln. Dieses Verfahren soll zum einen das moderne Erscheinungsbild der AvH stärken, zum anderen das Antragsverfahren beschleunigen und die EDV-Eingabe vereinfachen. Ein Online-Bewerbungsverfahren soll für eines der Stipendien-Programme erarbeitet und getestet werden. Langfristig sollen alle Stipendienprogramme der Stiftung eingebunden werden. Architektur des Online-Bewerbungssystems Das Online-Bewerbungssystem besteht grob aus den Komponenten Webserver, Formularsystem Workflowserver Sachbearbeiteranwendung Abb. 1 Architektur Online-Formularsystem Die Formular-Webanwendung wird gesteuert von dem Online-Redaktionssystem WebAG Automat (-> http://www.webag.com/automat). Diese Standardsoftware der Enterprise Web AG dient vorrangig als Contentmanagement-System für die Autoren des AvH-Webservers. Das System beinhaltet jedoch auch eine leistungsfähige Formular-Engine. Mit dieser Engine wird die Formularmappe mit ihren 20 Unterformularen definiert und betrieben. Der WebAG Automat mit der Formular-Engine läuft als reine PL/SQL-Anwendung in der Oracle8i-Datenbank auf dem Webserver. Hier werden auch die Formulareingaben der Bewerber bis zum Abschicken der Bewerbung als XML-Dokumente in Oracle-Tabellen zwischengespeichert. Webserver-Grundlage ist der Oracle/Apache Webserver. Als reine PL/SQL-Anwendung, die über das Apache-Modul modPLSQL in der Datenbank abläuft, benötigt sie lediglich eine Oracle8i/Apache Standardinstallation. Der Oracle Application Server (iAS) wird also nicht benötigt. Abb. 2 Apache modPLSQL Für den Bewerber werden die Formulare als Webseiten dargestellt. Der Benutzer benötigt einen beliebigen Webbrowser. Für die Navigation zwischen den einzelnen Unterformularen werden einige Javascript-Aufrufe verwendet. Ansonsten wird reines HTML ausgegeben. Es gibt keine Java-Komponenten in den Formularen. Die Bedienung ist einfach: Das Eingabefeld wird angeklickt. Es erscheint das entsprechende Eingabefeld. Folgende Feldtypen sind vorgesehen: Einzeilige Eingabefelder Mehrzeilige Eingabefelder („Textarea“) Ja/Nein-Felder („Checkbox“) Optionsfelder („Radiobutton“) Auswahlfelder („Combobox“), ggfs. mit zusätzlicher freier Eingabe Listen von Eingabefeldern der o.a. Typen In den nachfolgenden Screenshots werden die einzelnen Feldtypen veranschaulicht: Abb. 3 Formulareingabe - Adressfelder/Auswahllisten Abb. 4 Formulareingabe - Listenfelder Die Definition der Formulare wurde zuvor im Autorensystem durchgeführt. Dazu bietet die Browser-Anwendung komfortable Eingabemasken. Abb. 5 WebAG Automat Formulareditor Eine besondere Stärke des Formularsystems besteht in der engen Kopplung an die Daten in der Datenbank. Ein Auswahlfeld erhält seine Werteliste online beim Aufruf der Maske über ein SELECT-Statement.Validierungen und Initialbefüllungen der Formularfelder werden mit PL/SQL-Prozeduren abgewickelt. Abb. 6 WebAG Automat Formulareditor - Auswahllisten Das Abschicken eines Formulars kann mit einem PL/SQL-Aufruf verbunden werden („SUBMIT-Handler“). Dadurch ist es problemlos möglich, nach dem Absenden der fertig eingegebenen Bewerbung automatisch den Workflow zu aktivieren. Im nachfolgenden Screenshot sieht man, dass der Workflow über einen PL/SQL Remote-Procedure-Call (RPC) gestartet wird. Abb. 7 WebAG Automat Formulareditor - Submit-Handler Workflowserver Nachdem der Bewerber seine Formularmappe abgeschickt hat, startet die Formular-Engine den Workflow. Der Workflow wird mit dem Oracle Workflowserver realisiert. Er läuft auf einer eigenen Oracle 8i-Datenbank, ebenfalls unter Windows 2000. Die WebAG Formular-Engine startet den Workflow mit einem Remote-Procedure-Call in das PL/SQL-API des Workflowservers. Der Workflow selbst wurde mit dem Oracle Workflowdesigner entwickelt. Dieses Tool speichert die Definition der grafisch entworfenen Abläufe direkt in die Workflow-Datenbank. Abb. 8 Workflowdesigner Der Workflowserver verwaltet eine ToDo-Liste der Aufgaben für jeden Benutzer im AvHIntranet. Es handelt sich dabei um Oracle Datenbankbenutzer. Jeder Sachbearbeiter besitzt einen solchen Datenbank-Account. Im ersten Schritt ermittelt der Workflow, welcher Sachbearbeiter für den Bewerber zuständig ist. Diesem Sachbearbeiter sendet der Workflow eine sog. Notification. Dabei handelt es sich im wesentlichen um einen Eintrag in eine Tabelle des Workflowserver-Datenmodells, die nach Wunsch auch per E-Mail direkt an den Bearbeiter gesendet werden kann. Der Workflow wartet nun auf die Beantwortung der Notification durch den angesprochenen Sachbearbeiter. Die Antwort wird durch die Sachbearbeiteranwendung dem PL/SQL-API des Workflowservers übermittelt. Danach setzt der Workflowserver seine Arbeit mit dem nächsten Schritt der Ablaufdefinition fort. Die grafisch designten Workflowdefinitionen müssen an vielen Stellen mit Funktionalität ergänzt werden. Dazu hat Oracle dem Workflowserver eine API hinzugefügt, welches in den Sprachen PL/SQL und Java programmiert wird. Wir haben uns für PL/SQL entschieden. Der Grund war die Durchgängigkeit in Bezug auf die anderen Softwarekomponenten. Im nächsten Screenshot ist zu sehen, wie die Ermittlung des für die Bewerbung zuständigen Sachbearbeiters durch die Prozedur get_bearbeiter im PL/SQL-Package wf_lynen_base vorgenommen wird: Abb. 9 Workflowdesigner - PL/SQL-Funktionen Das PL/SQL-API des Oracle Workflowservers wird von zwei Seiten aus verwendet: 1. PL/SQL-Funktionen „unter“ dem Workflow Aufruf von PL/SQL-Funktionen aus dem Workflow heraus, wie im vorangegangenen Beispiel (Ermittlung des Sachbearbeiters) gezeigt. 2. PL/SQL-Funktionen „über“ dem Workflow Aufruf von Funktionen des Workflows (z.B. „Workflow starten“) über PL/SQLPackages, die das Workflowserver-API verwenden. In diesem Sourcecode-Beispiel wird aus einem PL/SQL-Package heraus der Workflow nach dem Absenden der Bewerbung gestartet. Die Zeilen sind Bestandteil des Packages, das in der o.a. Formulardefinition als SUBMIT-Handler-RPC aufgerufen wird: --------- Prozess erzeugen -------wf_engine.CreateProcess ( ItemType => db_itemtype, ItemKey => l_itemkey, Process => db_process ); wf_engine.SetItemUserKey ( ItemType => db_itemtype, ItemKey => l_itemkey, UserKey => l_userkey ); wf_engine.SetItemOwner ( itemtype => db_itemtype, itemkey => l_itemkey, owner => UPPER(owa_util.get_cgi_env('REMOTE_USER')) ); --------- Standardattribute setzen -------wf_engine.SetItemAttrNumber ( itemtype => db_itemtype, itemkey => l_itemkey, aname => 'ATTR_FORM_CONTAINER_ID', avalue => i_form_container_id ); --------- Prozess starten -------wf_engine.startprocess ( itemtype => db_itemtype, itemkey => l_itemkey ); Abb. 10 PL/SQL-Beispiel: Aufruf des Workflow-API’s Sachbearbeiteranwendung Jeder Sachbearbeiter kann seine ToDo-Liste über eine Web-Maske betrachten. Die internen Web-Anwendungen für die Sachbearbeiter werden über den Intranet-Webserver des Workflowservers betrieben. Die Autorisierung der Web-Anwendungen erfolgt über einen modPLSQL-DAD („Database Access Descriptor“), der sich mit dem eingegebenen Benutzernamen und dem Kennwort an die Workflowserver-Datenbank anmeldet („Database Authentication“). Mit der Sachbearbeiteranwendung werden die eingegangenen Bewerbungen gesichtet. Es muss anhand der Formulareingaben entschieden werden, ob die Bewerbung angenommen werden kann, oder ob Rücksprache mit dem Bewerber gehalten werden muss. Falls der Bewerber bereits in der Datenbank der AvH bekannt ist, werden diese Daten mit den Formulardaten abgeglichen. In den folgenden Screenshots der Sachbearbeiteranwendung wird die Übersicht über eine Bewerbung gezeigt. Die rot/gelb/grünen Balken veranschaulichen den Bearbeitungsstand der einzelnen Unterformulare der Bewerbung. Bis zur endgültigen Übernahme der Bewerbung müssen alle Balken grün sein! Abb. 11 Sachbearbeiteranwendung - Übersicht Abb. 12 Sachbearbeiteranwendung - Formular-Eingabedaten Schlußwort Das Online-Bewerbungssystem soll planmäßig im November 2002 in Betrieb gehen. Im nächsten Jahr ist die Weiterentwicklung in folgenden Schritten geplant: Schrittweiser Ausbau des Workflows und der angehängten Sachbearbeiteranwendung, um eine weitere Automatisierung des Bewerbungsvorgangs bis hin zum anschließenden Votierungs-Vorgang zu erreichen. Implementation weiterer Stipendienprogramme, damit nach einem erfolgreichen Start des Bewerbungssystems im Endausbau alle Programme der Stiftung online abgewickelt werden können. Im Verlaufe der Entwicklungsarbeit für das Projekt hat sich die Auswahl der beschriebenen Softwarekomponenten als sehr geeignet erwiesen. Die einzelnen Komponenten sind über klar definierte Schnittstellen miteinander verbunden, so dass eine leichte Weiterentwicklung gewährleistet ist. Die Kapselung der Aufrufe an das API des Workflowservers macht das Projekt unabhängig von etwaigen API-Schnittstellenänderungen in zukünftigen Oracle-Versionen. Durch die flexible XML-Architektur der Formulare war es leicht möglich, auf zwischenzeitliche Änderungen der Projekt-Anforderungen zu reagieren. In der Zukunft werden weitere Stipendienprogramme kostengünstig eingebunden, weil bestehende XML-Teilformulare (wie z.B. die Adresseingabe) als Standardmodule weiterverwendet werden können. Im Betrieb wird durch die Automatisierung der Abläufe Zeit und damit Kosten gespart. Gleichzeitig wird die Arbeit der Sachbearbeiter komfortabler durch definierte manuelle Haltepunkte, die der Workflowserver von der komfortablen Sachbearbeiter-Webanwendung abwickeln lässt. Die Attraktivität der AvH-Stipendienprogramme steigt durch das Web-Angebot, denn die Papier-Formularmappe entfällt. Der Bewerber kann das Ergebnis seiner Bewerbung schneller erfahren. Die zugrunde liegenden Softwarekomponenten dieses Bewerbungssystems lassen sich auf viele ähnlich gelagerte Aufgaben übertragen, in denen Formulare im Web ausgefüllt und mit weitgehend automatisierten Abläufen weiterverarbeitet werden sollen, z.B. öffentliche Antragssysteme, Online-Informationssysteme, Online-Steuererkärung. Kontaktadresse: Enterprise Web AG Martin Friemel Tonhallenstraße 19 D-47051 Duisburg Telefon: Fax: E-Mail Internet: +49(0)203-2952590 +49(0)203-2952599 [email protected] www.webag.com