Prohaska/Jungmair 1 CrossFlow von Martin Jungmair Gregor Prohaska

Preview:

Citation preview

Prohaska/Jungmair 1

C ross

F low

CrossFlow

von

Martin Jungmair

Gregor Prohaska

Prohaska/Jungmair 2

C ross

F low

Übersicht

• Einführung in CrossFlow

• Architektur von CrossFlow

• Co-operativ support services (CSS)

Prohaska/Jungmair 3

C ross

F low

Das CrossFlow-Projekt

• Sep 1998 - Sep 2000• ein von der EU im Rahmen des 4. ESPRIT Framework

gefördertes Projekt• Teilnehmende Organisationen:

– IBM– Allianz - Church and General– Royal Dutch Telecom– GMD Darmstadt– University of Twente– Sema Group

Prohaska/Jungmair 4

C ross

F low

Motivation• Aktuelle WfMS unterstützen den Geschäftsprozess nur

innerhalb einer Organisation• Organisationen sind immer öfter gezwungen kurze,

dynamische und flexible Verbindungen mit anderen Organisationen einzugehen

• Viele unterschiedliche WfMS auf dem Markt• Eine Interaktion über Organisationsgrenzen hinaus, stellt

nicht nur eine Interaktion zwischen Benutzer und Manager eines WfMS dar, sondern auch eine Geschäftsverbindung.

Prohaska/Jungmair 5

C ross

F low

Ziel• Verbinden zweier (verschiedener) Workflow-Managment-

Systeme zum Auslagern eines Service– Das Finden eines geeigneten Partners soll erleichtert werden– Das erstellen eines Vertrages zwischen den Beteiligten soll

automatisiert werden– Das Vorbereiten der Systeme auf die Interaktion soll erleichtert

werden

Prohaska/Jungmair 6

C ross

F low

Auslagern eines Service

Service Consumer

A

B

C

F

G

D

E

Service Provider

D+

E+

Prohaska/Jungmair 7

C ross

F low

Übersicht

• Einführung in CrossFlow

• Architektur von CrossFlow

• Co-operativ support services (CSS)

Prohaska/Jungmair 8

C ross

F low

Phasen des CrossFlow-Lebenszyklus

1.) Kunde sucht ein passendes Angebot und einen Vertrag erstellen

2.) Beide Organisationen konfigurieren ihre Systemresourcen, verbinden die notwendigen Komponenten mit dem WfMS und führen die nötigen organisationalen Änderungen durch.

3.) Der Service wird ausgelagert und vom Provider ausgeführt

4.) Der Service wird beendet und die Verbindung wird abgebrochen.

Prohaska/Jungmair 9

C ross

F low

Was ist ein Contract

• Ein Contract ist modulpassierte Form eines Vertrages– Concept Model– Process Model– Enactment Model– Usage Model– Natural language description

Prohaska/Jungmair 10

C ross

F lowMatchMaking EngineMatchMaking Engine

Workflow ModuleWorkflow Module BE SystemBE System

Workflow Mgt SystemWorkflow Mgt System

Workflow ModuleWorkflow ModuleBE SystemBE System

D1

D2

E1

E2

Advertise

Inso

urci

ng M

grIn

sour

cing

Mgr

Out

sour

cing

Mgr

Out

sour

cing

Mgr

Contract Establish Mgr

Decision-makingtools

Contract Establish Mgr

Consumer Provider

Prohaska/Jungmair 11

C ross

F lowMatchMaking EngineMatchMaking EngineMatchMaking EngineMatchMaking Engine

Out

sour

cing

Mgr

Out

sour

cing

Mgr

Workflow ModuleWorkflow Module BE SystemBE System

C D

Contract Establish Mgr

Provider

Search

Decision-making tools

Decision-making tools

Inso

urci

ng M

grIn

sour

cing

Mgr

Workflow ModuleWorkflow ModuleBE SystemBE System

D1

D2

E1

E2

Contract Establish Mgr

Consumer

Prohaska/Jungmair 12

C ross

F lowO

utso

urci

ng M

grO

utso

urci

ng M

gr

Provider

Workflow ModuleWorkflow Module BE SystemBE System

C D

Inso

urci

ng M

grIn

sour

cing

Mgr

Workflow ModuleWorkflow ModuleBE SystemBE System

D1

D2

E1

E2

Decision-making tools

Results

Contract Establish Mgr

Contract Establish Mgr

Decision-making tools

MatchMaking EngineMatchMaking Engine

Consumer

Prohaska/Jungmair 13

C ross

F low

Contract Establish MgrContract Establish Mgr

Workflow ModuleWorkflow Module BE SystemBE System

Workflow Mgt SystemWorkflow Mgt System

