Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 3. Átszövődő vonatkozások Dr. Bilicki Vilmos Szegedi Tudományegyetem.

Hasonló előadás


Az előadások a következő témára: "UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 3. Átszövődő vonatkozások Dr. Bilicki Vilmos Szegedi Tudományegyetem."— Előadás másolata:

1 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 3. Átszövődő vonatkozások Dr. Bilicki Vilmos Szegedi Tudományegyetem Informatikai Tanszékcsoport Szoftverfejlesztés Tanszék

2 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Összefoglaló  Kontextus  Biztonsági kontextus  Tranzakciós kontextus  Perzisztencia kontextus  Menedzsment/Monitorozás  Naplózás Programrendszerek fejlesztése

3 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Szoftverfejlesztés  Funkcionális követelmények  Nem funkcionális követelmények  Keresztülívelő problémák ■Lehet funkcionális is, de ■Leginkább nem funkcionális probléma  Olyan problémák amelyek a szoftver különböző rétegeiben megjelennek, és egyfajta ortogonális kapcsolatban vannak a szoftver valós céljaival Programrendszerek fejlesztése

4 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Átszövődő vonatkozások  Nem produktív, ha ezekkel is olyan szinten kell foglalkozni mint a funkcionális követelményekkel  Elosztott rendszerben ezek transzparenciája külön kihívás  Néhány fontosabb ilyen aspektus: ■Kontextus ■Biztonság ■Tranzakció ■Szinkronizáció ■Perzisztencia ■Naplózás ■Kód mobilitás ■Monitorozás ■… Programrendszerek fejlesztése

5 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Szintjei  Processzen belül ■JVM, szálak, …  Processzek között ■JEE megoldások  Internet méretekben ■WS-* megoldások Programrendszerek fejlesztése

6 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Kontextus Programrendszerek fejlesztése

7 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS WS-CAF  3 szabványból áll ■WS-Context, WS-Coordination keretrendszer és WS- Transaction Management ■Ezeket egymástól függetlenül is lehet használni  Egy nyílt keretrendszer mely lehetővé teszi több szolgáltatást biztosító alkalmazások együttes alkalmazását (alkalmazások kombinálását)  A kompozit alkalmazások közös információkat oszthatnak meg  Viszonyt ad a web szolgáltatás környezethez

8 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS WS-Context  Lehetővé teszi a kompozit alkalmazások között az információ megosztást  Defines Notion of An Activity ■A munka alapegységét ■Viszony létrehozását ■A mentett adatok megosztott szkópját ■Az aktivitással asszociált alap kontextust  Web szolgáltatásokat definiál a kontextus menedzselésére ■Egy aktivitás kontextusonként ■CRUD műveletek ■A konextus átadása (referencia/érték)

9 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS WS-Context használata  Példák: ■Elosztott web viszony (többet ad a sütinél) ■Single sign-on ■Tranzakció terjedés ■…

10 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS A struktúrája  Egy XML dokumentum mely egyedi azonosítót és az aktivitás opcionális adatai tartalmazza  A SOAP fejlécben visszük át  Referencia (URI) vagy érték szerint (fejléc) adható át

11 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS WS-Context Programrendszerek fejlesztése

12 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Kontextus kiszolgáló Programrendszerek fejlesztése

13 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Példa User Store 1 Store 2 CTX SVC. 2 CTX SVC. 1 1: getCatalog 2: addItemToCart 3: begin 4: submitOrder 5: complete

14 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Biztonság  AAA ■Azonosítás (authentikáció) és azonosságkezelés ■Jogosultságkezelés (authorizáció) ■Könyvelés (accounting) ■Általános adatvédelem  Operációs Rendszer  Futtató környezet Programrendszerek fejlesztése

15 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Egy minta architektúra Programrendszerek fejlesztése

16 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Egy bonyolultabb architektúra Programrendszerek fejlesztése

17 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Azonosítás  Kód alapú  Személy alapú Programrendszerek fejlesztése

18 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Megvalósítás Programrendszerek fejlesztése

19 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Jogosultságkezelés Programrendszerek fejlesztése

20 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Rendszerek között Programrendszerek fejlesztése

