BPM mit Eclipse Stardust: Workflow für Smartphones

Mit Stardust verfügt Eclipse seit über zwei Jahren über eine vollständige BPM-Suite für Workflow, Dokumentenverarbeitung und Systemintegration. Mit Eclipse Kepler wurde Stardust erstmalig als Releasebestandteil ausgeliefert. Auch in Luna ist Stardust wieder dabei – mit neuen Features, unter anderem einer Benutzerschnittstelle für Mobilgeräte.

Stardust basiert auf der 14 Jahre alten industrieerprobten und standardkonformen BPM Suite CARNOT Process Engine. Die CARNOT Process Engine wurde von 2000 bis 2006 von der CARNOT AG in Frankfurt am Main entwickelt. Ende 2006 wurde die CARNOT AG vom amerikanischen Unternehmen SunGard [1], einem Anbieter von Softwaresystemen und Diensten im Finanzdienstleistungsbereich, übernommen. Bei SunGard wurde die CARNOT Process Engine zum Rückgrat von SunGards Infrastruktursoftwareplattform Infinity ausgebaut und in Infinity Process Platform umbenannt. Die Infinity Process Platform wird in über 50 Prozent aller SunGard-Produkte bei weltweit über 1 600 Kunden eingesetzt. Das Einsatzspektrum reicht von Dokumentenverarbeitungssystemen mit einigen 100 000 Dokumenten pro Tag über interaktive Workflows mit Tausenden parallelen Benutzern bis hin zu skalierbaren Niedriglatenzanwendungen mit Tausenden von Prozessen in der Sekunde.

Mit der Stardust-Initiative verfolgt SunGard das Ziel, die eigene Basistechnologie offenzulegen, weiter zu verbreiten und weiter zu entwickeln. SunGard bietet Wartungsverträge und Cloud-basierte Laufzeitumgebungen an, nicht aber zusätzliche kommerzielle Produktkomponenten: Stardust ist die vollständige und aktuelle Codebasis der Infinity Process Platform. Mit fast drei Millionen Zeilen Quellcode ist Stardust neben Bonitasoft [2] und jBPM [3] eine der drei größten Open-Source-BPM-Suiten. Stardust ist Teilprojekt des SOA-Platform-Top-Level-Projekts [4] bei Eclipse und wird dort gemeinsam mit Projekten wie Mangrove [5], BPMN2 Modeler [6] und Winery [7] gepflegt und integriert.

Stardust-Features in Luna

Für das Luna-Release hat Stardust – jenseits der beschrieben Funktionalität für Mobile Workflow – zahlreiche Erweiterungen vorgenommen:

  • Rules-Management: Es können komplexe Regeln und Entscheidungstabellen mit sehr einfacher Eingabe definiert werden, die dann zur Prozessausführung von einer Regelmaschine gegen Prozessdaten entwickelt werden können.
  • BPMN2-Erweiterungen: Es werden im Browser Modeler weitere BPMN2-Konstrukte (Start und Intermediate Events, nichtausschließliches ODER-Gateway, Multiinstanzaktivitäten zur parallelen Ausführung gegen Listen) unterstützt und zur Ausführungszeit entsprechend interpretiert.
  • Reporting: Komplexe Berichte können mit wenigen Klicks auch von nicht technisch versierten Benutzern definiert werden – zur einmaligen, unmittelbaren Ausführung oder auch zur geplanten, ggf. wiederholten Ausführung und Verteilung über das Filesystem/Dokumentenrepository oder via E-Mail.
  • Anbindung mehrerer, ggf. verschiedener Dokumentenrepositories: Schnittstelle zur Integration mit CMIS-fähigen Repositories (z. B Microsoft SharePoint) oder MongoDB; Möglichkeit, andere Repository-Instanzen, ggf. auf günstigeren Speichermedien für die Archivierung zu nutzen.

Das Stardust-Team arbeitet ebenso an einem moderneren Skinning für alle Portalkomponenten. Leider haben es die entsprechenden CSS-Ergänzungen nicht mehr in das Luna-Release geschafft. Zum Zeitpunkt der Drucklegung dieses Artikels werden diese jedoch im Stardust Git Repository zu finden sein.

Stardust-Mobile-Workflow

