Rendszerek Osztály Csoportmunka támogatás és workflow kezelés peer2peer rendszerekben Csempesz János, Fülöp Csaba, Kovács László MTA SZTAKI
Bemutatás A projekt neve: Peer2Meet Célja: csoportmunka rendszerek alapjául szolgáló architektúra elkészítése Középpontban: laikus felhasználók számára egyszerű használhatóság Felhasználás: elektronikus közgyűlési rendszer
Hagyományos dokumentum-kezelő rendszerek 1. MTA SZTAKI Közös mappa Laikus felhasználók számára egyszerű Csak speciális esetben van szükség munkapéldányok készítésére Tetszőleges formátumú állományra használható Verziókövetés: bajos, elnevezésben Webes dokumentum kezelő rendszer (pl.: Lotus) Előzőnél bonyolultabb használhatóság (böngészés, dokumentumok fel- és letöltése) Szükséges munkapéldányok készítése (keveredést okoz) Verziókövetés: régi példányok eltárolása
Hagyományos dokumentum-kezelő rendszerek 2. MTA SZTAKI Közös webes felület (Wiki) Csak hozzáértő felhasználók számára Csak speciális, szöveges formátum használható Csak online használható Verziókövetés megoldott Verziókövető rendszerek (pl.: CVS) Csak hozzáértő felhasználók számára használható (speciális parancsok) Csak szöveges állományokra használható (hatékonyan) Mindig munkapéldányt készít, de a szinkronizálás megoldott Verziókövetésre készült
Peer2Meet: egy újfajta megközelítés Minden felhasználó gépén helyi másolat az egész dokumentum tárról Ezek szinkronizálása automatikusan, a felhasználó számára láthatatlanul Nyilvános kulcsú titkosítás az érzékeny adatok védelmére Nincs központi szerver, helyette peer2peer alapok A felhasználók tevékenységeinek vezetése workflow rendszer segítségével
A rendszer felépítése
A rendszer működése 1. A csomópontok hálózaton keresztül kommunikálnak, ez a kapcsolat hosszabbrövidebb időre megszakadhat Az egyes objektum tárak adott időközönként elküldik egymásnak az objektum listájukat Ha valamelyik tár számára új objektumot talál mások listájában, akkor beszerzi azt Új objektum létrehozása: a következő lista szétküldéskor értesül a többi csomópont az új objektumról és elkérik az adott csomóponttól azt
A rendszer működése 2. Hálózati kapcsolat kiesése: a kapcsolat helyreállása után a kiesett csomópont ismét megkapja a rendszeresen küldött listákat és a számára új objektumokat beszerzi Rendszer állapot: a tár tartalma, az egyes résztvevőknél hosszú ideig eltérhet A konzisztens adatok érdekében az objektumok módosítása nem megengedett Módosításra külön módosító objektumok segítségével van lehetőség (a háttérben, a felhasználók elől elrejtve)
Az objektumok terjedése 1. Elkéri Objektum B a B objektumot lista 2. Elkéri Objektum A az objektum A objektumot lista A B A B Objektum B Elkéri A objektum az a B A lista objektumot Objektum lista 3. A B
Az objektumok módosítása Az egyes funkciókat további részekre kell bontani, azok adják az objektumokat Pl. chat = chat szoba + üzenetek Beszélgetés közben nincs szükség módosításra, csak új üzenet objektumok létrehozására Közgyűlés Chat 10:15 -Géza: Sziasztok 10:16 -Jani: Szia! 10:17 -Géza: Hánykor kezdünk?
Use Case-ek 1. Egyszerű iroda A számítógépek helyi hálózaton, állandó hálózati kapcsolatban állnak egymással Betegség, szabadság, stb. alatt keletkezett objektumok: a számítógép bekapcsolásakor szinkronizálódik a tár a többiekkel Munkahely Otthon (laptop) A helyi objektum raktáron hálózati kapcsolat nélkül is lehet dolgozni (pl. otthon, utazás alatt, ) Amint ismét van hálózati kapcsolat, a többiek értesülnek az új objektum listáról és beszerzik az új objektumokat
Use Case-ek 2. Külső megbeszélés Megbeszélés külső helyszínen, hálózati kapcsolat egymás között pl. WiFi-n Az irodába visszaérve kölcsönösen szinkronizálódik a két csoport Backup, Archiválás A túl nagy objektum raktárak elkerülése érdekében méret limit határozható meg (régi objektumok törlése) Ez az egyik gépén kikapcsolható: archiváló Adatvesztés esetén mindenkinél megvan minden objektum: backup
Biztonság Minden tárban ott az összes objektum: az objektumok nyilvános kulcsú titkosítása Titkosítás két lépésben Objektum szimmetrikus kulcsú titkosítása Szimmetrikus kulcs nyilvános kulcsú titkosítása Jogosultság adás: szimmetrikus kulcs titkosítása az adott felhasználó nyilvános kulcsával is Egy felhasználóhoz több kulcspár is tartozhat: a régi kulcsok a régi objektumok kinyitásához
A workflow rendszer A workflow is egy objektum típus Workflow: egy munkafolyamat leírása Elágazások Feltételek Jogosultságok az egyes lépésekhez Időzítés Más objektumokra való hivatkozás Nehézség: nincs központi szerver! Workflow állapota: a tárban lévő objektumok Állapot váltás: ez is objektum, tartalmazza a korábbi állapot váltásokat is: összekeveredett sorrend esetére Automatikus döntések: a WF-t indító gépen, a többieket ő értesíti (pl. szavazás lezárása)
Elektronikus közgyűlési rendszer Előterjesztések elkészítése (testületi referens) Jóváhagyás (jegyző, alpolgármesterek, polgármester) módosítás Bizottsági ülések: véleményezés Közgyűlés: szavazás, jegyzőkönyv Határozat elkészítése (testületi referens), aláírása (jegyző), kiadása (igazgatóságok)
Screenshot 1.
Screenshot 2.
Köszönjük a figyelmet! MTA SZTAKI, rendszerek osztály http://dsd.sztaki.hu Fülöp Csaba csabi@dsd.sztaki.hu Kovács László laszlo.kovacs@sztaki.hu