Dr. Thomas Schuster, esentri AG

Schlüsselworte

BPM, Cloud Services, SaaS.

Einleitung

Vor kurzem hat Oracle sein Cloud-Angebot um den Oracle Process Cloud Service (PCS) erweitert.
Mit diesem Service steht eine umfangreiche Umgebung zur Verfügung, um Geschäftsprozesse zu
modellieren, zu verwalten und auszuführen. In diesem Vortrag wird die Oracle Process Cloud im
Detail vorgestellt und mit Live-Beispielen demonstriert. Ferner werden Möglichkeiten zur Integration
mit den vorhandenen Diensten aufgezeigt.

Oracle Process Cloud Service

Die Nachfrage nach neuen und einfach zu bedienenden Ansätzen im Bereich Prozessautomatisierung
ist in der letzten Zeit kontinuierlich gestiegen. Insbesondere sollen Business-Anwender in die Lage
versetzt werden, Prozesse einfach konfigurieren und modellieren zu können. Die vorgenommenen
Änderungen sollen dann nach Möglichkeit direkt auch sofort Live (in Produktion) gehen können, ohne
dass langwierige Implementierungsarbeit erforderlich wird. Letzteres verbessert die Time-to-Market
deutlich und ermöglicht es den Unternehmen, die eine leichtgewichtige Plattform zur
Prozessmodellierung und Prozessausführung nutzen, schnell auf Änderungen zu reagieren. Somit
können direkte Wettbewerbsvorteile generiert werden.
Der Oracle Process Cloud Service verspricht genau diesen Punkt zu adressieren. Darüber hinaus soll
eine verbesserte Kontrolle und Transparenz über die ausgeführten Geschäftsprozesse geschaffen
werden. Neben der reinen Geschäftsautomation mittels einer leichtgewichtigen und agilen
Infrastruktur (PCS), soll durch den Dienst auch die Möglichkeit geschaffen werden, bestehende
Dienste und Anwendungen leicht in die über PCS modellierten Geschäftsprozesse zu integrieren.

Process Cloud Service im Überblick

Abb. 1: Process Cloud Service im Überblick

Innerhalb der Oracle Process Cloud können Geschäftsprozesse webbasiert modelliert werden. Die
Grundidee besteht hierbei darin, dass die Geschäftsprozesse in BPMN [XX] modelliert werden, die
einzelnen Aufgaben können dabei mit Datenobjekten (Business Types) und entsprechenden Web-
Formularen präzisiert werden. Bestehende Dienste könne auf Basis von Web-Service-Beschreibungen
(WSDL) in die Prozessmodellierung integriert werden. Die prozessualen Entscheidungen können
wiederum mit Regeln und Datenobjekten unterlegt werden. Die Durchführung der Geschäftsprozesse
erfolgt dann wiederum entsprechend webbasiert durch die integrierten Systeme und die definierten
aufgabenverantwortlichen.
Nachfolgend wird grundsätzlich beschrieben, welche Möglichkeiten PCS bietet, um
Geschäftsprozesse leichtgewichtig und zu erstellen und auszurollen. Dabei werden auch die
Möglichkeiten zur Beschreibung und Integration von Datenobjekten aufgezeigt. Abschließend wird
gezeigt, wie PCS die Prozessausführung unterstützt. Im Vortrag werden diese Möglichkeiten live
anhand eines praktischen Beispiels demonstriert. Neben der Modellierung wird der Vortrag auch auf
die Prozessausführung und die Integration bestehender Dienste eingehen.

Modellierung mit dem Process Cloud Service

Um einen Geschäftsprozess modellieren und zur Ausfürhung vorbereiten zu können, startet der
Modellierer den sogenannten Business Process Composer (siehe Abbildung 2). Hier erhält man einen
Überblick über die vorhandenen Anwendungen (Applications). Die Hierarchie der zur Bearbeitung
verfügbaren Artefakte ist hierbei wie folgt:

  • Space (1..N)
    • Application (1..N)
      • Processes (1..N)
      • Web Forms (1..N)
      • Business Types (1..N)
      • Decisions (1..N)
      • Web Services (1..N)

