1.
Bevezetés
-
Definíciók
-
Történelmi áttekintés
-
Architektúra alapok
Célkitűzés: megismertetni a hallgatókkal a
szoftverarchitektúrák tulajdonságait, jelentőségét és a megvalósított
szoftverrendszerekre való hatását. Alapfogalmak. Tervezési és architekturális
minták. Skálázhatóság, elosztottság, rendszerjellemzők.
2.
Szoftverarchitektúra
alapok
-
Az architekt szerepe
-
A szoftverarchitektúra célja és tervezési
lépései
-
Tipikus architektúra hibák
3.
Szoftverarchitekturális
minták
-
Motiváció
-
Minták csoportosítása: Szolgáltatáshozzáférés
és konfiguráció, eseménykezelés, konkurencia, szinkronizáció
-
Első csoport: Wrapper Facade, Component
Configurator, Interceptor, Extension Interface
Alapvető architekturális minták ismertetése
és illusztrálása. Objektumorientált csomagolás (Wrapper Facade).
Szolgáltatások konfigurálása (Component configurator).
Szolgáltatás-keretrendszerek bővítése transzparens módon (Interceptor). Az
interfészek egységes kezelése a hatékonyság érdekében (Extenstion Interface).
További minták.
4.
Eseménykezelési
minták
-
Reactor
-
Proactor
-
ACT
-
Acceptor-Connector
Architekturális minták ismertetése és
illusztrálása. Szolgáltatáskérések szétosztása (Reactor). Aszinkron műveletek
feldolgozása (Proactor). Aszinkron válaszok kezelése (Asynchronous Completion
Token). Szolgáltatások létrehozásának különválasztása (Acceptor-Connector). További
minták.
5.
Konkurenciakezelési
minták
-
Active Object
-
Monitor Object
-
Half Sync/Half Async
-
Leader-Followers
-
Thread Specific Storage
Architekturális minták ismertetése és
illusztrálása. Konkurens objektumok (Active Object). Szálbiztos passzív
objektumok (Monitor Object). Az aszinkron és szinkron
szolgáltatásfeldolgozások szétválasztása (Half Sync-Half Async). Nagy
teljesítőképességű többszálú szerverek (Leader/Followers). További minták.
6.
Szinkronizáció
minták, minták összefoglalása
-
Scoped Locking
-
Stragized Locking
-
Thread-Safe Interface
-
Double Checked Locking Optimization
-
Összefoglaló a minták kapcsolatáról
Architekturális minták ismertetése és
illusztrálása. A kontextus lehetőségeinek felhasználása automatikus
erőforrás-kezelésre (Scoped Locking). Parametrizált szinkronizálási
mechanizmusok (Strategized Locking). Komponensen belüli szinkronizáció
(Thread-Safe Interface). Megosztott erőforrások többszálú hozzáférése
(Double-Checked Locking Optimazation).
7.
Rétegezett
architektúrák,
-
Alapvető architekturális minták: MVC,
Document/View, Rétegelés
-
Tervezési szemlélet követelményei
-
A szoftverrétegek tervezési kérdései
A rétegezés szerepe, a
réteghatárok definiálása. Többrétegű architektúrák. Szakterület logika
(domain logic) kategorizálása. Webes megjelenítés. Relációs adatbázisok
kezelése. Konkurenciakezelés. Elosztási stratégiák. Teljesítmény és egyéb
jellemzők.
8. Esettanulmány
Az esettanulmány célja,
hogy szemléltető példán keresztül illusztráljuk a minták használatát és az
előzőekben ismertetett témakörök felhasználása egy konkrét rendszerben. Igyekszünk
meghívott ipari szakembert hívni minden esettanulmány alkalomra.
9. Felhő
architektúrák
Architekturális
kihívások a felhő alapú fejlesztések esetén, minőségi kritériumok, A felhő
alapú fejlesztés specifikus, gyakran előforduló tervezési minták ismertetése
pl. Backends for Frontends, Circuit Breaker, Static Content Hosting, stb.
10. Mikroszolgáltatások
architektúra
A mikroszolgáltatások
alapú fejlesztések architekturális kihívásai. A használatához kapcsolódó előnyök
és következmények, valamint a teljesítmény, a megbízhatóság és rendelkezésre
állási kérdések.
11. Esettanulmány
A felhő alapú
fejlesztést és a mikroszolgáltatásokat szemléltető példa tárgyalása.
12. Az architektúra
dokumentálási kérdései
-
Szoftver dokumentáció alapkérdései
-
Célok, szereplők, feladatok
-
Szoftver architektúrák dokumentálása
13. Architekturális
módszertanok
-
Top 4 Enterprise Architecture methodologies (mindig
az aktuális módszerek) pl:
-
Zachman Framework
-
TOGAF
-
Federal Enterprise Architecture
-
Gartner Methodology
14. Szoftver
rendszerek teljesítmény és performancia tuningolási kérdései
-
Teljesítmény értékelési szempontok
-
Teljesítmény modellek
-
Tuningolási lehetőségek
15. Integrációs
megoldások
Integrációs megoldások ismertetése és
illusztrálása. Rendszerintegrációs típusok. Üzenetalapú rendszerek.
Rendszermenedzsment kérdések. Integrációs minták. Egyéb integrációs minták.
16. Esettanulmány
Módszertanok, teljesítmény tuningolási
kérdések, Integrációs megoldások illusztrálása példán keresztül.
17. Elosztott
rendszerek architekturális kérdései
Elosztott rendszerek
elméleti alapjai, elosztott informatikai rendszerek tervezése és fejlesztése,
elosztott rendszerek felépítéséhez szükséges alapszolgáltatások, Komponens és
szolgáltatás alapú fejlesztés architekturális kérdései.
18. Tipikus
elosztott rendszerek architektúrák, Middleware szolgáltatások
Middleware
szolgáltatások, gyakran előforduló Elosztott architektúrák összehasonlítása
alkalmazási területeik. Rugalmas IT architektúrák.
19. Elosztott
adatkezelés
Elosztott
adatfeldolgozás előnyei, felhasználási módja, az átlátszóság szerepe az
elosztott adatfeldolgozásban.
20. Autonóm
Informatikai rendszerek
Autonom Computing Vision
ismertetése, Az autonómia attribútumai, Intelligens hurok definíciója és
szerepe az autonóm rendszerekben. Az előadás végén összegzésre kerülnek a
félév során tanultak.
|