24
1 Folyamatmenedzsment (workflow – WF) rendszer Rövid bevezető az Oracle Workflow Builder használatába (Munkafüzet) Gyurkó György 2008.

Folyamatmenedzsment (workflow – WF) rendszer Rövid

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Folyamatmenedzsment (workflow – WF) rendszer Rövid

1

Folyamatmenedzsment (workflow – WF) rendszer

Rövid bevezető az Oracle Workflow Builder használatába (Munkafüzet)

Gyurkó György

2008.

Page 2: Folyamatmenedzsment (workflow – WF) rendszer Rövid

2

1. Elméleti bevezető

A folyamatmenedzsment (workflow management) alkalmazás (ügymenetkezelésnek is fordítják) speciális célú csoportmunka-támogató rendszer, amely a tevékenységek folyamattá szervezésére és a folyamat vezérlésére helyezi a hangsúlyt.

Folyamatmenedzsment (workflow – WF) rendszer A folyamatmenedzsment rendszer munkafolyamatok (ügyviteli folyamatok) tervezését,

működési (ügyviteli) szabályok előírását, a folyamatok működés közbeni vezérlését, nyomon követését és kiértékelését támogató alkalmazás.

Azonban nem akármilyen folyamat alkalmas arra, hogy WF rendszerrel vezéreljük. Ez a megoldás tipikusan akkor ajánlott, ha azonos típusú folyamatok gyakran ismétlődnek. Ha ez a feltétel nem teljesül, akkor

egyrészt nem szerezhető elég tapasztalat az adott folyamattípus vezérlésének előre megtervezéséhez,

másrészt a nem ismétlődő folyamattípus nem éri meg a tervezési ráfordítást sem.

WF API és Interchange formátumok

munkafolyamat beillesztés

WF motor

Másik WF rendszer

WF motor

Folyamat-definiáló eszköz

Adminisztrátori és monitorozó

eszközök

WF kliensek

Más alkalmazások

1. ábra: Workflow referencia-modell

A Workflow Management Coalition (WFMC) szervezet1 által definiált referencia-modell a WF rendszerek felépítésének egy általános képét adja (lásd az 1. ábrán). A modell meghatározza a főbb komponenseket; a komponensek közötti, illetve kapcsolódó más rendszerek felé mutatott (az ábrán nyilakkal képviselt) interfészeket. 1 WFMC: Fejlesztők, konzultánsok, elemzők, alkalmazók által a folyamatmenedzsment rendszerek szabványának kidolgozására 1993-ban létrehozott szervezet, amelynek ma már több mint 300 szállító, illetve alkalmazó szervezet a tagja.

Page 3: Folyamatmenedzsment (workflow – WF) rendszer Rövid

3

Folyamat-definiáló eszköz: Ezt a komponenst a folyamattervező, elemző szakemberek használják (tehát nem a WF rendszerrel vezérelt konkrét munkafolyamat végrehajtói). A komponens segítségével folyamattípusok tervezhetők. A WF rendszer által vezérelt minden konkrét munkafolyamat valamelyik folyamattípus egy példánya. A tervezés során meghatározzák a végrehajtás menetét. Ez egy hálóval reprezentálható, amelynek csomópontjai a tevékenységeket (részfeladatokat) képviselik (lásd a 2. ábrát).

2. ábra: Egy folyamat-definiáló eszközben (a Workflow Builderben) megadott folyamatháló

3. ábra: A 2. ábra folyamathálójában adott ÉpHat Határozati szakasz részfolyamatot kibontó alháló

A folyamatterv több szintű lehet, azaz egy-egy részfeladat szükség esetén maga is kibontható egy alhálóval (lásd a 2. ábra folyamathálójában adott ÉpHat Határozati szakasz részfeladatot kibontó alhálót a 3. ábrán). A tervezés meghatározza mind a folyamat egészét jellemző, mind az egyes tevékenységeket jellemző adatokat (attribútumokat). A folyamat-attribútumok értékei azonosítják a folyamatot, illetve mutatják annak állapotát. A tevékenység-attribútumok némelyike a végrehajtó személynek szóló információt tartalmaz, másokat – például a folytatás irányát mutató attribútumokat – közvetlenül a WF motor

Page 4: Folyamatmenedzsment (workflow – WF) rendszer Rövid

4

értelmezi. A tervezés során meghatározzák az egyes tevékenységek erőforrásait, végrehajtóit – nem személy szerint, hanem szerepkör (munkakör) szintjén.

A munkafolyamat beillesztés valamilyen esemény hatására inicializál egy adott típusú folyamatpéldányt, és annak indítását kezdeményezi a WF motornál. A folyamatpéldány létrejöttét kiváltó (továbbiakban: indító) esemény lehet adatbázis-esemény, illetve egy felhasználó vagy egy másik alkalmazás közvetlen kérése. A folyamat típusa az alkalmazandó folyamat-definíciót azonosítja. Az inicializálás a folyamatpéldány kezdeti állapotának beállítását jelenti. Mind a folyamat típusa, mind a folyamatpéldány kezdeti állapota az indító esemény jellemzőinek függvénye.