Stardust Mobile ist wesentlicher Bestandteil der Luna-Version von Stardust. Die Komponente unterstützt die Teilnahme an interaktivem Workflow von mobilen Endgeräten (iOS, Android, rudimentäre Tests auf Windows Mobile). Das mobile Portal wird hierbei parallel mit dem regulären Endbenutzerportal betrieben, sodass der Benutzer je nach Verfügbarkeit zwischen diesen Portalen wechseln kann. Hierbei wird der begrenzten Bildschirmgröße Rechnung getragen. Ebenso werden aber mobile Dienste (Kamera, Geolokation, Spracheingabe) genutzt.

Der vorliegende Artikel zeigt nur einen sehr begrenzten Teil der verfügbaren Funktionalität. Diese lässt sich aber auf einer existierenden Luna-Installation in fünf bis zehn Minuten aktivieren. Der Leser ist somit zum Experimentieren eingeladen.

Aufmacherbild: Magical Stardust. Abstract background von Shutterstock / Urheberrecht: angelinast

[ header = Seite 2: Architekturaspekte ]

Architekturaspekte

Die Stardust-Benutzerschnittstelle für Mobilgeräte verwendet jQuery Mobile und AngularJS als Basis eines clientseitigen Frameworks. jQuery Mobile liefert die Präsentations- und Routing-Mechanismen, während Angular Datenanbindung und Serverkommunikation steuert. Die Serveranbindung selbst erfolgt über eine REST-basierte Serviceschicht, die im Wesentlichen Standard-APIs von Stardust exponiert.

Die Mobiloberfläche arbeitet parallel neben dem Standardportal gegen jedwede mit Stardust modellierten und ausgeführten Prozesse, wie zum Beispiel einen Kfz-Schadensfallprozess, der für die Bildschirmabzüge in diesem Artikel verwendet wurde (Abb. 1).

Abb. 1: Kfz-Schadensfallprozessmodell

Die Oberfläche von Stardust Mobile ist vollständig internationalisiert. Ein deutsches Resource Bundle ist verfügbar. Resource Bundles in Japanisch, vereinfachtem Chinesisch und Vietnamesisch sind in Vorbereitung – teilweise erstellt mithilfe der Stardust-Community.

Quick Start

Eine Anleitung zur Installation von Stardust eingebettet in Eclipse und ein Tutorial zur Definition und Deployment eines einfachen Prozessmodells findet sich unter: https://wiki.eclipse.org/STP/Stardust/KnowledgeBase/GettingStarted/Insta…, https://wiki.eclipse.org/STP/Stardust/KnowledgeBase/Deployment/RADandTomcat

Auf einer laufenden Instanz der Stardust-Laufzeitumgebung kann das mobile Portal über http://<hostname:port/webapp>/plugins/mobile-workflow/public/deck.html ohne weitere Ergänzungen im Browser (Safari, Chrome) des Mobilgeräts aufgerufen werden.

Home-Screen-Eintrag

Zum wiederholten Aufruf bietet sich das Anlegen eines Links auf dem Home Screen des Mobilgeräts an. Das ist der bevorzugte Weg, die mobile Stardust-Benutzerschnittstelle aufzurufen, da der Browser hier im Vollbildmodus aufgerufen wird und sich wie eine native App anfühlt. Der iOS-Safari-Browser bietet das Anlegen eines solchen Links bei Aufruf des obigen Links direkt an (Abb. 2).

Abb. 2: Home-Screen-Integration

Detaillierte Anleitungen finden sich unter den folgenden Links:

[ header = Seite 3: Die Stardust-Mobile-Benutzerschnittstelle  ]

Die Stardust-Mobile-Benutzerschnittstelle

Einmal installiert, kann der obige Link über den Home Screen direkt aufgerufen werden (Abb. 3).

Abb. 3: Stardust-Shortcut

Nach erfolgreichem Log-in gegen die in Stardust definierten Systembenutzer zeigt die Benutzeroberfläche die Startseite (Abb. 4).

Abb. 4: Stardust-Mobile-Startseite

Hier können die folgenden Operationen ausgeführt werden:

  • Verwaltung existierender Arbeitslisten
  • Prozessstart
  • Suche nach Aktivitäten, Prozessen und Dokumenten
  • Dokumentenanzeige in der von Stardust verwalteten Verzeichnisstruktur

Anmerkung: Der Aufruf von in Stardust definierten Reports (siehe oben) wird kurzfristig ergänzt. So können dann z. B. Arbeitslisten und der Prozessstatus angezeigt oder Prozesssuchen initiiert werden.

