01.11.2013 Aufrufe

Workflows with Ensemble - InterSystems

Workflows with Ensemble - InterSystems

Workflows with Ensemble - InterSystems

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Workflows</strong> <strong>with</strong><br />

<strong>Ensemble</strong><br />

Michael Braam<br />

Senior Sales Engineer


Agenda<br />

• Definition Business Prozess<br />

• Business Prozesse in <strong>Ensemble</strong><br />

• Definition Workflow<br />

• Workflow in <strong>Ensemble</strong><br />

2


Teil 1<br />

BUSINESS<br />

PROZESS


Definition Business Prozess<br />

• Ein Geschäftsprozess beschreibt eine Folge von Einzeltätigkeiten, die<br />

schrittweise ausgeführt werden, um ein geschäftliches oder betriebliches Ziel zu<br />

erreichen. Im Gegensatz zum Projekt wird ein Prozess öfter durchlaufen. Ein<br />

Geschäftsprozess kann Teil eines anderen Geschäftsprozesses sein oder andere<br />

Geschäftsprozesse enthalten bzw. diese anstoßen. Geschäftsprozesse gehen oft<br />

über Abteilungs- und Betriebsgrenzen hinweg und gehören zur<br />

Ablauforganisation eines Betriebs. (Quelle: Wikipedia)<br />

• Wird häufig durch ein Flussdiagramm dargestellt<br />

• Ein BP ist kein Caché/<strong>Ensemble</strong> Prozess<br />

4


Definition Business Prozess<br />

• Merkmale<br />

• Klar definiert<br />

• Eingabe und Ausgabe sind bekannt<br />

• Die Reihenfolge der einzelnen Prozessschritte ist<br />

festgelegt<br />

• Es gibt einen Empfänger für die Prozessausgabe<br />

• Prozesse sind üblicherweise in eine organisatorische<br />

Struktur eingebettet<br />

• Der Prozess umfasst in der Regel mehrere<br />

Funktionsbereiche<br />

5


Beispiel


Teil 2<br />

ENSEMBLE<br />

PROZESSE


Prozesse in <strong>Ensemble</strong><br />

• Themen:<br />

• Was ist ein Business Prozess in <strong>Ensemble</strong>?<br />

• Wie arbeiten die verschiedenen <strong>Ensemble</strong>komponenten<br />

miteinander?<br />

• Wie erfolgt der Austausch mit externen Komponenten?


Prozesse in <strong>Ensemble</strong><br />

• Ein Business<br />

Prozess in<br />

<strong>Ensemble</strong> ist eine<br />

Klasse<br />

• Die Klasse wird<br />

anhand des<br />

Prozess-Graphen<br />

vom Management<br />

Portal oder vom<br />

Studio generiert


Prozesse zur Laufzeit<br />

• Anstoß des Business Prozesses<br />

• In <strong>Ensemble</strong> wird ein Business Prozess Objekt erzeugt<br />

• Persistent<br />

• Es gibt einen Pool von Jobs (Actors) in denen die BPs<br />

ausgeführt werden


Prozessumgebung<br />

<strong>Ensemble</strong><br />

Client Applikationen<br />

Web<br />

SOAP<br />

Java<br />

Inbound Adapter<br />

Business<br />

Services<br />

Composite<br />

Applikationen<br />

Business<br />

Prozesse<br />

Business<br />

Operationen<br />

Outbound Adapter<br />

Externe Applikationen<br />

Unternehmensdatenbanken


Nachrichten<br />

• Die einzelnen <strong>Ensemble</strong> Komponenten kommunizieren über<br />

Nachrichten (Abstraktion)<br />

• Alle Nachrichten sind persistente Objekte<br />

• Nachrichtentypen:<br />

• Request oder Response<br />

• Persistente Klasse<br />

Header<br />

Allgemeine Properties<br />

Typ: Request or<br />

Response<br />

IsError: 0 or non-0<br />

Body<br />

Anwendungsspezifisch<br />

Properties<br />

ID: number<br />

Name: string


Request/Response<br />

request<br />

Business Prozess<br />

call<br />

callrequest<br />

callresponse<br />

response<br />

call<br />

callrequest<br />

callresponse


Aufrufe im Business Prozess<br />

• Timer for synchrone Aufrufe<br />

• Sync Aktivität für asynchrone Aufrufe<br />

Asynchrone<br />

Aufrufe<br />

Sync<br />

Aktivität


Nachrichtenfluss<br />

16


Business Prozess Kontext<br />

• Objekt für die<br />

Prozessinstanz<br />

• Persistent.<br />

• Kann an jeder Stelle<br />

im Prozessablauf<br />

benutzt werden


Business Rules<br />

• “Parameter” für den Business Prozess<br />

• Vom Business Prozess aufgerufen


Teil 3<br />

DEFERRED<br />