A WF motor dolga a folyamatpéldány vezérlése, amit a típusszintű folyamat-definíció értelmezésével és a konkrét folyamatpéldány mindenkori állapotának figyelembe vételével tud megoldani. (Egy rendszeren belül a terhelés elosztása céljából több WF motor is működhet.) A vezérlés a következő műveleteket jelenti:

a folyamatpéldány, illetve az aktuális tevékenység attribútumainak olvasása, írása; az aktuális tevékenység végrehajtójának informálása; az aktuális tevékenység kimenetele, esetleg külső esemény és a folyamat-definíció

alapján a következő tevékenység(ek) és végrehajtó(k) kiválasztása, a végrehajtó(k) értesítése, szükség esetén más alkalmazói szoftver elindítása;

a folyamat teljes hosszában a történeti adatok rögzítése (mikor, ki, mit csinált); a befejezést követően a folyamatpéldány eltávolítása.

A WF kliens szerepe a felhasználó és a WF rendszer közötti intelligens kommunikáció lebonyolítása. A WF kliensről arra jogosult felhasználó új folyamatpéldány indítását kezdeményezheti. Amikor a WF motor egy folyamatpéldány következő feladatát egy végrehajtói szerepkörnek megcímezi, a végrehajtandó tevékenységről a WF kliensek útján az adott szerepkörbe tartozó minden munkatárs értesítést kap, és a tényleges végrehajtó az lesz, aki közülük a feladatot elvállalja. A WF kliens felületén jelennek meg azok az űrlapok, amelyeken a rendszer a feladat teljesítéséhez szükséges további adatokat közli a felhasználóval, illetve a felhasználó a válaszait, a tevékenységének eredményeit, a folytatáshoz szükséges adatokat berögzítheti.

Egyes folyamatok különösen szakmaspecifikus feladatot képező lépései olyan vezérlést és kommunikációt igényelhetnek, amely nem oldható meg csupán a WF attribútumainak, függvényeinek és űrlapjainak felhasználásával. Éppen ezért a folyamat-definiálás lehetőséget ad arra, hogy az ilyen folyamatlépéshez a tervező egy másik alkalmazás valamelyik funkcióját kapcsolja hozzá, továbbá bizonyos tevékenység-attribútumokat e funkció bemenő paramétereinek jelöljön ki. Amikor az adott típusú folyamat egyik példányának végrehajtása ilyen lépéshez érkezik, ott a WF motor egy erre való interfész közvetítésével a WF rendszeren kívüli alkalmazás specifikált funkcióját indítja el a specifikált paraméterekkel. Az említett interfésznek más szerepe is van: Mivel a külső segítség igénybe vételével a folyamat egy része a WF rendszer hatáskörén kívülre kerül, mindarról, ami az idegen alkalmazásban történtekből a folyamatpéldány folytatását befolyásolhatja, a WF rendszer ezen interfész útján értesülhet. (Vegyük észre, hogy itt az alkalmazás-integráció megnyilvánulásával találkozunk!)

Nagyobb szervezeteknél előfordulhat, hogy olyan sok folyamatpéldányt kell egyidejűleg vezérelni, hogy a terhelést célszerű több WF rendszer között megosztani. A különböző WF rendszerek közötti interfész akkor jut szerephez, ha egy folyamatpéldányt egy olyan másik folyamatpéldánnyal kell szinkronban végrehajtani, amely egy másik a WF rendszer (másik WF motor) vezérlése alatt áll.

Page 5: Folyamatmenedzsment (workflow – WF) rendszer Rövid

5

Az adminisztrátori és monitorozó eszközök egyik feladata, hogy az éppen futó folyamatpéldányok mindenkori állapotáról informálják akár az üzemeltetés-felügyeletet, akár az adott területért felelős menedzsert; sőt speciális esetben akár a folyamatban érintett ügyfelet is. Kihasználva azt a tényt, hogy a történeti adatok rögzítésével minden végrehajtott folyamat „nyomokat hagy” maga után, ugyanezen eszközök a folyamatok utólagos elemzését, a végrehajtók munkája minőségének és teljesítményének értékelését is szolgálják.

2. Egy folyamatdefiniáló eszköz az Oracle Workflow Builder

Az Oracle Workflow rendszer folyamatdefiniáló komponense az Workflow Builder. E szoftver felhasználói felületének központi eleme a Navigátor ablak (lásd a 4. ábrán). A Navigátor ablak hierarchikus szerkezetbe szervezve tartalmazza a különféle tervelemeket. A hierarchia tetején az ún. workflow-itemök (WF-item) állnak, amelyek egy-egy folyamattípus definícióját definiálják, ezért a WF-item fordítása a folyamattípus(definíció) lehetne. A 4. ábra szerinti Navigátor ablakban ilyen WF-itemök a KözBeszEljárás (a közbeszerzési eljárás folyamattípus definíciója) és az ÉpHat Eljárás (az építéshatósági eljárás folyamattípus definíciója).