[ header = Seite 4: Ausführung von Aktivitäten ]

Ausführung von Aktivitäten

Zur Ausführung von Arbeitsschritten bietet Stardust Mobile automatisch generierte Benutzeroberflächen (Manual Activities) und UI Mashups beliebiger HTML-basierter Oberflächenbausteine an.

Manuelle Aktivitäten

Für manuelle Aktivitäten in Stardust-Prozessen wird auf Basis der Prozessdatenstrukturen automatisch eine Benutzeroberfläche generiert, in der diese Daten angezeigt und modifiziert werden (Abb. 5).

Abb. 5: Manual-Activity-Oberfläche

UI Mashups

Stardust Mobile kann beliebige Fragmente von Benutzeroberflächen in die Prozessausführung einbetten. Diese können sogar auf anderen Servern und Domänen laufen. Stardust verwendet REST-Kommunikation zur Initialisierung mit Prozessdaten und zur Kommunikation von Änderungen an das eingebettete System.

Als Basis solcher Benutzeroberflächen erlaubt Stardust eine Generierung auf Basis von Prozessdaten während der Modellierung. Die generierten Oberflächen können dann in der Modellierungsumgebung modifiziert und getestet werden.

Abb. 6: Automatische Oberflächengenerierung

[ header = Seite 5: Gegenposition ]

Geoposition

UI-Mashups auf Stardust Mobile erlauben die Verwendung der nativen GPS-Funktionalität des Mobiltelefons zur Verwendung der aktuellen Position als Datum in der Prozessteuerung (z. B. zur Zuordnung von Arbeitsschritten zu Mitarbeitern in der Nähe).

Die Geoposition kann auch in Verbindung mit Lokationsdiensten wie http://openstreetmap.org verwendet werden, z. B. um direkt Adressinformationen zu ermitteln, wie in Listing 1 gezeigt. Das Ergebnis in der Benutzeroberfläche ist in Abbildung 7 zu sehen.

 "getAddress" : function(lon,lat){
                  var deferred = $q.defer();
                  $http({
                            url: "http://nominatim.openstreetmap.org/reverse?format=json" +
                               "&lat=" + lat + "&lon=" + lon + "&zoom=18&addressdetails=1",
                            method: "GET"
                        }).success(function(data, status, headers, config) {
                              deferred.resolve(data);
                        }).error(function(data, status, headers, config) {
                              deferred.reject(status);
                        });
                  
                        return deferred.promise;
                },

Abb. 7: Verwendung der Geoposition

Spracheingabe

Notizen oder Kommentare können (je nach Browserunterstützung) über die HTML-Speech-to-Text-Funktionalität [8] direkt über Sprachsteuerung eingegeben werden. Die gesprochene Notiz erscheint dann als Prozesskommentar (Abb. 8).

Abb. 8: Verwendung der Geoposition

Dokumentenverwaltung

Stardust Mobile unterstützt Dokumentanzeige, das Hoch- und Herunterladen von Dokumenten und schließlich die Suche – im Prozesskontext oder generell. Fotos, die mit der Kamera des Mobilgeräts aufgenommen wurden, können so direkt an Prozesse angebunden werden (z. B. Aufnahme eines Kfz-Schadens). Diese Funktionalität könnte später auf Sprachaufzeichnungen erweitert werden. Die Auswahl eines Dokuments öffnet die Dokumentenanzeige, in der Standardinformationen zum Dokument (Anlagedatum, Größe, Format) und für Bildformate der Dokumenteninhalt selbst angezeigt werden. Andere Formate können natürlich heruntergeladen und z. B. per Mail versendet oder in einem PDF-Viewer angezeigt werden.

Zukunft

Das Stardust-Team arbeitet bereits jetzt an neuer Funktionalität, die neben Fixes in den Service Releases Luna SR1 und SR2 – und natürlich zu jedem Zeitpunkt in den Git-Code-Repositories verfügbar ist. Geplant sind unter anderem

  • Erweiterungen im Monitoring-Bereich (Gantt Chart, Traffic Light View)
  • Business-Calendar-Funktionalität zur Pflege von Benutzerverfügbarkeit und Planung von Prozessausführung

Beiträge zur Entwicklung sind jederzeit willkommen. Gerade im Mobilbereich ist der Einstieg in die Codebasis leicht und die Erweiterungsmöglichkeiten sind immens.

Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: