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



Hasonló dokumentumok
Absztrakt feltöltése az ITDK 2013 konferenciára

Chat felhasználói segédlet

Útmutató a MATARKA adatbázisból való adatátvételhez

Forgalom nyilvántartó program Kezelési útmutató

Számlázó program kezelési leírása

Szakrendelések nyitva tartásának nyilvántartása

A Vizsgálóhelyi nyilvántartó program Online Telepítıje

SAP Business One. Üzleti partnerek kezelése. Mosaic Business System Kft.; Support:

1. A NÉPESSÉGNYILVÁNTARTÓ PROGRAM TELEPÍTÉSI FELTÉTELE. A

Mintafeladat megoldása MS Office Project 2007 szoftverrel

Adatbáziskezelés alapjai. jegyzet

Programkezelıi leírás,

Internet Bank használati útmutató

Ellenıri jelentés kitöltési útmutató Játékvezetı ellenır és megyei adminisztrátorok számára

Felhasználói leírás: STAHL Ex-Tool v1.0 rev

Rendszer szekvencia diagram

Belépés a rendszerbe. Gyors menü

Az eszközpaletta. Felsı sor balról jobbra. Második sor balról jobbra 1/7

Adat mentés. A program segítség file-ok, mappák mentésében. Mentési csomagokat állíthatunk össze.

CAD-CAM-CAE Példatár

postafiók beállításai az e-szignó archívum szolgáltatáshoz

Tartalomjegyzék 2. RENDSZER FELÉPÍTÉSE... 3

Irányítástechnika Elıadás. PLC-k programozása

CIB Internet Bank asztali alkalmazás Hasznos tippek a telepítéshez és a használathoz Windows operációs rendszer esetén

Alkalmazásportfólió. Szoftvermenedzsment. menedzsment. Racionalizálás. Konszolidáció. Nyilvántartás. Elemzés

3. gyakorlat Saját adatok használata

FELHASZNÁLÓI LEÍRÁS a DIMSQL Integrált Számviteli Rendszer Mérleg moduljának használatához

OEP Online jogosultság és TAJ ellenırzés Felhasználói kézikönyv

Telenor Magyarország MS Office 365 telepítési útmutató

A d m i n i s z t r á c i ó s f e l a d a t o k a I n t e g r á l t K ö n y v t á r i R e n d s z e r b e n

Adatstruktúrák, algoritmusok, objektumok

1) Szállítói számla kontírozásának megkezdését megelőző lépések a Tárgyi eszköz modulban

DKÜ ZRT. A Portál rendszer felületének általános bemutatása. Felhasználói útmutató. Támogatott böngészők. Felületek felépítése. Információs kártyák

Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0

ETR - VPOS DEXTER 2010 ETR WEB - VPOS. Befizetés. Készítette: DEXTER Kft. Kiadva: szeptember 1. DEXTER Informatikai Kft.

Területi elemzések. Budapest, április

ContractTray program Leírás

POSZEIDON dokumentáció (1.2)

Jelek és rendszerek Gyakorlat_02. A gyakorlat célja megismerkedni a MATLAB Simulink mőködésével, filozófiájával.

Készletinformációs rendszer

Kati Fotó Fuji Labor internetes ügyfélprogram Verziószám: Felhasználói útmutató

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Android Commander Felhasználói kézikönyv

Geotechnika II. (NGB-SE005-2) Geo5 használat

1) Kontírozás megkezdését megelőző lépések a Készlet modulban. A kontírozást a Készlet a főkönyvnek egy menüpont futtatásával adja át:

WINDOWS XP - A GRAFIKUS FELÜLET KEZELÉSE

VARIO Face 2.0 Felhasználói kézikönyv

Vodafone Mobile Connect telepítése

Minták és ismertetők változat 7 alváltozat 5. Munkaerő-felvételi példa oktatóanyag az IBM Process Designer alkalmazáshoz

Internetes Elıjegyzés Elıjegyzési Központon keresztül

Verzió: 1.7 Dátum: Elektronikus archiválási útmutató

LABMASTER anyagvizsgáló program

SAP Business One. Alapfunkciók, alapbeállítások. Mosaic Business System Kft.; Support:

Raiffeisen Mobil Banking

SEGÉDLET. Kedvezményezettek részére Gyakran előforduló számlarögzítési problémák

Az elektronikus napló

6. Alkalom. Kép ClipArt WordArt Szimbólum Körlevél. K é p