4. ábra: Az Oracle Workflow Builder Navigátor ablaka

A 4. ábrán a KözBeszEljárás WF-item zárt (az összetevőit elrejtő), az ÉpHat Eljárás WF-item pedig kinyitott (az összetevőit mutató) állapotban látható. Az utóbbiból jól látszik az a hétféle összetevő, amiből minden folyamattípus-definíció felépül:

Attributes: globális attribútumok. Processes: Szószerint folyamatok, pontosabban folyamatsémák. – Ha egy WF-item

egy folyamattípus definícióját jelenti, akkor hogyan lehetséges, hogy az (egy folyamattípus definíciója) több processt (folyamatsémát tartalmaz)? Nos, az előbbiekben volt róla szó, hogy egy folyamattípus terve több szintű lehet: tehát lehet egy főfolyamat, aminek részei bizonyos alfolyamatok, de az utóbbiak is tovább bonthatók még alacsonyabb szintű folyamatokra (lásd a 2-3. ábrákat). Ezek mind külön-külön folyamatsémával adhatók meg.

Notifications (értesítések): Valójában folyamatlépések, azaz a folyamattípus elemi lépései, tevékenységei. Az értesítés név onnan van, hogy minden folyamatlépésről

Page 6: Folyamatmenedzsment (workflow – WF) rendszer Rövid

6

értesítést kapnak azok a felhasználók, akik az adott lépés végrehajtására jogosult szerepkörbe tartoznak.

Functions (funkciók): A WF-motor által végrehajtatandó funkciók, automatizmusok. E komponensek segítségével a workflow rendszer egyedi igények szerint programozható, egy-egy funkcióban leprogramozott automatizmus végrehajtása a folyamattípus egy vagy több lépéséhez kapcsolható hozzá.

Events (események): Egyes folyamatlépések végrehajtására nem azért kerül sor, mert az előző lépés befejeződött, és egyszerűen az adott lépés következik a sorrendben, hanem csak akkor, ha valamilyen speciális eseménybekövetkezett. Ilyen események definíciói adhatók meg ezekben a komponensekben.

Messages (üzenetek): A WF Builderben az egy-egy értesítés adatainak együttesét nevezik üzenetnek.

Look up types (felsorolástípusok): A felsorolástípus véges számú diszkrét értékből álló értékkészletet jelent, és egyes attribútumok adattípusának, értékkészletének specifikálására használható.

1. megjegyzés: Mivel a továbbiakban csak a tervezés mélységéig foglalkozunk a WF Builderrel, a funkciók fejlesztéséről – ami inkább programozási feladat – nem fog szó esni.

2. megjegyzés: Ez az anyag a tervezésre szorítkozva sem képez egy komplett WF Builder tutoriált, csupán egy, a WF-tervezést fő vonalaiban bemutató, nagyon vázlatos bevezető ismertető. Ha az olvasó alaposabb ismeretekre is vágyik, arra a célra a WF Builder angol nyelvű kézikönyvei állnak rendelkezésre.

3. Egy folyamattípus tervezése WF Builderben

Egy folyamattípus tervezése a következő lépésekből áll (a felsorolás sorrendje nem minden esetben jelent szigorú végrehajtási sorrendet):

A folyamattípus (WF-item) létrehozása Értesítések létrehozása Üzenetek létrehozása Globális attribútumok (köztük a felhasználói szerepek) létrehozása Felsorolás típusok létrehozása és lehetséges értékeik (Lookup codes) megadása Attribútumokhoz típusok (jelesen felsorolás típusok) rendelése Értesítésekhez üzenetek és kimeneti típusok (általában felsorolás típusok) kapcsolása A folyamat (az értesítések hálója) megrajzolása Értesítésekhez végrehajtók kapcsolása Üzenetekhez lokális attribútumok rendelése (a globális attribútumok közül), a

kimeneti attribútum meghatározása Speciális folyamat-attribútumok megadása

Page 7: Folyamatmenedzsment (workflow – WF) rendszer Rövid

7

3.1. Egy folyamattípus (WF-item) létrehozása

Kezdeményezés: File menüben a Quick Start Wizard menüparancs választása.

A megjelenő Quick Start Wizard ablak az 5. ábrán látható. Ennek a New Item Type blokkjában egy új folyamattípus (WF-item), a New Process blokkjában pedig a fő (indító) folyamatséma (process) adható meg.

5. ábra: Az Oracle Workflow Builder Quick Start Wizard ablaka

6. ábra: Egy folyamattípus és a fő folyamatséma belső és külső nevének megadása

Page 8: Folyamatmenedzsment (workflow – WF) rendszer Rövid

8