Contract Establish MgrContract Establish Mgr

Con

figu

rati

on M

grC

onfi

gura

tion

Mgr

Workflow ModuleWorkflow ModuleBE SystemBE System

Workflow Mgt SystemWorkflow Mgt System

Inso

urci

ng M

grIn

sour

cing

Mgr

Provider

CRAFT

IES

MatchMaking EngineMatchMaking EngineO

utso

urci

ng M

grO

utso

urci

ng M

gr

Consumer

Prohaska/Jungmair 14

C ross

F low

Con

figu

rati

on M

grC

onfi

gura

tion

Mgr

Contract Establish MgrContract Establish Mgr

Out

sour

cing

Mgr

Out

sour

cing

Mgr

Workflow ModuleWorkflow Module BE SystemBE System

Workflow Mgt SystemWorkflow Mgt System

Contract Establish MgrContract Establish Mgr

Workflow ModuleWorkflow ModuleBE SystemBE System

Workflow Mgt SystemWorkflow Mgt System

Inso

urci

ng M

grIn

sour

cing

Mgr

Consumer Provider

CRAFT

IES

MatchMaking EngineMatchMaking Engine

CRAFT

Prohaska/Jungmair 15

C ross

F low

Workflow ModuleWorkflow Module BE SystemBE System

Workflow Mgt SystemWorkflow Mgt System

Workflow ModuleWorkflow ModuleBE SystemBE System

Workflow Mgt SystemWorkflow Mgt System

Consumer Provider

CRAFT CRAFT

Contract Mgr

FCC

Loc QoS

Proxy Gate

Coordinator

Contract Mgr

Coordinator

QoS

FCC

LoC

ProxyGate

IESIES

Prohaska/Jungmair 16

C ross

F low

Kommunikationswege in CrossFlow

Enactment infrastructure

Service Provider X

D

E

F

G

A

B

C

Service Consumer

Enactment infrastructureProxy

GatewaysProxy

Gateways

Dn+

D1+

E1+

Em+

Activate

Results

Control

Monitoring

E1+

Prohaska/Jungmair 17

C ross

F low

Übersicht

• Einführung in CrossFlow

• Architektur von CrossFlow

• Co-operativ support services (CSS)

Prohaska/Jungmair 18

C ross

F low

Cooperative Support Service-

Quality of Service Monitoring (QoS)

Prohaska/Jungmair 19

C ross

F low

Übersicht

• QoS Ziele• Funktionen• Online Überwachung• Offline Überwachung• Workflow Prognose• QoS Architecture

Prohaska/Jungmair 20

C ross

F low

Ziele

• Aufgaben– Überwacht den Prozess und Qualität eines lokalen oder

ausgelagerten Workflow

• Verwendung– Stellt Wissen zur Verfügung

• Information über aktuellen Status

• Kurz- und Langzeitanalysen des Workflow

– Erhöht die Flexibilität• Schafft Prognosedaten

• Stellt flexible Entscheidungen zur Verfügung

– Ermöglicht frühes Einschreiten• Entdeckt Abweichungen vom erwarteten/garantierten Leistungen

Prohaska/Jungmair 21

C ross

F low

Funktionen

• Online Überwachung– Stellt Informationen über den aktuellen Status des lokalen oder

ausgelagerten Workflows zur Verfügung (für User, Anwendungen und andere CrossFlow Module)

– erzeugt log files zur Analyse und offline Überwachung

• Offline Überwachung– analysiert log files– Erzeugt ein Steuerungsmodell für den Prozess– generiert Prognosedaten

• Workflow Prognose– Prognostiziert das zukünftige Verhalten eines laufenden Workflow– Für flexible Entscheidungen und deadline-Prognosen

Prohaska/Jungmair 22

C ross

F low

Online Überwachung

• Statusinformation (workflow Fortschritt)– Ist die Schadensfeststellung durchgeführt worden?

• Parameterwerte (data flow items)– Wer macht die Schadensfeststellung?

• Erwartungswerte– Wann wird der Report gesendet?

• Zeitwerte– Wie lange dauert die Schadensfeststellung?

• Aktive Benachrichtigung– Verständigung wenn eine Verzögerung eintritt..

KontaktWerkstätte

Schaden feststellen

VerhandelnReport

schreiben

Prohaska/Jungmair 23

C ross

F low

Offline Überwachung

• Analysiert die logfiles und erzeugt einen Bericht– Markov Kette

– Ausgewählte Prozesse mit Status und Übergänge

• Erzeugt statistische Daten– Ausführzeiten / Verteiler, Statusänderungen,..

• Verwendung:– Prognosedaten für dynamische Workflowoptimierung (FCC)

