AMNIS Egy folyamatvezérelt adaptív vállalatirányítási rendszer tervezése és fejlesztése ZÁRÓJELENTÉS Összeállította: Suhajda Zoltán, Takács Tamás, Fekete István, Giachetta Roberto, Máriás Zsigmond, Turó Zsolt 1. Az AMNIS projekt általános jellemzői és adatai Az AMNIS egy korábbi működő prototípussal rendelkező általános célú folyamatmodellező és folyamatkezelő rendszer, amelyet tipikusan az üzleti szférában, vállalati környezetben lehet sikeresen alkalmazni. Az AMNIS új alapokról történő továbbfejlesztése a KMOP-1.1.2-08/12008-0002 pályázat keretében, az ELTE-Soft Kft. és az Amnis Laboris Kft. közötti megbízásos szerződés szerint valósult meg 2010. június 1. és 2012 május 31. között. A projekt a pályázat 3. mobil kommunikációs és az 5. térinformatikai főirányához, azokon belül négy témakörhöz kapcsolódik. Ezek: az evolúció, az objektumelvű adattárolás, a térinformatika és a mobilkommunikáció.
Az AMNIS rendszer koncepciójának, és működési alapelveinek kidolgozója a képen látható Suhajda Zoltán, az Amnis Laboris Kft. ügyvezetője, a fejlesztés idején az ELTE IK doktori hallgatója és megbízott oktatója. Az AMNIS rendszer koncepciójának a kiindulási pontja az evolúciós elv, amelyet a tervezés és a fejlesztés során a vállalati működési folyamatainak matematikai és informatikai modellezésére, valamint a folyamatok változásainak követésére tettük alkalmassá. Az új fejlesztést az a körülmény tette alapvetően szükségessé, hogy a rendszer dokumentumkezelő funkciója hatékonysági okokból új objektumelvű adattárolási paradigmát kívánt. A jelenlegi fejlesztés keretében az AMNIS-t – a saját korábbi hagyományainak megfelelően – a mozgatható üzemanyag kutakat használó cégek vállalati folyamataira specializáltuk. Ebben az alkalmazásban mind a mobil kommunikáció, mind a térinformatika releváns része a rendszer működésének. Az említett négy pályázati pillér (evolúció, objektumelvű adattárolás, térinformatika, mobil kommunikáció) a teljes szoftver integrált egységében jelenik meg. A rendszer működésében az evolúciós elvet a könnyen szerkeszthető vállalati folyamatok és az azokban áramló dokumentumok jelenítik meg. Az alábbi ismertetésben kitérünk még a rendszer architektúrájára, és a fejlesztés szoftverkomponenseire is.
1
Az AMNIS projekt egyelőre nem került közvetlen kapcsolatba az ELTE IK-n folyó informatikus képzéssel, ám sok közös – az oktatásban később esetleg hasznosítható – elméleti és gyakorlati elemet tartalmaz az Információs rendszerek MSc szakirányon oktatott három tantárggyal, amelyek a vállalati rendszerekről szólnak. A doktori hallgatók által folytatott kutatásra azonban máris hatással volt a projekt. Az AMNIS rendszer fejlesztésében való részvétel alapozta meg Máriás Zsigmond (újbóli) jelentkezését a Doktori Iskolába "Korszerű vállalati információs rendszerek tervezési és megvalósítási elvei" című kutatási témában. A kutatás-fejlesztés egy pontján hasznos együttműködés alakult ki egy másik doktori projekttel, Giachetta Roberto AEGIS rendszerével. Mindkét rendszer egyik alapvető törekvése volt az, hogy az erős sokféleséget mutató nagytömegű adatra hatékony tárolási módot találjanak. Az összefogás eredménye egy közös referált publikáció [1], és a MongoDB dokumentumelvű adatbáziskezelő megalapozott kiválasztása volt. A projektben résztvevő Turó Zsolt, fejlesztési tapasztalatait elméleti oldalról kiegészítve, BSc szintű szakdolgozatot készített „Interaktív böngésző alapú vállalati folyamat modellező” címmel [5]. Az AMNIS rendszerről készített poszterrel [2] szerepeltünk az ELTE Innovációs Napján, majd a poszter javított változatát [3] állítottuk ki a KMOP Pályázati Zárórendezvényen, ahol az alkalomra kiadott pályázati zárókötetben is szerepel a rendszerünk ismertetése [4]. A megjelenések közé számíthatjuk a fejlesztés projekt-oldalát [5], amely verzió-követett módon dokumentálja tervezési, kódolási és tesztelési munkát egyaránt. Kidolgoztuk továbbá a rendszer integrált szakmai és kereskedelmi bemutatóját. Folyamatban van az AMNIS rendszert átfogóan bemutató tudományos cikk összeállítása is. Az AMNIS projektben a következő munkatársak vettek részt, hosszabb-rövidebb ideig: - Suhajda Zoltán (Amnis Laboris Kft., az AMNIS-koncepció kidolgozója, doktorandusz) - Takács Tamás (Amnis Laboris Kft., rendszertervező), - Fekete István (ELTE IK, docens, projektvezető), - Máriás Zsigmond (ELTE IK, doktorandusz), - Giachetta Roberto (ELTE IK, tanársegéd, doktorandusz); - Bánsághi Anna (doktorandusz), Bedő Dániel, Fung Alexandra, Garai Márton, Gazsó János, Kossovics Balázs, Nagy Tamás, Szalmási Zsolt, Turó Zsolt (ELTE IK, hallgatók)
2. Az AMNIS koncepciója, alapelvei A modern vállalati rendszerekre jellemző, hogy modulokból állnak, amelyek számos előre definiált üzleti funkciót tartalmaznak. A rendszer bevezetése során, a „gap” analízisben felfedett speciális elvárásokat és különbségeket a szoftver módosításával, testre szabásával és paraméterezésével valósítják meg. Mivel a vállalatoknak folyamatosan új kihívásokkal kell szembenézniük, üzletviteli folyamataik gyakran változnak, a szoftverrendszereik módosítása gyakorta szükséges, ami folyamatosan magas költséget jelen. A szoftvertechnológiában ismert tény, hogy a szoftverrendszerek fejlesztési és bevezetési költségeit messze felülmúlják a karbantartás és módosítás későbbi költségei (kb. 30:70% arányban).
2
Ez nem csak a nagyvállalatok, hanem a kisebb cégek által használt rendszereket is jellemzi. Ebben a szférában ráadásul a vállalatok sokkal kisebb IT büdzsével rendelkeznek. A gondokat jelentősen enyhítheti egy olyan rendszer fejlesztése, amely egyszerű módon, a szoftver módosítása nélkül testre szabható és bevezethető, majd az üzemeltetés során a cég üzleti folyamatainak megfelelően adaptívan változtatható. Az AMNIS ezt a következőkben vázolt koncepcionális alapvetések mentén valósítja meg. A rendszer semmilyen specifikus üzleti logikát nem tartalmaz, helyette azonban eszközkészletet ad a felhasználóknak annak megvalósítására. Mindezt a vállalati folyamatok és az azokban szereplő dokumentumok („bizonylatok”) központba állításával valósítja meg. Az AMNIS úgy tekint a vállalati folyamatokra, mint dokumentumok sorozatára, amelyek közt a dokumentum egyes celláinak adattartalma áramlik. A folyamatok definiálásához az AMNIS egyfajta grafikus programozási nyelvhez hasonló szerkesztőfelületet biztosít. A grafikus eszköz segítségével a feltárt valós vállalati munkafolyamatokat (1. ábra) modellező AMNISfolyamatok megalkothatók.
1. ábra. Egy vállalati folyamat: tankoló automata megrendelése és szállítása
A csomópontokban dokumentumok, illetve a rájuk megfogalmazható lekérdezések állhatnak, a csomópontok közötti élek pedig a dokumentumok egyes celláit kötik össze (pl. a megrendelés dokumentumában szereplő partner azonosítóját „átáramoltatjuk” a számla dokumentum partner-azonosító mezőjébe). A felhasználó az AMNIS-folyamatok megszerkesztésével hozza létre a vállalatra a valóságban érvényes üzleti logikát. Az AMNIS rendszer „backend”-jében nincs szükség programozói beavatkozásra, vagyis nem szükséges a szoftver módosítása a folyamatok bevezetéshez. További előnye ennek a rendszernek az, hogy az informatikai folyamatok változtatása szintén egyszerűen, programozás nélkül, a folyamatszerkesztő használatával lehetséges.
3
3. Evolúciós megközelítés A szervezetet az összetett függvény matematikai fogalmával modellezzük. Ha nagyszámú, de csak néhány, egyszerű működést megvalósító alapelemből sokféle összetett működésű szervezetet szeretnénk építeni, akkor – az evolúció analógia alapján – kézenfekvő megoldás az összetett függvények alkalmazása. A biológiában az alapelemeket mindössze 20-féle aminosav alkotja; azok összekapcsolásával keletkeznek a fehérjék, amelyek felépítik az igen nagy változatosságot mutató biológiai szervezeteket. A külvilág hatásai, pl. az ingerek terjedése, vagy akár az anyagcsere: mind megfeleltethetők az információáramlásnak, és így párhuzamba állíthatók a vállalati folyamatokkal (2. ábra).
2. ábra. Evolúció - AMNIS analógia
Az AMNIS alapelve és célja az, hogy benne megvalósíthassuk a gazdasági rendszerek „aminosav” alapelemeit, és azok kapcsolatainak a rögzítésével felépítsük a vállalatok belső függvényeit. Ezen a módon kialakítható válik a (biológiai rendszerek esetén látott) nagyfokú változatosság és adaptív képesség, ami a mai vállalati rendszerek esetén új és innovatív elemnek számít. Az AMNIS aminosavai a dokumentumok, amelyek rögzített adatkapcsolataik által alkotják a folyamatokat, a vállalati rendszerek fehérjéit. A fehérjék összessége, pedig magát a vállalati rendszert, mint szervezetet alkotja. Az AMNIS dokumentumok összekötésével kapott folyamatok összességének az állapotai határozzák meg a teljes vállalati rendszert. Az állapotok átmenetét a folyamatok definíciója, az ún. folyamat-sablonok, illetve az azokon működő dokumentum-generálási szabályok („fehérje szintézis”) határozzák meg. Az említett adaptív képesség az AMNIS esetében azt jelenti, hogy a változó gazdasági folyamatokat a rendszer a kód átírása nélkül, pusztán a dokumentum-generálási szabályok módosításával képes követni.
4
4. Dokumentumok és üzleti folyamatok Az AMNIS-koncepció alapvetően a folyamatokra helyezi a hangsúlyt. A cégek sikeres és hatékony működésének egyik feltétele a vállalati folyamatok pontos ismerete és tudatos betartása. A folyamatok változása az AMNIS rendszerben „adaptív módon” – programozás nélkül –, csupán a grafikus felület használatával követhető.
3. ábra. Elemi vállalati tevékenységek listája
5
A rendszer egyik erőssége az a grafikus felület, amellyel a vállalati folyamatok gráfja rugalmas módon megszerkeszthető. A folyamat-gráf csomópontjaiban a vállalat működésére jellemző elemi tevékenységek találhatók. Ezeket a folyamat szerkesztését végző felhasználó az elemi vállalati tevékenységek listájából választhatja ki (3. ábra). A kialakult folyamatábra tetszőlegesen nagyítható-kicsinyíthető, topologikusan átrendezhető a képernyőn (4. ábra). A folyamatok mellett fogalmilag a dokumentumok játsszák a fő szerepet az AMNIS szemléletében. A vállalatok meglepően nagy hányada egy dokumentum orientált rendszert valósít meg. Tulajdonképpen a dokumentumok, illetve azok adatai „áramlanak” a rendszer folyamatainak gráfjában, az élek mentén.
4. ábra. Egyszerű vállalati folyamat: tankolás ellenőrzése
A dokumentumok csekély számú általános, fejléc információt tartalmazó mezői mellett, típusonként eltérő számú adatmezőt tartalmaznak. Egy csomópontra nagyítva a megfelelő dokumentum mezői tárulnak elénk (5. ábra).
5. ábra. A folyamatszerkesztő egy kinagyított csúcspontja
6
A gráf csomópontjai, vagyis a folyamat állomásai között, az adatok áramlását a vékony nyilak mutatják. Ez a tényleges adatátvitel elvégzését is jelenti, ha a folyamatra adódik a végrehajtási vezérlés. Az üzleti környezet folyamatos változásából következően, az AMNIS dokumentumok felépítése is folyamatosan változik, új dokumentum-típus verziók jönnek létre. A munkafolyamatok gráfjában az egyes csúcsok a végrehajtás szempontjából a következő típusokba sorolhatók.
Párhuzamos: egy ilyen csomóponttól kezdve, két végrehajtási szálon – aszinkron módon – ágaztatható el a folyamat futása. (Például, egy logisztikai munkafolyamatban, ameddig az egyik szálon a beszerzésről és a leszállítás előkészítéséről gondoskodunk, addig egy másik szálon a szerződések kitöltésének párhuzamos eljárása folyhat.)
Szinkronizáló: a párhuzamos folyamatok egyeztetésének, az egy végrehajtási szálba való szervezésének az eszköze. (Például, az előző logisztikai folyamathoz visszatérve, tegyük fel, hogy az egyik szálon a beszerzés már véget ért, az árú leszállításra kész, ám a másik szálon még várakozunk a szerződés megkötésére, vagy a pénz beérkezésére. Ha az akadályok elhárulnak, akkor a két folyamat a leszállítás csomópontra lépve, egy szálon folytatódik tovább.)
Feltételhez kötött: ahogy a neve is mutatja, a csomópont végrehajtásához, egy bizonyos feltételhez teljesülése szükséges. (Például, ha egy dolgozó autóval jár be, akkor nem szükséges útiköltséges nyomtatványt kitölteni számára.)
Iteráló: az ilyen típusú csúcsban foglalt műveletet a csúcsban, paraméterként megadott számosságban hajt végre a rendszer. (Például, leírható az, hogy küldjön ki minden nap összesítő kimutatást a napi árumozgásokról, e-mail-ben.)
5. Adatmodell és objektum-elvű adattárolás Az AMNIS-ban, mint folyamatvezérelt vállalati rendszerben nagy mennyiségű, különböző sémákba tartozó dokumentumot kell tárolni egyetlen adatbázisban. Az attribútumok száma és mennyisége dokumentum típusonként változik. Ennek a nagy mennyiségű adatnak mind a tárolása, mind az attribútumok alapján történő gyors lekérdezése nehézségekbe ütközik, ezért megoldandó feladatot jelent. A tárolt dokumentumok mind pontosan egy dokumentumtípushoz tartoznak. Például egy járműkövető rendszerben nyilvántarthatunk gépjárműveket és célállomásokat, mint dokumentumokat. A teherautót leíró dokumentumok tartalmazhatják a sofőr nevét, a teherautó átlagfogyasztását és a rendszámát, míg a célállomásokat a megnevezésük, címük és a GPS koordinátáik írják le. Minden dokumentumtípusnak lehetnek altípusai (pl. a járművek között személyautók, teherautók és pótkocsis kamionok). Minden dokumentumtípus örökli a szülő típus összes attribútumát és kiterjeszti azt további attribútumokkal. Ez a struktúra megfelel az objektum orientált programozási paradigmában használt osztályhierarchia koncepciójának, ahol a dokumentumtípusok az osztályoknak felelnek meg, a leszármazás a specializáció megfelelője, egy konkrét dokumentum pedig egy példányosított objektum. A rendszer adatbázis rétegében a legfontosabb feladat a kategóriarendszer és az előfordulások tárolása és karbantartása, valamint a leíró adatok alapján történő lekérdezések. Mivel az adatbázisban nagyon sok dokumentumot tárolunk, nem csak egy-egy objektum, hanem objektumhalmazok szűrőfeltételek alapján történő lekérdezése is szükséges. A szűrőfeltételek tartalmazhatnak a dokumentumtípusra vonatkozó megszorításokat, valamint a leíró adatok egy
7
részhalmazára vonatkozó lekérdezéseket. Ez az adathierarchia és a hozzá kapcsolódó lekérdezések egyéb alkalmazásokban is hasznosnak bizonyulhatnak, pl. e-commerce rendszerekben vagy térinformatikai adatbázisokban. Az üzleti környezet folyamatos változásából következően, az AMNIS dokumentumok felépítése is folyamatosan változik, új dokumentum-típus verziók jönnek létre. A korábbi sémaverziók szerint tárolt adatok visszakeresésének is ugyan olyan gyorsnak kell lennie, mint a nemrég tárolt dokumentumok elérésének. Míg bizonyos lekérdezés típusok esetén elfogadható 30-60 másodpercnél hosszabb válaszidő, addig a folyamatokat kiszolgáló lekérdezések döntő többségénél 1-2 másodperc alatt kell tartani az átlagos válaszidőt, a lekérdezett adatok mennyiségétől függetlenül, a hatékony folyamatkezelés érdekében.
6. ábra. Benchmark tesztek eredményei az adattároláshoz
Az AMNIS rendszer fejlesztése során több megvalósítási koncepció is felmerült. Az adatok tárolásához és lekérdezéséhez három különböző prototípust készítettünk. Két megvalósításban relációs adatbáziskezelő rendszert használtunk: az egyik esetben az „entity-attribute-value” adatmodell egy módosított megvalósítását, a másikban „on-the-fly” generált adattáblákban mentettük el az AMNIS dokumentumokat. A harmadik megvalósítás a dokumentum-orientált, sémamentes MongoDB adatbázisban tárolta az adatokat. A rendszereken futtatott „benchmark” tesztek eredményeit (6. ábra) részletesen ismerteti az [1] cikk. A fenti ábra 1., 2. és 4. diagramján az egyes oszlopok alatt két szám szerepel; az első a tesztadatok osztályainak („cl”) számát, míg a második az attribútumok („attr”) átlagos számát adja meg. Az első két diagram az osztályok objektumainak lekérdezési idejét mutatja, az 1. diagram azonos számú osztály és növekvő számú attribútum esetén, a 2. diagram pedig fordítva:
8
rögzített átlagos attribútum szám és növekvő osztály szám mellett jellemzi a lekérdezés hatékonyságát. Az alsó sor két diagramja szűrő lekérdezések futási idejét ábrázolja. A 3. diagram oszlopai alatt álló egyetlen szám növekedése arra utal, hogy a szűrő feltétel egyre több attribútumra hivatkozik, míg a 4. diagram rögzített bonyolultságú szűrés végrehajtási idejét mutatja növekvő számú osztály-attribútum esetén. Az összehasonlítás alapján a MongoDB alapú megvalósítást implementáltuk az AMNIS rendszerben.
6. A rendszer szoftverkomponensei Az AMNIS rendszer architekturája korszerű szoftver-komponensekből épül fel (7. ábra). Röviden áttekintjük a rendszer – logikai értelemben – legfontosabb összetevőit.
7. ábra. Az AMNIS rendszer architektúrja
A rendszer a felhasználói számára a webes frontend-en keresztül, vagyis a HTML5/JavaScript/AJAX alapú webes kezelő-felületen érhető el. Ezen módon érhetők el az AMNIS rendszer folyamatainak, dokumentumainak és dokumentum-típusainak általános adminisztrációs funkciói. Ezen a felületen keresztül lehetséges a folyamatok elindítása is, és a futtatás során a felhasználói interakciók is itt történnek. Az AMNIS erőssége (és látványos oldala) a HTML5 és JavaScript technológiával fejlesztett grafikus szerkesztő felület, amellyel a vállalati folyamatok gráfja rugalmas módon létrehozható, illetve módosítható. A folyamatábra tetszőlegesen nagyítható-kicsinyíthető, topologikusan
9
átrendezhető a képernyőn. A gráf csúcsai a folyamat állomásainak felelnek meg. A közöttük történő adatáramlás irányát nyilak azonosítják. A folyamat végrehajtása során a tényleges adatátvitel is megtörténik. Az alkalmazás funkcióinak elérését a böngészőből a PHP alkalmazásként implementált, vékonykliensként működő proxy szerver teszi lehetővé. A párhuzamosan futtatható üzleti folyamatok végrehajtását az önálló kiszolgálóként üzemelő alkalmazás szerver biztosítja. A logikai keret implementációja Python nyelven készült. Az operációs-rendszertől független szálkezelés a Stackless és a széles körű protokollimplementációt támogató Twisted keretrendszerben valósult meg. Az inhomogén típusú dokumentumok a no-SQL jellegű MongoDB-ben kerülnek tárolásra. A rendszer korábbi verziójának nagy adattömeg esetén tapasztalt lelassulását sikerült kiküszöbölni. Érdemes az AMNIS rendszer szoftveres architektúráját valamivel részletesebben is szemügyre venni. A fejlesztés szempontjából a leglényegesebb feladatok a következők voltak:
Alfresco tartalom- és dokumentumkezelő rendszer integrációja. A fájlok, képek, számlák és egyéb dokumentumon menedzselésére nem fejlesztettünk saját komponenst, hanem az Alfresco tartalomkezelő alrendszert választottuk erre a célra. A dokumentumcsatoló és megtekintő felhasználói felületek az AMNIS dokumentumkezelő és folyamatfuttató funkcióiban érhetők el. A felületek a minél teljesebb felhasználó élmény érdekében innovatív HTML5/Ajax technológiával készültek.
A rendszer felhasználói felületének implementációja. A rendszer felhasználói felületét megvalósító funkciókat PHP kód generálja. A kliens oldalon az elérhető funkciók egy olyan strukturált rendszerét hoztuk létre, amely ergonomikus módon segíti a napi munkát.
Teendő (to do) lista működése. A folyamat-szerkesztőben definiálhatók olyan csomópontok, amelyek interaktívak, azaz felhasználói adatbevitelre várnak. A folyamatok a háttérben futnak, és nem biztos, hogy folyamatok által generált taszkok a folyamatot elindító felhasználóhoz tartoznak. Ebből következik, hogy az érintett felhasználóval közölni kell, amikor egy ilyen feladat aktuálissá válik. A felhasználói felület tartalmaz ezért egy olyan listát, amely az interakcióra váró folyamatokat tartalmazza: ez a teendő (to do) lista. Az interaktív csomópontok általában dokumentumok kitöltésére várnak. Ezt a tulajdonságot a csomóponton belül definiálhatjuk, és a dokumentumot feltölthetjük alapértelmezett adatokkal is.
Folyamat és csomópont-szerkesztés. A folyamatszerkesztő felületben a folyamat csomópontjait és az azok közötti adatáramlást lehet definiálni egy HTML5 Canvas és jQuery felhasználásával fejlesztett felületen. Ezen a felületen adhatók meg az egyes csomóponthoz tartozó bemenő és kimenő adatok. A lekérdezések kifejezőerejének növelése céljából lehetséges változókat és kifejezéseket használni a csomóponton belül. A folyamatok időzített lefuttatásának beállításához új vezérlőelemmel bővült a szerkesztő. A felületet alkalmassá vált a már mentett folyamatok szerkesztésének folytatására. Az adatbázisból visszatöltve a mentett gráf a csomópont – mezőinek értékekeivel együtt – újragenerálódik. Két, eddig külön oldal megnyitását igénylő, összetartozó funkció egybe lett integrálva. A csomópont szerkesztőben létrehozott folyamat-gráf egy csúcsába kattintva lehetőség
10
nyílik a dokumentum-séma megadására. A folyamatok megadható jellemzői néhány attribútummal (pl. prioritások, jogosultságok) bővültek.
Csomópont kiértékelés és folyamatvezérlés. A csomópont-kiértékelés során megadott kifejezések leíró készsége külső (pl. az operációs rendszerbeli) függvények elérésével bővült. Így már aritmetikai és külső – nem AMNIS dokumentum-forrásokból származó – adatokkal is összeállhatók komplex kifejezések. A folyamatban lehetőség nyílt opcionális csomópontok kialakítására is (külön folyamatvezérlő elem alkalmazásával), illetve iterált csomópontok definiálására is. A csomópontok által meghatározott alfolyamatok elindíthatók szekvenciális végrehajtással, illetve párhuzamos szálon.
Külső adatcsatolók támogatása + folyamat csomópont akciók. A fejlesztés során elkészült kommunikációs modul lehetővé teszi külső adatcsatolók adatainak feldolgozását csomópont kiértékelés közben. Az AMNIS folyamatok csomópontjaiban így különféle külső forrásból származó adatok is felhasználhatók.
A külső forrásból eredő információ érkezhet AMNIS üzenetként TCP/IP Socketen vagy egy külső program által készített fájlból. Ezzel az első nagyobb alkalmazást, a mobil üzemanyag kutak informatikai támogatását, ezen belül is a térinformatikai és a mobilkommunikációs fejlesztést készítettük elő.
A fejlesztés a projektmunka követelményrendszerének megfelelő módon történt. Létrehoztuk a projekt fejlesztői oldalát is a [6] alatt látható címen, a szakmai kommunikáció és a verziókövetés céljára. Számos olyan – elsősorban technikai – részletet, amelyekre ez a leírás nem térhet ki, az érdeklődők ott megtalálhatják.
7. Geoinformatika és mobilkommunikáció Az AMNIS rendszer egyedi tulajdonsága az, hogy „üresen” is értékes eszközt nyújt a vállalatok számára, általános folyamataik leírására és megvalósítására. Mód van arra is, hogy a cég szakemberei maguk fejlesszék hozzá a vállalati működésre jellemző funkcionalitásokat. Leginkább azonban úgy számíthat az AMNIS sikeres marketingre, ha egy-egy speciális üzletágban, az ott szükséges funkcionalitással kínálják a vállalatok számára. Egy ilyen üzletág a saját üzemanyag-ellátó rendszerrel, azaz mozgatható benzinkutakkal és tankoló járművekkel (jellemzően munkagépekkel) rendelkező cégek folyamatainak támogatása. A pályázat keretében elkészült a Térinformatikai és mobilkommunikációs (TM) alrendszer terve, és prototípus szinten megvalósításra kerültek a következő funkciók: a céghez tartozó közlekedő járművek mozgásának nyomon követése GPS adatok alapján, a járművek mozgásának térképi megjelenítése, valamint a járművek vezetőivel való kommunikáció, amely a dokumentumcserét is magában foglalja (8. ábra). A vállalatok számára igen fontos, hogy alkalmazottai folyamatos kommunikációban álljanak, különösen olyan esetben, amikor az alkalmazottak nem egy központi helyen dolgoznak, hanem folyamatos kiküldetésben vannak, vagy kihelyezett területeken tartózkodnak. Ide tartoznak a saját üzemanyag-ellátó rendszert használó cégek, amelyek tipikusan a mezőgazdaság, az építőipar, az útépítés, a szállítmányozás stb. üzletágainak szereplői. A külső munkahelyek (pl. mezőgazdasági területek) általában csak a mobilkommunikációra adnak lehetőséget az adatok
11
internetes továbbítása esetén. A mai mobiltechnológiában – legyen szó mobiltelefonról, táblagépről vagy autóba szerelt kommunikációs/ navigációs eszközről – már minden esetben adott az Internet-használat lehetősége.
8. ábra. Térinformatika
Az intelligens flottakövetés meghatározó részét képező üzemanyag kontrolling rendszerének elemeit a pályázati szakaszban feltártuk, de részletes tervezés és a megvalósítás egy későbbi fejlesztés célját képezi. A térinformatikai, illetve mobilkommunikációs lehetőségek az AMNIS 3-as verzióba új alrendszereként kerültek beépítésre (így ezek a funkciók bármikor leválaszthatóak a központi elemektől, vagyis az AMNIS rendszer e nélkül is futtatható és használható). Az új alrendszer felépítését és működést a szerver, illetve a kliens oldalon az alábbiak szerint valósítottuk meg.
Szerver oldalon az AMNIS központi elemei kiegészítésre kerültek a térbeli adatok tárolásának a lehetőségével. Az adatok dinamikus strukturáltságának köszönhetően a térbeli vonatkozások bevitele, esetleges eltávolítása nem okoz fennakadásokat az eddigi adatok, dokumentumok tárolásában, kezelésében, vagyis a két alrendszer független.
A szerver oldalon szükséges egy megfelelő adminisztrációs, diszpécser felületet is. Ez egy webes, illetve grafikus felhasználói felületen biztosítja az adminisztrátorok számára az olyan funkciókat, mint a járműpark térképes követése, az üzenetek egyszerű fogadása, illetve küldése. Az üzenetek többfélék lehetnek, és tartalmazhatnak csatolmányként a rendszerben fellelhető dokumentumot is. A fejlesztés során a diszpécser felület egyszerűsített változata készült el.
Szintén a kliens oldalról, speciálisan az üzemanyag-ellátó rendszerek esetén kibővülhet majd a kommunikáció az intelligens tankoló állomások adatainak fogadásával. Ezek az eszközök képesek Interneten történő adattovábbításra, amely tovább növeli a rendszerbe áramló, ellenőrzésre szolgáló információkat. Ez a komponens jelen szakaszban nem kerül megvalósításra, de a szerver oldalt már most képessé tesszük az adatok feldolgozására.
A térinformatikai lehetőségek megvalósítása érdekében szükség van navigációs szolgáltatásra is (a mobil platformtól függően, pl. Google Maps, Microsoft Bing Maps),
12
amelyen keresztül online módon kérhetünk térképi adatokat, illetve útvonaltervezést. Ezek a szolgáltatások a szerver és a kliens oldalon is felhasználásra kerülnek, így ezeket a funkciókat nem kell az AMNIS rendszeren belül megvalósítani, és nem terhelik a rendszer kapacitását. A komponensek kommunikációja során számos adat cserél gazdát üzenetek formájában. Az AMNIS központi koncepciójának, a dokumentum-elvűségnek megfelelően minden üzenet egy dokumentum, amely természetesen tartalmazhat további dokumentumokat. Az alrendszer felépítését úgy valósítottuk meg, hogy a központi AMNIS folyamatoktól függetlenül működtethető legyen, ugyanakkor felhasználja annak adatbázisát, és a benne tárolt dokumentumokat. A kommunikációs folyamat indirekt módon valósul meg, ugyanis a kiküldetésen lévő munkatársak nem direkt módon kommunikálnak a diszpécserekkel, hanem egy köztes adatkezelő rétegen keresztül. Ennek bevezetése egyfelől a szolgáltatás-orientált architektúra miatt volt szükséges – mivel így a szerver oldal nem érheti el közvetlenül a klienseket –, másfelől megakadályozza, hogy a rendszeren átfutó nagy adatmennyiség hirtelen terhelje le valamely oldalt. A struktúra tagolódásának megfelelően az új alrendszer alábbi komponensei valósítják meg a funkcionalitást:
Szerver oldali adatkezelő modul. Feladata az adatbázissal, a központi AMNIS rendszerrel történő kommunikáció, a kliens oldali munkafolyamatok kezelése, valamint a kódolás és dekódolás végrehajtása. Az adatkezelés dokumentum-alapon történik, mind az adatbázisban, mind a kommunikáció oldalán (így jelentős formai átalakítás nem szükséges egyik irányban sem).
Szerver oldali webszolgáltatás. Feladata a csatorna felépítése, a kliens oldalról jövő kérések fogadása, a válaszok visszaküldése, valamint az esetleges visszahívások kezdeményezése.
Szerver oldali adminisztrációs és diszpécser alkalmazás. Feladata webes, illetve grafikus felhasználói felület biztosítása az adminisztrátorok számára. A teljes kommunikációt az adatkezelő modulon keresztül bonyolítja le, illetve felhasználja a külső térképi szolgáltatásokat. Jelen szakaszban csak egyszerűsített funkcionalitású változata került megvalósításra.
Mobil kliens adatkezelő és kommunikációs modulja. Feladata a kommunikáció kliens oldali részének lebonyolítása, beleértve a kódolást és dekódolást is.
Mobil kliens megjelenítő és térképkezelő modulja. Feladata az adatkezelő által biztosított információk megjelenítése, szerkesztőfelület biztosítása a dokumentációk kitöltéséhez, illetve a térképi szolgáltatások felhasználása és a térképi megjelenítés.
Kiszolgálói kliens. Feladata az adatközlés a szerver felé, ennek megfelelően grafikus felületet nem tartalmaz, és mivel nem közvetít vállalati folyamatban lévő dokumentumokat, ezért nem kell titkosítást alkalmazni az üzenetekre. Jelen szakaszban nem kerül megvalósításra, de a tervezés részévé kellett tenni.
Az itt leírt koncepciót a fejlesztés alatt álló prototípus rendszerben, annak funkcionális részeként implementáltuk. A TM alrendszer fejlesztése az AMNIS alaprendszertől elkülönülve történt. A részleteket a [7] forrás tartalmazza. Az alaprendszer és az alrendszer szervesebb egybeépítése a pályázati időszak utáni fejlesztés egyik feladata. 8. Összefoglalás
13
Az AMNIS új verziójában a következő korszerű, a rendszerre jellemző paradigmákat érdemes kiemelni, részben túl a pályázati kapcsolódási pontokon: - a folyamatkezelés kifinomultabb formája, - a rendszer fejlettebb struktúrája, - az adatbáziskezelés dokumentum-elvű megvalósítása, - új fejlesztői környezetek alkalmazása, valamint - a térinformatikai és a mobilkommunikációs megoldások beépítése. A folyamatkezelés evolúciós elvű koncepciójában történt előrelépés keretében újabb vezérlési elemek jelentek meg az addigi szekvencia és elágazás mellett. Legfontosabb a részfolyamat és a ciklus bevezetése a lehetőségek közé. Az AMNIS-3 verzió számára új, fejlettebb struktúrát terveztünk, mint amilyenben elődei működtek. Azok esetén ugyanis a program külön példányára volt szükség minden egyes cég kezeléséhez. Az új rendszer felépítésében megjelent az alkalmazás-szerver, amely a több szálon történő párhuzamos futtatást támogatja. Így az új szoftver felépítése a tervezés és a fejlesztés szempontjából – a napjainkban elterjedt módon – a következő három rétegre tagolódik: adatbáziskezelés, üzleti logika és felhasználói felület. Az AMNIS-3 esetében az első nagy kihívást az adatbáziskezelés fent említett hatékonysági problémájának a megoldása jelentette. Több adatbáziskezelő működési elvének ismeretében, „benchmark” tesztek alapján a nyílt forráskódú Mongo DB dokumentumalapú adatbáziskezelő rendszert választottuk, amely hatékony lehetőséget ad inhomogén adatrendszer kezelésére, szemben a relációs adatbáziskezelőkkel. Az AMNIS korábbi verziójához képest új, összetett fejlesztő környezet kialakítása és alkalmazása mellett döntöttünk. Az új adatbáziskezelési platform mellett legfontosabb döntés a Python nyelv alkalmazása volt. Az üzleti folyamatok végrehajtását kezelő keretrendszer önálló kiszolgálóként üzemel, biztosítva a folyamatok párhuzamos futtathatóságát és priorizálhatóságát. Az új grafikus felület PHP-ben készül, a böngészőben való megjelenítéshez pedig JavaScriptet használunk. Az AMNIS rendszer „üresen” is értékes eszközt nyújt a vállalati folyamatok leírására és kezelésére. Az általános rendszer fejlesztésével együtt azonban kidolgozásra került a TM alrendszer, amely a saját üzemanyag-ellátó rendszerrel működő vállalatokat támogatja. A mozgatható benzinkutak és a tankoló járművek útvonalának, az üzemanyag felvétel és fogyás, valamint további jellemző események követése a térinformatika és a mobilkommunikáció eszközeivel és módszereivel valósul meg. Az AMNIS és a TM alrendszer teljesebb integrálása a pályázat utáni fejlesztés feladata.
14
Publikációk, megjelenések: [1] Zs. Máriás, T. Nikovits, T. Takács, R. Giachetta: A Study of Large Amount of Inhomogeneous Data in Workflow Management Systems. Annales Univ. Sci. Budapest., Sect. Comp. 37 (2012) 275-292. [2] Suhajda Z., Máriás Zs., Takács T., Giachetta R., Turó Zs.: Az AMNIS folyamat alapú vállalatirányítási rendszer fejlesztése. Poszter, ELTE Innovációs Nap, 2012. febr. 24. [3] Suhajda Z., Máriás Zs., Takács T., Giachetta R., Fekete I., Turó Zs.: Az AMNIS folyamat alapú vállalatirányítási rendszer fejlesztése. Poszter (a [2] javított változata), KMOP Pályázati Zárórendezvény, ELTE, 2012. május. 31. [4] Fekete I., Giachetta R., Máriás Zs., Turó Zs.: AMNIS, egy folyamatvezérelt adaptív vállalatirányítási rendszer tervezése és fejlesztése, In: Gonda J. (szerk.): A kutatásfejlesztési központok fejlesztése és megerősítése, KMOP-1.1.2-08/1-2008-0002, A pályázati munka összefoglalása. Felelős kiadó: Gábori László, Budapest, 2012. (pp. 65) [5] Turó Zsolt: Interaktív böngésző alapú vállalati folyamat modellező. BSc szakdolgozat, (Témavezető: Vinczellér Z.), ELTE IK, 2012. [6] Az AMNIS projekt fejlesztői weboldala: http://docs.amnisworkflow.hu [7] A TM alrendszer fejlesztői weboldala: http://people.inf.elte.hu/groberto/amnis
15