A WF Builderben minden komponensnek (így a WF-itemnek és a processnek is), van egy belső és egy külső neve. Ezekből a belső név (Internal Name) a komponens egyedi azonosítójaként funkcionál, ezért ezt a komponens létrehozása után már nem lehet módosítani. A külső név (Display Name) a felhasználói felületen (a Navigátor ablakban vagy a folyamatdiagramon) megjelenő nevet jelenti, ez utóbb bármikor megváltoztatható. A 6. ábra Quick Start Wizard ablak kitöltése utáni állapotát mutatja, ha ebben az OK gombra kattintunk, akkor létrejön a Példa nevű folyamattípus a Példa főfolyamat nevű folyamatsémával. (Megjegyzés: Lévén ez az anyag a WF-tervezést csak fő vonalaiban bemutató vázlatos ismertető, nem térünk ki a WF Builder minden speciális részletére, így például itt nem foglalkozunk a WF-item olyan – a Quick Start Wizard ablakban megjelenő – jellemzőivel, mint a Persistence Type és a Nuber of Days.)

7. ábra: Egy folyamattípus és a fő folyamatséma létrehozása utáni állapot

A 7. ábra a Példa folyamattípus létrehozása utáni állapotot mutatja a Navigátor ablakban (bekeretezett rész) és az a létrehozással egyidejűleg megjelenő folyamatdiagram-szerkesztő felületen. Az utóbbiban akár azonnal elkezdhető a Példa főfolyamat (a Start és az End csomópontokat összekötő tevékenységháló) szerkesztése. A jelen ismertetőben azonban ettől eltérő utat választunk, előbb a Navigátor ablakban létre fogjuk hozni azokat az értesítéseket, amelyekből a diagramon a folyamatháló összerakható. (Persze azon a módon is eljárhattunk volna, amit az eszköz a folyamatdiagram megjelenítésével sugallt, mert értesítések, alfolyamatok, sőt események és függvények létrehozása közvetlenül a diagramszerkesztő ablakban is kezdeményezhető.)

Page 9: Folyamatmenedzsment (workflow – WF) rendszer Rövid

9

3.2. Értesítések létrehozása és specifikálása Kezdeményezés: A Navigátor ablak Notifications csomópontjára jobb-egérgombbal

kattintás után (a legördülő menüből) a New Notification menüparancs választása. (Alternatív lehetőség: A folyamatdiagramot szerkesztő ablakban a New Notification gombra kattintás, bár az így megjelenő ablak némileg különbözik a Navigátor ablakból indítottól. Hasonló alternatív lehetőség más komponenseknél – processnél, message-nél – is létezik, de ezzel a továbbiakban nem foglalkozunk.)

8. ábra: Értesítés létrehozására és specifikálására szolgáló Navigátor Control Properties ablak

A 9. ábra kitöltés után mutatja az értesítést létrehozó / specifikáló ablakot. Történetesen csak a belső és a külső nevet és a leírást adtuk meg. A további mezőkre vonatkozó tudnivalók.

Function Name: Ezt nem a tervező, hanem inkább a fejlesztő (programozó) adja meg, és csak akkor, ha az értesítéssel reprezentált folyamatlépésben a WF-motornak valamilyen funkció lefuttatásával kell segíteni a felhasználót.

Function Type: Csak az előbbi mező kitöltése esetén kell a funkció típusát is kiválasztani (ez is fejlesztői feladat).

Result Type: Az értesítéssel reprezentált folyamatlépés kimeneti értéke típusának kiválasztására szolgáló mező. Többféle „gyári” típus mellett a tervező által definiált felsorolástípusok egyike is választható. Sőt, az utóbbi eset a gyakoribb.

Message: Az értesítéshez tartozó adatok együttesét reprezentáló üzenet kiválasztására szolgáló mező.

A 9. ábra azt az esetet mutatja, amikor a legutóbbi két mező azért marad üresen, mert a megfelelő felsorolástípus, illetve a megfelelő üzenet még nem létezik (ezek létrehozása az értesítés létrehozását nem előzte meg). Az értesítés ilyen hiányos specifikációval is létrehozható. Miután a tervező létrehozta a szükséges felsorolástípust (a 3.5. szakaszban leírtak szerint), valamint a szükséges üzenetet (a 3.3. szakaszban leírtak szerint). a specifikáció utóbb bármikor kiegészíthető (lásd a 3.7. szakaszban).

Page 10: Folyamatmenedzsment (workflow – WF) rendszer Rövid

10

9. ábra: Értesítés létrehozására és specifikálására szolgáló Navigátor Control Properties ablak

3.3. Üzenetek létrehozása Kezdeményezés: A Navigátor ablak Messages csomópontjára jobb-egérgombbal kattintás

után a New Message menüparancs választása.

10. ábra: Üzenet létrehozására és specifikálására szolgáló Navigátor Control Properties ablak

Page 11: Folyamatmenedzsment (workflow – WF) rendszer Rövid

11

Létrehozáskor megadandó lényegesebb adatok: Internal Name, Display Name. További adatok utóbb a Result fülön adhatók meg. Így történhet a kimeneti attribútum megadása, ha azt később hozzák létre, mint az üzenetet (lásd a 3.10. szakaszban).

(A tervezők az egy-egy értesítéshez tartozó üzenet felismerésének megkönnyítése érdekében azt a konvenciót alkalmazzák, hogy az üzenet belső neve

M_<értesítés belső neve> alakú, a külső neve pedig azonos az értesítés külső nevével azonos.)

11. ábra: Értesítések és üzenetek a Navigátor ablakban

Egymásnak megfelelő értesítések és üzenetek

Page 12: Folyamatmenedzsment (workflow – WF) rendszer Rövid

12

3.4. Globális attribútumok (köztük a felhasználói szerepek) létrehozása Kezdeményezés: A Navigátor ablak Attributes csomópontjára jobb-egérgombbal

kattintás után a New Attribute menüparancs választása.

12. ábra: Attributum létrehozására és specifikálására szolgáló Navigátor Control Properties ablak

A létrehozáskor megadandó lényegesebb elemek: Internal Name, Display Name, esetleg a Type. A legutóbbi jellemző később is pótolható, ha az egy olyan felsorolástípus, amelyet az attribútumnál később definiál a tervező. (Az Item Type-ot nem nem kell megadni, abba a szoftver automatikusan a WF-item külső nevét írja.)

A szerepkörök definiálása is attribútumok segítségével lehetséges. A szerepkör-érték tárolására szánt attribútumot Type = Role típus választásával kell létrehozni. Mivel a folyamattípus a legkülönfélébb környezetben (különböző szervezeteknél) futtatható, az ilyen attribútum nem a folyamattípus definiálásakor, hanem a folyamattípus egy új példányának – a futtatási környezetben való – létrehozásakor kap értéket, mégpedig az adott környezetben (az adott cégnél, részlegnél) létező felhasználói szerepkörök közül. Még olyan rugalmas megoldás is lehetséges, hogy futási időben az aktuális folyamatlépés állítja be a következő folyamatlépés végrehajtására jogosult szerepkör-értéket.

3.5. Felsorolástípusok létrehozása és lehetséges értékeik megadása Új felsorolástípus létrehozásának kezdeményezése: A Navigátor ablak Lookup Types

csomópontjára jobb-egérgombbal kattintás után a New menüparancs választása. A felsorolástípus létrehozásakor megadandó lényegesebb elemek: Internal Name, Display

Name (13. ábra) és a felsorolás típus lehetséges értékei (14. ábra).

Page 13: Folyamatmenedzsment (workflow – WF) rendszer Rövid

13

13. ábra: Felsorolástípus létrehozására szolgáló Navigátor Control Properties ablak

14. ábra: Felsorolástípus egy értékének megadására szolgáló Navigátor Control Properties ablak

Egy felsorolástípus egy értéke létrehozásának kezdeményezése: A Navigátor ablakban az adott felsorolástípusra jobb-egérgombbal kattintás után a New Lookup Code menüparancs választása.

(A tervezők a felsorolástípusok és azok értékeinek könnyebb felismerésének érdekében azt az konvenciót alkalmazzák, hogy a felsorolástípus belső nevét LT_ szekvenciával, a felsorolástípus értékének belső nevét pedig az LC_ szekvenciával kezdik.)

Page 14: Folyamatmenedzsment (workflow – WF) rendszer Rövid

14

15. ábra: Felsorolástípusok és értékeik a Navigátors ablakban

3.6. Attribútumhoz felsorolástípus rendelése Ha egy attribútum típusát képző felsorolástípus az attribútum létrehozásakor még nem

létezik, akkor ezen attribútum típusának megadását utólag kell pótolni. Ez a művelet a Navigátor ablakban az attribútumra dupla kattintással vagy jobb-egérgombbal kattintás után a Properties menüparancs választásával kezdeményezhető.

16. ábra: Egy attribútum jellemzői módosításának kezdeményezése a Navigátor ablakban

A Fellebezés érkezése nevű felsorolástípus és annak értékei.

Page 15: Folyamatmenedzsment (workflow – WF) rendszer Rövid

15

A 17. ábrán látható a Fellebbezés érkezése nevű attribútum típusának megadása az ugyanilyen nevű felsorolástípus hozzárendelésével. (Nem kötelező, hogy az attribútum neve és a megfelelő felsorolástípus neve azonos legyen.)

17. ábra: Egy attribútumhoz felsorolástípus rendelése

3.7. Értesítésekhez üzenetek és kimeneti típusok kapcsolása Ha egy értesítéshez tartozó üzenet valamint az értesítés kimeneti értékének típusát képző