DebitTray program Leírás

Közlemények kézi felvitele

A LOGSYS GUI. Fehér Béla Raikovich Tamás, Laczkó Péter BME MIT FPGA laboratórium

OEP Online jogosultság és TAJ ellenőrzés Felhasználói kézikönyv

HT2110 ID kártyás beléptetı rendszer

ClicXoft programtálca Leírás

Általános fiók beállítási útmutató

Oktatói adatok szolgáltatása a FIR felé

Duál Reklám weboldal Adminisztrátor kézikönyv

BIT-SOFT KFT. BITHEGYEZİ BITWIN ÜGYVITELI RENDSZER HÁZIPÉNZTÁR MODUL FUNKCIÓK. Verziószám: Bithegyezı Házipénztár modul január 26.

* Az eszköztáron látható menüpontok közül csak a felsoroltak esetén használható a Ctrl.

Felhasználói kézikönyv

LETÉTKEZELŐ NYILVÁNTARTÁSI RENDSZER

Útmutató a nyilvántartói rendszer használatához

1) A Bér jellegű kifizetési tételek kontírozásához szükséges előfeltételek

Modell alapú tesztelés mobil környezetben

WinSarc Irodai Vezérlőpult: - [Ügyfelek nyilvántartása]

A kontrolladat-szolgáltatás elkészítése

HATODIK FEJEZET / FÜGGİ MODELLEK / TANGRAM

E-Ingatlan tanúsítványkiadó kulcs felvétele

Kölcsönhatás diagramok

PDF DOKUMENTUMOK LÉTREHOZÁSA

Operációs rendszerek. Az X Window rendszer

Egzinet Partner Portál

A LEGGYAKORIBB HIBA : A GYŐJTİSZÁMLÁRA UTALÁS MÉG NEM JELENTI A KÖLTSÉGTÉRÍTÉS AUTOMATIKUS BEFIZETÉSÉT!!!

A szerzõrõl... xi Bevezetés... xiii

SPW-1002 BESZÉLİ ZSEBÓRA HASZNÁLATI UTASÍTÁS

Telepítési útmutató DoktorInfo B300 jelentéshez

TvNetTel Internet Kapcsolat Beállítása

LabVIEW példák és bemutatók KÉSZÍTETTE: DR. FÜVESI VIKTOR

Lakóház tervezés ADT 3.3-al. Segédlet

Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv

Hozzáférési szintek és Időzónák használata

Eseményvezérelt alkalmazások

A webáruház kezdőlapján háromféle diavetítés beállítására van lehetőség:

FELHASZNÁLÓI ÚTMUTATÓ

Hálózati kapcsolathoz Windowst használó ügyfeleknek

rendszerszemlélető, adatközpontú funkcionális

Bevezetés a QGIS program használatába Összeálította dr. Siki Zoltán

Események, rendezvények, versenyek szervezése

ServiceTray program Leírás

Java-s Nyomtatványkitöltő Program Súgó

Kezelési útmutató Nyomtatás

Átírás:

Ügyviteli folyamatmenedzsment (workflow WF) rendszer Rövid bevezetı az Oracle Workflow Builder használatába (Munkafüzet) Gyurkó György 2008. A munkafüzetben használt szoftver installáló anyaga letölthetı a http://www.oracle.com/technology/software/products/workflow/index.html lapról (164MB!) 1

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. Folyamat-definiáló eszköz Adminisztrátori és monitorozó eszközök WF API és Interchange formátumok munkafolyamat beillesztés WF motor Másik WF rendszer WF motor WF kliensek Más alkalmazások 1. ábra: Workflow referencia-modell A Workflow Management Coalition (WFMC) szervezet 1 á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. 2

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 folyamatattribú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 3

é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. 4

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 WFitem 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 5

é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 6

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 7

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ı.) 8

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). 9

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 10

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.) Egymásnak megfelelı értesítések és üzenetek 11. ábra: Értesítések és üzenetek a Navigátor ablakban 11

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). 12

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.) 13

A Fellebezés érkezése nevő felsorolástípus és annak értékei. 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 14

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. 15

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. 16

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 17

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. 18

Külsı név megjelenítésének beállítása 21. ábra: A folyamatábrán az értesítések a külsı nevükkel megjelölve jelennek meg. Szerepkör megjelenítésének beállítása 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 19

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. 20

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. 21

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. 22

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 23

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 24