Business Process Composer

Abb. 2: Business Process Composer

Der Benutzer kann mehrere Arbeitsbereiche (Spaces) einrichten, um seine Anwendungen
(Applikationen) zu organisieren. Innerhalb einer Applikation werden dann alle zur Ausführung der
Geschäftsprozesse notwendigen Artefakte definiert und miteinander in Beziehung gesetzt. Für die
Ausführung zentral sind dabei die Geschäftsprozesse, in die die Dienste (Web Services) und
Formulare (Web Forms) integriert werden. Die Datenobjekte bilden einerseits die Grundlage für die
genutzten Formulare und andererseits für die prozessuale Entscheidungsfindung. Selbstverständlich
können sie daher auch genutzt werden, um Dienste aufzurufen oder Geschäftsregeln, die in die
Geschäftsprozesse integriert werden auszuführen.

Es ist wichtig zu wissen, dass die Modellierung kollaborativ erfolgen kann. Man kann also
Applikationen mit anderen Benutzern des PCS teilen und die Bearbeitung gemeinsam vornehmen.
Einschränkend wirkt hierauf allerdings, dass in der aktuellen Version ein pessimistischer
Sperrmechanismus implementiert ist. Es kann also nur ein Benutzer gleichzeitig Änderungen an einer
Applikation vornehmen. Andere Benutzer können eine Benachrichtigung anfordern, um zu erfahren,
sobald eine Bearbeitung beendet wurde und sie selbst Änderungen an einer Applikation vornehmen
können.

Geschäftsprozessmodellierung

Die Geschäftsprozessmodellierung erfolgt, wie bereits erwähnt auf Basis von BPMN. Um die
Modellierung zu vereinfachen, wird hierbei ein Sub-Set an Modellierungselementen genutzt. Sobald
man einen bestehenden Prozess ausgewählt hat oder begonnen hat ein Modell zu erstellen gelangt man
zu in Abbildung 3 dargestellten Arbeitsoberfläche.

Beispielprozess in BPMN

Abb. 3: Beispielprozess in BPMN

Einen Überblick über die verfügbaren Modellierungselemente bietet Abbildung 4. Abbildung 4 a zeigt
die Grundpalette der Modellierungselemente ein Klick auf ein Element zeigt dann darunter
angeordnete Spezialisierungen des Modellelements, exemplarisch in Abbildung 4 b (Gateways) und
Abbildung 4 c (Human Tasks) dargestellt. Zur Modellierung stehen dem Anwender die folgenden,
spezielleren Elementtypen bereit:

Tabelle

Bei den System-Aufgaben (System Task) ist zu beachten, dass die Typen Services, Send und Receive
eine ähnliche Semantik aufweisen der Aufruf kann dabei an eine Benutzerschnittstelle (nicht für
Services) einen anderen Geschäftsprozess oder einen Web-Service weitergeleitet werden (siehe
Abbildung 5, exemplarisch für den Send Task dargestellt). Send und Receive weißen grundsätzlich
eine BPEL sehr ähnliche Semantik auf. Ein Service-Aufruf kann dabei grundsätzlich durch eine
WSDL konfiguriert werden, das bedeutet, dass derzeit nur SOAP-Web-Services (siehe Abbildung 6)
integriert werden können. Die grundsätzlich möglichen Aufrufe und Aufrufarten stellt Tabelle 1 im
Überblick dar. Mit Notify kann man E-Mail-Benachrichtigungen einstellen und mit Decision eine
Geschäftsregel (die sich selbst wiederum unter Decisions modellieren lässt) in den Prozessablauf
integrieren. Der Typ Abstract kann als Platzhalter für eine spätere Implementierung genutzt werden.

Übersicht von Modellierungselementen im Business Process Composer