felsorolástípus az értesítés létrehozásakor még nem létezik, akkor az értesítés ezen jellemzőinek megadását utólag kell pótolni. Ez a művelet a Navigátor ablakban az értesítésre dupla kattintással vagy jobb-egérgombbal kattintás után a Properties menüparancs választásával kezdeményezhető.

A 18. ábra a Számla iktatása nevű értesítés jellemzőinek kiegészítését mutatja.

Megjegyzés: Meglehetősen érthetetlen, hogy az Oracle WF Builder fejlesztői miért így találták ki az értesítések specifikációjának szerkezetét. azaz miért kell megadni a kimeneti érték típusát is és a kapcsolt üzenetet is. Ugyanis az üzenetnél amúgy is meg kell adni a kimeneti attribútumot (lásd a 3.10 szakaszban), tehát az értesítés kimeneti értékének típusa nem lehet más, mint az értesítéshez kapcsolt üzenet kimeneti attribútumának típusa, a szoftvernek egyszerűen ezt kellene automatikusan beállítani. Ehelyett megkérdezi a tervezőtől, és ha ő az üzenet kimeneti attribútumának típusától különböző típust ad meg, jelzi, hogy hibázott. – Egy felesleges „intelligenciateszt”.

Page 16: Folyamatmenedzsment (workflow – WF) rendszer Rövid

16

18. ábra: A 9. ábra szerint létrehozott Számla iktatása nevű értesítés jellemzőinek kiegészítése

3.8. A folyamatsémák (az értesítések hálójának) megrajzolása A WF-item létrehozásakor létrejön a folyamattípus fő folyamatsémája is üres (csak a Start

és End csomópontokat tartalmazó) szerkeszthető diagrammal. A diagram bezárása után bármikor újra megnyitható, ha a Navigátor ablakban a folyamatsémára (processre) dupla kattintással vagy jobb-egérgombbal kattintás után a Process Detail menüparancs választásával kezdeményezhető.

A folyamattípus alfolyamatokra bontható (akár több szinten is), amelyek saját folyamatsémával írhatók le, azaz a fő folyamatsémán felül, továbbiakat is létre lehet hozni, egy folyamattípus definícióján felül. Új folyamatsémát létre lehet hozni akár a Navigátor ablakban, akár a tartalmazó folyamatséma diagramjának szerkesztésekor a diagramszerkesztő ablakban. A Navigátor ablakban a Processes csomópontra jobb-egérgombbal kattintás után a New Process menüparancs választásával; a diagramszerkesztő ablakban a Process gombra kattintással.

Egy folyamatséma tevékenységhálójának csomópontjai – a Start és End terminátorokon felül – a következők lehetnek:

értesítés, folyamatséma (process) szimbólum, esemény és funkció

lehetnek.

Az értesítés egy olyan elemi folyamatlépést jelent, amit valamilyen szerepkört betöltő felhasználó hajt végre (esetleg valamilyen funkció támogatásával).

A folyamatséma (process) szimbólum egy külön diagramon megszerkesztett alfolyamatot képvisel.

Page 17: Folyamatmenedzsment (workflow – WF) rendszer Rövid

17

Az esemény a környezetből érkező olyan jel, amely jelentkezésekor (a főfolyamat állapotától függetlenül) elindít egy alfolyamatot; de lehet a folyamat adott pontján a környezet felé továbbított jel, azaz kimenő esemény is.

A funkció a folyamat adott pontján a rendszer által automatikusan végrehajtandó (programozott) művelet. (Ezzel a továbbiakban nem foglalkozunk.)

Bármelyik típusú csomópont kétféleképpen kerülhet a diagramszerkesztő ablakba. teljesen új elemként a diagramszerkesztő ablak megfelelő (értesítést vagy

folyamatsémát vagy eseményt …) létrehozó gombjára kattintással; ha a megfelelő értesítés, alfolyamat, esemény, … már létezik, akkor annak (a

szimbólumának) a Navigátor ablakból a diagramra ráhúzásával.

19. ábra: Egy példa – A közbeszerzési eljárás fő folyamatsémája

Egy csomópontot a rákövetkező csomóponttal összekötő nyilat így lehet berajzolni: Jobb egérgombot az első csomóponton lenyomva és így tartva kell húzni az egeret a második

Page 18: Folyamatmenedzsment (workflow – WF) rendszer Rövid

18

csomópontra. Az éppen berajzolt nyílhoz a program felajánlja a 3.7. szakasz szerint adott kimeneti felsorolástípus lehetséges értékeit, közülük kell egyiket választani.

Folyamatséma diagramjára a 2-3. ábrákon felül a 19. ábrán láthat példát.

3.9. Értesítésekhez végrehajtók kapcsolása A folyamatdiagramon egy értesítés ikonra duplán kattintva megjelenik a 20. ábra szerinti

ablak. Ennek Notification fülén az értesítés hasonló jellemzői adhatók meg, mint a 8-9. ábra szerinti ablak Activity fülén, azonban itt van egy Node fül is, aminek Performer blokkjában beállítható az értesítéssel reprezentált tevékenységet (folyamatlépést) végrehajtó szerepkör.