• Normale Schadensfeststellungen dauern 2 Tage.

– Workflowanalyse für statische Workflowoptimierung• Kann der Workflow durch neue Aktionen verbessert werden?

– Validiere die Workflowausführung gegen den Vertrag• Der Vertrag sagt, dass die Reporterzeugung längstens 24 Stunden dauert,

in 80% der Fälle dauerte es 48 Stunden!

{} {A} {C}

{B,C}{B}{D}

1 0.75

1

1

0.25 0.33 0.330.33

1

3.25 2

31.671.5

Prohaska/Jungmair 24

C ross

F low

Workflow Prognose

• Prognostiziert das weitere Verhalten des Workflowprozesses– Prognosedaten von der Offlineüberwachung– Berechnet wahrscheinliche Ausführzeiten für die einzelnen

Aktivitäten und Sequenzen

• Stellt Informationen für flexible Entscheidungen zur Verfügung (FCC)– Schnelle Schadensfeststellung spart eine Tag, kostet aber

zusätzlich 1 €.

• Frühe Erkennung von möglich fehlenden deadlines– Der geforderte Prozess wird wahrscheinlich die deadline um 2

Tage überschreiten.

Prohaska/Jungmair 25

C ross

F low

QoS Architecture

FCC/QoS Backend System

Workflow Management System

Online Monitoring

OfflineAnalysisModule

Flexible Change Control

LogFiles

CrossFlow/CRAFT

QOSFX

Pred.Data

Prohaska/Jungmair 26

C ross

F low

Zusammenfassung

• Quality of Service Überwachung:– Stellt Wissen über den aktuellen Workflow dar

(Status, Daten und Timing)– Stellt Kostenvoranschläge für das zukünftige Verhalten des

Workflow- prozesses zur Verfügung.– Unterstützt aktive Verständigung bei gewissen Bedingungen– Aktiviert dynamische Workflowoptimierung– Erlaubt off-line Workflowanalyse– Anwendbar bei lokalen und betriebsübergreifende Workflows

Prohaska/Jungmair 27

C ross

F low

Cooperative Support ServiceFlexible Change Control (FCC)

Prohaska/Jungmair 28

C ross

F low

Problem

Flexibilität ist notwendig• Bedingungen zur Laufzeit können nicht vorhergesehen

werden• Abweichungen von Standardstrukturen sind oft notwendig

Kontrolle ist notwenig• Willkürliche Änderungen sind nicht erwünscht

Workflow muss Businessziele optimieren• Globale Entscheidungen sind notwendig

Prohaska/Jungmair 29

C ross

F low

FCC in Cross-Organizational Workflows

Welche Flexibilität ist vorhanden? • Veränderung eines ausgelagerten Teils wirkt sich auf die

Autonomität des Anbieters aus

Die Art der Flexibilität genau beschreiben und in welchem Teil des Workflow sie möglich ist

Wie wird die Flexibilität genutzt?• Entscheidungen treffen, wo Workflow aufgeführt wird• Flexibilität soll die Ausführung von Workflows verbessern

Zielbeschreibung des Prozesses

Prohaska/Jungmair 30

C ross

F low

Using Flexibility to Achieve Business Goals

Businessprozesse können mehrere, komplimentäre Ziele haben

StrukturzieleVorkommen v. Aktivitäten

Größenordnung v. Aktivitäten

Zeitl. ZieleDauerDeadlines

Quantitative ZieleKostenZuverlässigkeit

Welcher Aspekt ist wichtiger ?

Prohaska/Jungmair 31

C ross

F low

Approach• Erweitert ein Workflow mit flexiblen Elementen Erlaubt die

Spezifikation von Zielen

• Prioritätsvergabe bei den Ziele

Ausführgarantie:

• Ausgeglichenes Erreichen von mehreren Zielen unter variierenden Bedingungen

Verwirklichung:

• Opfert einige Eigenschaften um die wichtigen zu erreichen

• Geschickter Serviceabbau in der Workflowausführung

• Elastisch zur Umgebung

Prohaska/Jungmair 32

C ross

F low

What Can We Adapt? (1)

• Alternativ

S [A, B] E

S A E S B Eoder

bedeuted

S {A, B} Ebedeuted

S BA E SA

BEoder

Optional

Prohaska/Jungmair 33

C ross

F low

What Can We Adapt? (2)

• 0/1-Möglichkeit

S [A, Ø] E

S A E S Eoder

oder S Anv E

bedeuted

Prohaska/Jungmair 34

C ross

F low

Insurance Contract Process

48h

Werkstatt kontaktieren

Schaden feststellen

Verhandeln

Report erstellen

Prohaska/Jungmair 35

C ross

F low