Abb. 4: Übersicht von Modellierungselementen im Business Process Composer

Implementierungsmöglichkeiten des Send Tasks

Abb. 5: Implementierungsmöglichkeiten des Send Tasks

Konfiguration eines Web-Service Aufrufs

Abb. 6: Konfiguration eines Web-Service Aufrufs

Bei den Human Tasks kann zwischen einer einfachen Benutzeraufgabe (Submit) und einem
Genehmigungsschritt ausgewählt werden (Approve). Beide Aufgabentypen werden dann an ein Web-
Formular geknüpft, im Genehmigungsfall können zuvor festgelegte Bearbeiter die Eingaben anderen
Mitarbeiter prüfen und genehmigen oder ablehnen. Weiterhin können unterschiedliche
Verantworlichkeiten (RACI) zu den einzelnen Aufgaben festgelegt werden.

Aufrufmöglichkeiten durch System Tasks

Tab. 1: Aufrufmöglichkeiten durch System Tasks

Entwurf von Datenobjekten
Die Typen der möglichen Datenobjekte, die später die Grundlage für Entscheidungen in den

modellierten Geschäftsprozessen bilden, können in PCS entweder direkt konstruiert oder alternativ aus
vorhandenen XML-Schema-Dateien automatisch in PCS geladen werden (siehe Abbildung 7). Die
Datentypen können anschließend in beiden Fällen komfortabel im Web-Editor bearbeitet werden,
hierbei können leicht neue Attribute hinzugefügt, gelöscht oder vorhandene Attribute geändert werden
(siehe Abbildung 8 und Abbildung 9).

Erstellung eines Datenobjekts

Abb. 7: Erstellung eines Datenobjekts

Erweitern von Datenobjekten

Abb. 8: Erweitern von Datenobjekten

Editieren der Attribute von Datenobjekten

Abb. 9: Editieren der Attribute von Datenobjekten

Entwurf von Web-Formularen

Die Einbindung der Anwender geschieht später durch die Nutzung typischer Web-Formulare, die
Formulare können dabei auf Basis vorhandener Datenobjekte entwickelt werden. PCS bietet einfache
Möglichkeiten die Formulare direkt auf Basis der vorhandenen Datenobjekte zu generieren. Der
Modellierer kann dabei auswählen, welche Inhalte der Datenobjekte in einem Formular angeboten
oder abgefragt werden sollen. Selbstverständlich können Formulare auch neu und frei gestaltet
werden.

Hinzufügen von Datenobjekten zu einem Formular

Abb. 10: Hinzufügen von Datenobjekten zu einem Formular

Der Modellierer kann neue Datenobjekte durch einen Klick auf das Plus-Symbol neben
BusinessObjects hinzufügen (siehe Abbildung 10). Anschließend kann er das zugehörige Formular
automatisch generieren, indem er das Plus-Symbol neben dem hinzugefügten Datenobjekt anklickt
(siehe Abbildung 11). Auch danach kann er noch einzelne Felder wieder entfernen, alternativ lassen
sich Felder auch auf Basis der Attribute der Datentypen einfügen, sodass jeweils einzelne Felder
erzeugt werden. Beim freien gestalten von Formularfeldern hat der Modellierer Zugriff auf die in
Abbildung 11 zu sehende Palette von Formularfeldern (linke Seite der Abbildung).

Automatisches generieren von Formularen

Abb. 11: Automatisches generieren von Formularen

Ausrollen, Testen und Ausführen von Geschäftsprozessen

