Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaAdél Fazekasné Megváltozta több, mint 9 éve
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 2015. 04. 01.2 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 2015. 04. 01.3 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 ■… 2015. 04. 01.4 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 2015. 04. 01.5 Programrendszerek fejlesztése
6
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Kontextus 2015. 04. 01.6 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 2015. 04. 01.11 Programrendszerek fejlesztése
12
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Kontextus kiszolgáló 2015. 04. 01.12 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 2015. 04. 01.14 Programrendszerek fejlesztése
15
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Egy minta architektúra 2015. 04. 01.15 Programrendszerek fejlesztése
16
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Egy bonyolultabb architektúra 2015. 04. 01.16 Programrendszerek fejlesztése
17
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Azonosítás Kód alapú Személy alapú 2015. 04. 01.17 Programrendszerek fejlesztése
18
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Megvalósítás 2015. 04. 01.18 Programrendszerek fejlesztése
19
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Jogosultságkezelés 2015. 04. 01.19 Programrendszerek fejlesztése
20
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Rendszerek között 2015. 04. 01.20 Programrendszerek fejlesztése
21
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS WS-* 2015. 04. 01.21 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 ■… 2015. 04. 01.22 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 2015. 04. 01.23 Programrendszerek fejlesztése
24
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Tranzakció 2015. 04. 01.24 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 2015. 04. 01.25 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 2015. 04. 01.26 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 ■… 2015. 04. 01.27 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 2015. 04. 01.28 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 2015. 04. 01.29 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) 2015. 04. 01.30 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? … 2015. 04. 01.31 Programrendszerek fejlesztése
32
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Perzisztencia 2015. 04. 01.32 Programrendszerek fejlesztése
33
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Menedzsment/Monitorozás 2015. 04. 01.33 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 …. 2015. 04. 01.34 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 2015. 04. 01.35 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 2015. 04. 01.36 Programrendszerek fejlesztése
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.