Insurance Contract ProcessWerkstatt kontaktieren

Schaden feststellen[normal, schnell]

Verhandeln

Report erstellen

48h

Prohaska/Jungmair 36

C ross

F low

Considerations for Decision Making

Globale Optimierung ist notwendig:

• Wählt man eine teurere Variante um die Dauer zu

senken?

• Risiko, dass der verbleibende Teil des Workflow seine

maximale Ausführungszeit benötigt!

• An welchen flexiblen Elementen soll eine schnellere

Alternative genommen werden?

• Ist es notwendig, eine schnellere Alternative für die

flexible Elemente zu haben?

Prohaska/Jungmair 37

C ross

F low

Optimization Techniques

• Ziel liegt beim Zeit/Kosten Tausch

• Ständige Überwachung für optimale Alternativen

• Heuristische Erweiterung– Aufteilen des Workflow

– Rolle der flexiblen Elemente in der nahen Zukunft

– Kostenvoranschlag für das Verhalten in entfernter Zukunft

Prohaska/Jungmair 38

C ross

F low

Zusammenfassung

• Geeignete ausführbare Alternativen (flexible Elemente)– vs. eigenmächtige manuelle Änderungen

• Ziele bestimmen die Ausführung– vs. ad hoc Entscheidung– vs. vorübergehende Entscheidungen

• Globale statt lokale Entscheidung

• Entwicklung von Optimieralgorithmen für Zeit/Kosten Tausch

Prohaska/Jungmair 39

C ross

F low

Cooperative Support Service:

Level of Control (LoC)

C ross

F low

Prohaska/Jungmair 40

C ross

F low

Transaction Support

• Sichert zuverlässig und gleichmässige Prozessausführung

• Herkömmliches ACID Transaktionsmodell zu starrLang laufende Workflow Prozesse

• Wiederverwendung des bestehenden Transaktionsmodelles

Erweitertes “atomicity” und “isolation” benötigt

WIDE Transaktion Modell

Prohaska/Jungmair 41

C ross

F low

WIDE Transaction Model

• Aufteilungsbasiertes Transaktionsmodell- Teilt den Workflow Prozess in I-Schritte

- Erweitert die “Atomicity” and “Isolation” Eigenschaften- Beliebig-komplexe Prozessstrukturen

• “Safepoints” bieten Flexibilität durch Rollback- Teilweises/komplettes Rollback

Prohaska/Jungmair 42

C ross

F low

WIDE Transaction Model

• Dynamisiche Aufbau des aufgeteilten Prozesses

• intra-organisatorischen Workflow Prozess Support

Erweitern, um den spezifischen Ansprüchen an das Transaktions-modell für betriebsübergreifenden Workflow Prozesse gerecht zu werden.

Prohaska/Jungmair 43

C ross

F low

X-Transaction Model (1)

• X-Transaction:– X-Schritte

– I-Schritte– ergänzende Schritte– “Safepoints”

• Zusätzliche Flexibilität durch Rollback Bereiche– Intra-organisatorische (IO) Rollback Bereiche– Cross-organisatorische (XO) Rollback Bereiche

• Rollbacks können in jeder Kombination der drei Prozess-level stattfinden.

Prohaska/Jungmair 44

C ross

F low

X-Transaction Model (2)Rollback starts at:

Rollback Scope/Mode:

Intra-Organizational /Complete:

Intra-Organizational /Partial:

Cross-Organizational /Complete:

Cross-Organizational /Partial:

Consumer Provider

Entire consumer processis rolled back

Consumer process is rolledback until a safe-point isfound. Entire consumer processis rolled back in its entiretyOutsourced process is rolledback by the provider.Consumer process is partially rolled back. Outsourced process is rolled back by the provider

Entire provider processis rolled back.

Provider process is rolledback until a safe-point isfound.

Entire provider process isrolled back, then the consumerprocess is rolled back partially

Not possible

Entire consumer processis rolled back.Outsourced process is rolledback by the provider.

Prohaska/Jungmair 45

C ross

F low

Process Control Primitives

• Erlaubt dem Kunden die Steuerung über die Ausführung des ausgelagerten Prozesses:– Stop- Weiter- Abbruch- Ändern- Rollback

• Der Vertrag gibt an, welche PCPs erlaubt sind und wann diese ausgeführt werden dürfen.

Prohaska/Jungmair 46

C ross

F low

LoC Architecture

• Back-end System– Intra-Organizational Transaction Manager (ITM)– ITM specific isolation layer (ITMMQWFA)– Restart-Reset-Process (RRP)

• Level of Control Functional eXtensions (FX)– Cross-Organizational Transaction Manager (XTM)– Process Control Primitive (PCP)– Workflow State (WFS)