Dokumentenmanagement und Workflow sind zwei Bereiche des kollaborativen Arbeitens

Von der gemeinsamen Bearbeitung eines Dokuments zur Abwicklung eines komplexen Geschäftsprozesses - immer arbeiten Personen gemeinsam an einem Problem und bearbeiten Dokumente.

Oft ist beim Start eines Vorgangs noch nicht festgelegt, ob es sich bloß um eine kurze Dokumentenbearbeitung handelt oder um einen komplexen Workflow mit vielen Beteiligten. Nur ein System, dass den vollen Variantenreichtum der Bearbeitung flexibel unterstützt, ist deshalb zum breiten Einsatz in der Unterstützung der Teamarbeit geeignet.

Das Arbeiten mit Dokumenten im DMS von @enterprise erfolgt intuitiv – analog dem Windows Explorer. Mit dem Unterschied, dass im Hintergrund ein Dokumentenmanagement seine Arbeit verrichtet:

  • Speicherung der Daten auf einem zentralen Server
  • Verwaltung der Metadaten in einer SQL-Datenbank
  • flexible Rechtevergabe aufgrund von Rollen und der Organisationsstruktur (z.B. gib den Leitern meiner Organisationseinheit und der darüberliegenden das Recht die Dokumente anzusehen)
  • elektronische Unterschrift
  • Verknüpfung mit Workflow

Typisierte Dokumente

Dokumente können einem bestimmten Typ angehören, z.B. Urlaubsantrag oder Kochrezept. Mit jedem dieser Dokumenttypen ist eine Reihe von Metadaten verbunden. Die Metadaten werden in für jeden Dokumenttyp spezifischen SQL-Tabellen abgelegt. Dies gewährleistet eine effiziente Suche. Metadaten ermöglichen es Programmen mit den Dokumenten umzugehen, z.B. Auswahl eines Bearbeiters aufgrund der Metadaten des Dokuments. Zu jedem Dokumenttyp kann außerdem eine Vorlage (Prototyp) definiert werden.
Das Anlegen von Dokumenttypen erfolgt wie die Definition von Formulartypen in @enterprise: Es wird ein HTML-Formular erstellt und dieses in das System geladen.

DMS und Workflow

Die Integration von DMS und Workflow ermöglicht flexibles Arbeiten. Ein Dokument kann erzeugt werden, später zu einem Workflow hinzugefügt werden – oder es wird ein Workflow mit diesem Dokument gestartet. Die Worklows sind entweder vordefiniert oder sog. Ad Hoc Workflows: Der Benutzer definiert interaktiv die Schritte des Workflows und die Bearbeiter.
Selbst bei der Bearbeitung eines Dokuments durch nur einen Bearbeiter kann Workflowfunktionalität genutzt werden: Dokumente können in die Wiedervorlage gelegt werden, falls eine Bearbeitung zu einem späteren Zeitpunkt erwünscht ist. Oder die Bearbeitung kann terminisiert werden, der Benutzer sieht dann die Fristen in seiner Aufgabenliste.

Elektronische Unterschrift

Dokumente können unterschrieben werden, dabei wird automatisch eine nicht mehr veränderbare Version erzeugt. Andere Benutzer können die Echtheit der Unterschrift verifizieren. Die Implementierung basiert auf dem Standard X.509, unterschrieben wird mit dem privaten Schlüssel eines Benutzerzertifikats.

Flexible Speicherung

Die Speicherung der Dokumente ist von der Verwaltung der Metadaten durch eine Schnittstelle getrennt. Somit ist diese Komponente austauschbar und kann in ein anderes System ausgelagert werden. Zwei Standard-Speichermechanismen stehen zur Verfügung: Der File-Store speichert die Dokumente in einem Dateisystem ab, der DB-Store als BLOBS (binary large object) in der Datenbank.

Notizen

Zu Dokumenten können Notizen hinzugefügt werden, diese sind entweder privat – nur für den Ersteller sichtbar oder öffentlich – für jeden Bearbeiter des Dokuments einsehbar.

Berechtigungen

Dokumente unterliegen dem Berechtigungssystem von @enterprise. Rechte zur Bearbeitung und zum Lesen können flexibel vergeben werden. Die Rechte können an bestimmte Benutzer, Rollen, Abteilungen oder Arbeitsgruppen vergeben werden. Neben einzelnen Dokumenten können Rechte natürlich auch auf Ordner oder Ordnerbäume vergeben werden. Mit dem speziellen Freigaberecht kann man anderen Benutzern Zugriff auf einen Teil seiner Dokumente geben.

Application Programming Interface

Von wesentlicher Bedeutung ist die Erweiterbarkeit und Anpassbarkeit des Systems. Für das DMS wurden Schnittstellen entwickelt, die es z.B. ermöglichen, Ordner mit bestimmten Eigenschaften zu definieren. Hineinlegen von Dokumenten in den Ordner oder Herausnehmen triggern eigene Programme. Auf diese Art kann z.B. ein Archivsystem eingebunden werden. Legt man ein Dokument in einen „Archivordner“, wird dieses archiviert.
Die Implementierung des gesamten Systems erfolgte in Java, sodass die Schnittstellen plattformunabhängig zur Verfügung stehen.