RESPONSES UND<br />

KONTROLLFLUSS


Deferred Response<br />

• Wie werden Situationen behandelt, in denen auf die<br />

Antwort länger gewartet werden muss?<br />

• Die Antwort kommt evtl. noch über einen anderen Kanal<br />

zurück. Z.B. E-Mail..<br />

• Blockieren der Business Operation für lange Zeit ist<br />

nicht effektiv<br />

• Der Business Prozess wird informiert, dass die Antwort<br />

erst später kommen wird<br />

• <strong>Ensemble</strong> hat hierzu das Konzept der “Deferred<br />

Response”


Deferred Response<br />

• Die Business Operation generiert ein Token, über das<br />

die Antwort später dem Request zugeordnet werden<br />

kann<br />

• Das Token wird dann entweder<br />

• Zum externen System geschickt und kommt später von<br />

diesem via BS zurück<br />

• Von der BO zusammen mit einem anderen Key (z.B.<br />

Auftragsnummer) gespeichert und dann später vom BS<br />

ermittelt<br />

• Transparent für den Aufrufer


Kontrollfluss<br />

• Komplexere Business<br />

Prozesse<br />

• Kontrollstrukturen<br />

(z.B.) IF...Then...Else<br />

oder While-, DO-<br />

WHILE- und<br />

FOREACH-Schleifen<br />

sind vorhanden<br />

• Fehlerbehandlung über<br />

TRY...CATCH


Teil 4<br />

WORKFLOW


Workflow<br />

• ein Arbeitsfluss (englisch: workflow) ist eine inhaltlich abgeschlossene, zeitlich und<br />

sachlogisch zusammenhängende Folge von Funktionen, die zur Bearbeitung eines<br />

betriebswirtschaftlich relevanten Objektes notwendig sind und deren<br />

Funktionsübergänge von einem Informationssystem gesteuert werden.<br />

(Quelle: Wikipedia)<br />

• Ein Workflow wird von Menschen durchgeführt, kann<br />

aber durch ein System koordiniert werden<br />

• <strong>Ensemble</strong> unterscheidet zwischen Business Prozessen<br />

(automatisierte Abläufe) und (Human-)Workflow.<br />

24


Workflow – Bestandteil von <strong>Ensemble</strong><br />

• Automatische Integration mit Business Prozessen<br />

• Implementierung durch Konfiguration, nicht durch Entwicklung<br />

• Integration der Workflow Engine in bestehende Anwendungen<br />

• API zur Integration in eigene Anwendungen<br />

• Flexibles Dispatchen der Aufgaben<br />

• Einfaches Management<br />

• Einfaches Anpassen


Workflow und Business Prozesse<br />

• Ein (automatisierter) Business Prozess kann eine<br />

Workflow Aktivität aufrufen, um z.B. eine Behandlung von<br />

Sondersituationen zu implementieren. Z.B.<br />

(Genehmigungen von Rabatten etc.)<br />

• Ein Business Prozess kann zusätzliche Informationen<br />

aus externen Systemen bereit stellen, die dann im<br />

(Human) Workflow weiterverarbeitet werden können<br />

26


Workflow und Business Prozesse<br />

• Der Business Prozess schickt einen Request an die<br />

Workflow Operation<br />

• Dieser Request wird an einen Benutzer oder an eine Rolle<br />

weitergeleitet<br />

• Ein Benutzer kann Mitglied mehrerer Rollen sein


Workflow und Business Prozesse<br />

• Über das Request Objekt wird gesteuert, welche Informationen dem<br />

Bearbeiter im Workflow Portal angezeigt werden.


Workflow und Business Prozesse<br />

• Die Eingaben des Bearbeiters werden über das Response<br />

Objekt an den Business Prozess zurück geschickt


Individualisierbarkeit<br />

• Das Workflow Portal ist anpassbar<br />

• Die Portalseiten werden aus den Metadaten dynamisch<br />

erzeugt. Eine Kombination mit Templateseiten ist möglich<br />

• In Templates können ZEN Controls verwendet werden<br />

• Über CSS können die Portalseiten auf den jeweiligen<br />

Firmenstandard angepasst werden<br />

• <strong>Ensemble</strong> Workflow Tasks können auch für andere<br />

Technologien publiziert werden, (z.B.) XML Dokumente,<br />

Web Services, .NET, Java, C++ Objekte oder SQL


Management der Workflow Aktivitäten<br />

• Tasks können ablaufen, neu zugewiesen oder abgebrochen<br />

werden. Dies kann manuell oder automatisch erfolgen<br />

• Das Portal stellt die Funktionalität zur Verfügung, um das<br />

Workflowmanagement durchzuführen


<strong>Workflows</strong> <strong>with</strong><br />

<strong>Ensemble</strong><br />

Michael Braam<br />

Senior Sales Engineer

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!