20. ábra: Az értesítéssel reprezentált folyamatlépést végrehajtó szerepkör beállítása

A Performer blokkban két mezőt kell beállítani. Type: Item Attribute Value: Ebben egy Role típusú attribútumot kell kiválasztani. 1. megjegyzés: A Label mezőben az értesítés belső nevét mutatja a program. 2. megjegyzés: A WF Builder felhasználói felülete nem látszik minden tekintetben

átgondoltnak. Például, ha egy értesítéshez az itt mutatott módon megadjuk a végrehajtót, akkor elvárható lenne, hogy az itt beállított Role típusú attribútumot vegye fel az értesítéshez kapcsol üzenet által reprezentált adatszerkezetbe. Mégsem teszi meg, hanem ezt a tervező felhasználótól várja el (lásd a 3.10. szakaszban), hátha elfelejti vagy eltéveszti a szerencsétlen. Pedig igazán nem lett volna nagyobb ráfordítás az említett automatizmus beprogramozása, mint a mulasztás vagy tévesztés miatti hibaüzenet megjelenítésének programozása.

Page 19: Folyamatmenedzsment (workflow – WF) rendszer Rövid

19

21. ábra: A folyamatábrán az értesítések a külső nevükkel megjelölve jelennek meg.

22. ábra: A folyamatábrán az értesítések a végrehajtó szerepkörrel megjelölve jelennek meg.

A folyamatdiagramot szerkesztő ablakban beállítható, hogy a diagramon az értesítés szimbólum alatt annak külső neve vagy a végrehajtó szerepkör neve jelenjen meg (21-22. ábra).

3.10. Üzenetekhez lokális attribútumok rendelése, a kimeneti attribútum meghatározása

Korábban megtanultuk, hogy egy üzenet egy meghatározott értesítéshez tartozó adatok (másképpen attribútumok) együttesét képviseli. Ezeket az attribútumokat a megfelelő értesítés lokális attribútumainak is nevezik szemben a 3.4. szakaszban tárgyalt globális attribútumokkal. Ez az elnevezés nem teljesen korrekt, mert az egy-egy üzenethez (értesítéshez) rendelt attribútumok egy része a globális attribútumok közül kerül ki. Ilyenek a

Külső név megjelenítésé-nek beállítása

Szerepkör megjelenítésé-nek beállítása

Page 20: Folyamatmenedzsment (workflow – WF) rendszer Rövid

20

szerepkört jelölő attribútumok vagy azok, amelyek a folyamat egésze állapotának jelzésére szolgálnak, és csak azért kell őket egy üzenethez is hozzárendelni, mert a megfelelő értesítés (folyamatlépés) is használja (olvassa vagy írja) őket. Amikor egy globális attribútumot akarunk felvenni egy üzenetek lokális attribútumai közé, az technikailag tehető meg, hogy a Navigátor ablakban (lásd a 16. ábrán és a 23. ábrán) a megfelelő globális attrbútumon a bal egérgombot lenyomva az attribútumot a megfelelő üzenet objektumra kell ráhúzni.

23. ábra: Az egyes üzenetekhez tartozó lokális attribútumok

Az üzenethez rendelt attribútumok közé fel kell venni a megfelelő értesítés végrehajtójaként (a 3.9. szakaszban) megjelölt szerepkör(attribútumo)t is.

Egy üzenethez felvehető olyan lokális attribútum is, amely nincs a globális attribútumok között. Ennek kezdeményezése: a megfelelő üzenetre jobb-egérgombbal kattintás után feltűnő menüből a New Attribute menüparancs választása. Ekkor a 24. ábra szerinti ablak jelenik meg; az ott látható példában a Határozathozatal nevű üzenethez hozhatunk létre egy új lokális attribútumot. – Az ilyen attribútumok csak egy folyamatlépés alatt élnek, nem a folyamat egészének valamilyen állapotát, hanem csak az adott folyamatlépés egy jellemzőjét mutathatják, illetve rajtuk keresztül az adott folyamatlépés ad át valamilyen adatértéket a környezetének (WF-motornak, külső alkalmazásnak), illetve vesz át valamilyen adatértéket a környezetétől.

Page 21: Folyamatmenedzsment (workflow – WF) rendszer Rövid

21

24. ábra: Az egyes üzenetekhez tartozó lokális attribútumok

25. ábra: Kimeneti attribútum beállítása

Minden (értesítéssel reprezentált) folyamatlépésnek van egy kimeneti attribútuma is. Ez általában egy felsorolástípusú attribútum, mert arra szolgál, hogy elágazás esetén a véges számú folytatási lehetőség közül az aktuálisan végrehajtandót azonosítsa (a WF-motor számára). Furcsa módon akkor is szükség van ilyen kimeneti attribútumra, ha nincs elágazás: a munkafüzet példáiban az ilyen kimeneti attribútum a Tovább nevet kapta.