21 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS WS-* Programrendszerek fejlesztése

22 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Elosztott rendszer konszenzus  Rendszer szinten konszenzust kell elérni a fellépő hibák ellenére is ■Adatbázis tranzakció (mehet/nem mehet) ■Vezető választás ■Állapotgép replikáció ■Atomi üzenetszórás ■… Programrendszerek fejlesztése

23 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Tranzakciók  Erőforrások konzisztens használata  Atomi Tranzakció ■A - Atomi ■C - Konzisztens ■I - Elkülönítés ■D - Tartósság  Hosszú Futásidejű tranzakció (Üzleti Tranzakció) ■Kompenzáció vs. Zárolás Programrendszerek fejlesztése

24 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Tranzakció Programrendszerek fejlesztése

25 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Tranzakció típusok  Elosztott atomi tranzakció ■Kétfázisú commit –Egyszerű –Blokkol ■Háromfázisú commit –Bonyolult –Nem blokkol –Nem működik szegmentált hálózat esetén ■Paxos –Aszinkron kommunikáció esetén is garantált a konzisztencia –Fail-Restart működést is tolerál Programrendszerek fejlesztése

26 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Kétfázisú commit 2PC  Naplózás tartós tárra  Tranzakció vezérlő  Erőforrások  Protokoll ■Szavazó fázis ■Commit fázis  A szavazó fázis után végtelenségig zárolhat Programrendszerek fejlesztése

27 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Háromfázisú commit 3PC  Nem blokkoló  Több algoritmus  Nincs formális bizonyítás, elemzés  Fail-Stop model  Megoldások ■Timeout ■Tartalék TP ■… Programrendszerek fejlesztése

28 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Lesile Lamport: Paxos  2000 éves algoritmus  Analitikus is bizonyított képességek  Fail-Restart modell  Aszinkron hálózati modell  N/2 hibát tolerál  Nem halad amíg vissza nem tér a szinkron kommunikáció  Rosszakaratú csomópontoknál védtelen  Paxos - háborúban Programrendszerek fejlesztése

29 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Paxos  Csak egy érték fogadható el  Peremfeltételek ■Fail-Restart modell ■Tetszőleges késleltetés ■Üzenet duplikálás  Entitások ■Javaslattevő ■Elfogadó ■Hallgató  Ötlet ■Abszolút sorrend a műveletek között ■Többségi elven meghatározza az elfogadott, vagy elfogadható értéket Programrendszerek fejlesztése

30 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Google Chubby / Yahoo Zookeeper  Zárolási információ sok apró fájlban  Ezek egy replikált adatbázisban vannak tárolva  Adatbázis: hibatűrő naplózó réteg felett: PAXOS  Cubby kliense a PAXOS vezérrel beszélnek (a replikált log olvasása/írása) Programrendszerek fejlesztése

31 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Perzisztencia  Lecsatolt objektum  Referencia szerinti azonosság?  Módosítás/Szinkroni záció?  Hatékony összefűzés?  Azonosság?  … Programrendszerek fejlesztése

32 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Perzisztencia Programrendszerek fejlesztése

33 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Menedzsment/Monitorozás Programrendszerek fejlesztése

34 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Naplózás  JUL : a java.util.logging API ami minden JDK része. JUL  Log4j : legismertebb Log4j  Commons Logging : Apache megvalósítás Commons Logging  SLF4J : Absztrakció SLF4J  Logback : a Log4J utóda Logback  TinyLog : egyszerű TinyLog  … Programrendszerek fejlesztése

35 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Összefoglaló  Kontextus  Biztonsági kontextus  Tranzakciós kontextus  Perzisztencia kontextus  Menedzsment/Monitorozás  Naplózás Programrendszerek fejlesztése

36 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS A következő előadás témája  Köztesréteg ■Típusai ■Megvalósítása ■Metrikái ■Példák  Web Konténer  EJB konténer  Apache Hadoop Programrendszerek fejlesztése


Letölteni ppt "UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 3. Átszövődő vonatkozások Dr. Bilicki Vilmos Szegedi Tudományegyetem."

Hasonló előadás


Google Hirdetések