Sind alle notwendigen Prozesse, Datenobjekte, Web-Formulare, Geschäftsregeln und aufzurufende
Dienste für eine Anwendung modelliert und integriert worden, so kann sie durch den Modellierer
direkt aktiviert werden. Hierbei kann zwischen Produktions- und Testumgebung unterschieden werden
(siehe Abbildung 12). Zum ausgerollte Anwendungen können schließlich auch wieder entfernt
werden, hierzu bietet PCS zwei Möglichkeiten, einerseits kann eine Anwendung durch Retire in einen
Zustand versetzt werden, indem es für die Bearbeiter noch möglich ist alle laufenden Prozesse regulär
zu beenden, danach die Anwendung sozusagen gesperrt (neue Prozesse können dann nicht mehr
initiiert werden). Alternativ kann die Anwendung auch einfach offline genommen werden (Shutdown
bzw. Un-Deploy, wenn sie auch von der Ausführungsumgebung entfernt werden soll). Zusätzlich lässt
sich abrufen, welche Web-Services für eine Anwendung verfügbar sind, das ist z.B. sinnvoll, wenn
eine externe Anwendung Daten liefern oder abrufen soll (z.B. wenn Send oder Receive Tasks im
Geschäftsprozess).

Sind die Anwendungen verfügbar können sich die Fachanwender in ihren Arbeitsbereich einloggen
(siehe Abbildung 13). Links (rot umrandet) sieht der Anwender Geschäftsprozesse die er starten kann
(hierzu können in PCS Rechte vergeben werden, die festlegen welche Anwender einen Prozess starten
dürfen, dies wurde zuvor nicht beschrieben, wird in der Live-Demonstration aber gezeigt werden).
Daneben erhält der Anwender direkt einen Überblick und kann z.B. aktive Prozessinstanzen
beobachten oder zu seinen eigenen, anstehenden Aufgaben wechseln (Work On Tasks). Abbildung 14
zeigt exemplarisch eine solche Aufgabenliste, in Abbildung 15 ist ein typisches Formular zur
Bearbeitung einer einzelnen Aufgabe dargestellt.

In der Live-Demonstration im Rahmen des Vortrags wird der kompletten Lebenszyklus von der
Modellierung, über das Ausrollen bis hin zur Bearbeitung von Geschäftsprozessen gezeigt werden.

Arbeitsbereich eines Fachanwenders

Abb. 13: Arbeitsbereich eines Fachanwenders

 

Aktiven Aufgaben eines Anwenders

Abb. 14: Aktiven Aufgaben eines Anwenders

Formularbasierte Aufgabenbearbeitung

Abb. 15: Formularbasierte Aufgabenbearbeitung

Fazit

Der Oracle Process Cloud Service bietet eine gute Möglichkeit Geschäftsprozesse schnell und webbasiert
zu modellieren und zur Ausführung zu bringen. Klar ist auch, dass hierbei bewusst
Einschränkungen vorgenommen wurden, wenn man das Produkt mit der Oracle BPM Suite vergleicht.
Die Definition der einzelnen Artefakte ist praktisch in allen Bereichen eingeschränkt, dies dient jedoch
auch dazu, dass selbst wenig erfahrene Modellierer in der Lage sein dürften einfache
Geschäftsprozesse schnell modellieren und ausrollen zu können. Somit sind die Einschränkungen (z.B.
ein eingeschränkter Teil von BPMN-Modellelementen oder nur gering ausgeprägte Möglichkeiten zur
Definition von Geschäftsregeln durchaus bewusst gewählt und in Kauf zu nehmen.

Das Produkt zielt darauf ab Anwender aus der Fachwelt in die Modellierung formularbasierter
Geschäftsprozesse einzubinden. Kritisch ist hierbei, dass an einigen Stellen doch die darunterliegende
BPM-Suite zu stark zu bemerken ist, beispielsweise ist die Definition der Entscheidungsregeln auf der
Grundlage der Datenobjekte doch stark technisch orientiert. Auch die Integration bestehender Dienste
auf Basis von WSDL ist sehr technisch orientiert. Ein zugegebener Maßen ebenfalls technisches
Feature ist die REST-API von PCS, diese kann jedoch sehr gut genutzt werden, um einzelne
Prozessschritte oder Informationen in mobile (oder generell andere) Anwendungen zu integrieren und
somit dazu genutzt werden die Bearbeitung der Geschäftsprozesse weiter zu verbessern.