Page 22: Folyamatmenedzsment (workflow – WF) rendszer Rövid

22

A kimeneti attribútum a globális attribútumok egyike, amelyet (különös módon) nem kell „behúzni” az üzenet attribútumai közé, csak az üzenet jellemzőit tartalmazó Navigator Control Properties ablak Result fülén kell megadni (lásd a 25. ábrán). Ez az ablak felhozható a Navigátor ablakban a megfelelő üzenetre duplakattintással vagy a jobb-egérgombbal kattintás után az előtűnő menüből a Properties elem választásával. – A 25. ábra példájában a Beadott anyagok regisztrálása, ellenőrzése nevű üzenethez kimeneti attribútumként a Teljesség nevű attribútumot vettük fel. A

26. ábra: Egy folyamat-definiáló eszközben (a Workflow Builderben) megadott folyamatháló

A kimeneti attribútum jelentőségének megértéséhez, tudni kell, hogy annak értéke és a folyamatdiagram alapján tud dönteni a WF-motor egy adott befejezett lépést követő lépésről. Például a Beadott anyagok regisztrálása, ellenőrzése nevű üzenet (és vele az ugyanilyen nevű értesítéssel reprezentált folyamatlépés) kimeneti attribútum a Teljesség nevű attribútum. Ennek típusa Teljesség EH nevű felsorolástípus, amelynek értékei: a Teljes és a Hiányos. A 26. ábrán látható folyamatdiagramból kiderül, hogy ha a Beadott anyagok regisztrálása, ellenőrzése lépés a Teljes kimeneti értékkel zárul, akkor a folyamat a Kell-e szakhatósági vélemény nevű lépéssel folytatódik; ha viszont a Hiányos kimeneti értékkel zárul, akkor az ÉpHat Hiánypótlás nevű alfolyamat végrehajtása következik.

Már csak az szorul magyarázatra, hogy a Beadott anyagok regisztrálása, ellenőrzése lépésben hogyan veszi fel a Teljesség nevű attribútum az egyik vagy a másik kimeneti értéket. A beadott anyagok teljességét természetesen az ügyintéző felhasználó ellenőrzi a saját két szemével, majd a döntését közli a rendszerrel. Erre úgy nyílik lehetősége, hogy az adott folyamatlépésben a felhasználó képernyőjén megjelenik egy ablak, amelyben a felhasználó kommunikálhat a rendszerrel. Ezt az ablakot vagy a WF-kliens modul jeleníti meg, vagy ha az adott lépésben a WF-motor átadja a vezérlést egy külső alkalmazásnak (például egy speciális építéshatósági szakalkalmazásnak), akkor annak az ablaka jelenik meg. Az előbbi esetben a WF-kliens eleve a felhasználó válasza alapján közvetlenül a Teljesség attribútum értékét állítja be. Az utóbbi esetben viszont a felhasználó döntése az építéshatósági szakalkalmazás és a WF-motor közötti interfészen keresztül kerül az adott folyamatpéldány Teljesség nevű attribútumába.

Page 23: Folyamatmenedzsment (workflow – WF) rendszer Rövid

23

27. ábra: A 26. ábra folyamathálójában adott ÉpHat Hiánypótlás részfolyamatot kibontó alháló

28. ábra: Az ÉpHat Hiánypótlás részfolyamatot kimeneti típusának beállítása

A 26. ábrán az is látszik, hogy nem csak egy értesítéssel képviselt elemi folyamatlépésnek lehet kimeneti értéke, hanem egy alfolyamatnak is (ÉpHat Hiánypótlás). Ilyenkor az alfolyamat kimeneti értékét annak utolsó elemi lépése állítja be. Ahogy az a 27. ábrán látható az ÉpHat Hiánypótlás alfolyamat kimeneti értékét a Hiánypótlás fogadása, ellenőrzése

Page 24: Folyamatmenedzsment (workflow – WF) rendszer Rövid

24

folyamatlépés állítja be. – A tervezéskor ilyenkor az alfolyamat jellemzői között is be kell állítani a kimeneti érték típusát a megfelelő felsorolástípus kiválasztásával. A 28. ábrán éppen az ÉpHat Hiánypótlás alfolyamat kimeneti jellemzőinek megadására szolgáló ablak látható, amelyben a kimeneti érték típusára (Result Type) a Teljesség EH felsorolástípust választottuk ki annak megfelelően, hogy ez azonos az alfolyamat utolsó elemi lépése kimeneti attribútumának típusával.

3.11. Speciális folyamat-attribútumok megadása

Csak a viszonylagos teljesség kedvéért említjük meg, hogy az üzenetekhez rendelt lokális attribútumokon felül léteznek az alfolyamatokhoz tartozó attribútumok is, de a tárgyalásuktól eltekintünk. Ilyen például az Executable attribútum (lásd a 29. ábrán).

29. ábra: A folyamatsémák Executable attribútuma