A SZOFTVERTECHNOLÓGIA ALAPJAI
Architekturális tervezés, Osztott rendszerek 7. előadás PPKE-ITK
Tartalom 1. Az architekturális tervezés
1.1 A rendszerstruktúra meghatározása 1.2 Alrendszerek és modulok 1.3 Architektúra modellek
2. A rendszer strukturálása
2.1 Tárolási modell 2.2 Kliens-szerver modell 2.3 Absztrakt gép (réteges) modell
2. Vezérlési modellek
3.1 Központosított vezérlés 3.2 Eseményvezérelt rendszerek
2. Moduláris felbontás
4.1 Objektummodellek 4.2 Adatfolyam modellek
2. Szakterület specifikus architektúrák 5.1 Általános modellek 5.2Referenciamodellek
PPKE-ITK Szoftvertechnológia-2011
7/2
Kedvcsináló az architekturális tervezéshez
Architecture is making decisions. The life of a software architect is a long (and sometimes painful) succession of suboptimal decisions made partly in the dark. Grady Booch (Rational)
PPKE-ITK Szoftvertechnológia-2011
7/3
Ismétlés: a szoftvertervezés folyamata
Követelmény specifikáció
Tervezési tevékenységek
Architekturális tervezés
Rendszer architektúra
Specifikáció
Interfész tervezés
Komponens tervezés
Szoftver Interfész Komponens specifikáció specifikáció specifikáció
Adatstruktúra tervezés
Algoritmus tervezés
Adatstruktúra spec.
Algoritmus specifikáció
Tervezési eredmények
PPKE-ITK Szoftvertechnológia-2011
7/4
1. Az architekturális tervezés • Az architekturális tervezés az a tervezési folyamat, amelynek során kijelölik a rendszert alkotó alrendszereket és azt a keretrendszert, amely vezérli az alrendszereket és biztosítja közöttük a kommunikációt. • A folyamat végeredménye a szoftver architektúra, amely a tervezés alapjául szolgál.
PPKE-ITK Szoftvertechnológia-2011
7/5
1.1 A rendszerstruktúra meghatározása • A bonyolult rendszerek egymással lazán összefüggő részfeladatokból állnak, amelyek önállóan végrehajthatók, de egymással vezérlési és adatcsere kapcsolatban állnak. • Példa: banki szolgáltató rendszer alrendszerei: – Központi feladatok: • Ügyfélnyilvántartás, könyvelés, számlavezetés, betétkezelés, hitelkezelés, kártyakezelés, vezetői információs rendszer, stb.
– Ügyfélkiszolgálással kapcsolatos feladatok: • Ügyfél tranzakciók: • Személyes kiszolgálás a bankfiókban, telefonos-, Internetes tranzakciók, kártyás vásárlások, ATM, pénzforgalom, hitelezés, értékpapír forgalom, stb. (egyéni- és vállalati ügyfelek számára) • Bankközi tranzakciók: – Átutalások, hitelek, fedezet-igazolás, értékpapír-műveletek, stb.
PPKE-ITK Szoftvertechnológia-2011
7/6
Az architekturális tervezés • A rendszertervezés folyamatának kezdeti lépcsőfoka. Feladata: – Összekötni a specifikáció és a tervezés folyamatát. – Kialakítani a rendszer alapvető struktúráját és azt a keretrendszert, amely a rendszert egységbe foglalja és működését irányítja.
• Gyakran egyes specifikációs tevékenységgekkel párhuzamosan végezhető. • Magába foglalja a fő rendszerkomponensek és azok vezérlésének, valamint kommunikációjának meghatározását.
PPKE-ITK Szoftvertechnológia-2011
7/7
A jól megtervezett architektúra előnyei • A tervezői megbeszélések alapját képezi – A tervezés kulcsszereplői számára érthetővé teszi a rendszer vázát.
• Támogatja a kritikus kérdések korai elemzését – Az architektúra terv alapján megítélhető, hogy a rendszer eleget fog-e tenni olyan kritikus követelményeknek, mint a teljesítmény, megbízhatóság, karbantarthatóság, skálázhatóság.
• Megalapozza az újrafelhasználhatóságot – Az alrendszerekre bontás és azok fő tulajdonságainak meghatározása lehetőséget ad újrafelhasználható komponensek kifejlesztésére (vagy felhasználására), termékcsaládok kidolgozására, amelyben az azonos feladatokat újrafelhasználható komponensek oldják meg. PPKE-ITK Szoftvertechnológia-2011
7/8
Az architekturális tervezés tevékenységei • A rendszer strukturálása – A rendszert több alrendszerre bontjuk és azonosítjuk a kommunikációs igényeket az alrendszerek között.
• A vezérlés modellezése – Általános modell készül a rendszer részei közötti vezérlési kapcsolatokról.
• Moduláris felbontás – Az azonosított alrendszerek modulokra bontása és a modulok közti kapcsolatok azonosítása.
A tevékenységek többnyire nem szekvenciálisan, hanem páthozamosan folynak.
PPKE-ITK Szoftvertechnológia-2011
7/9
1.2 Alrendszerek és modulok • Alrendszer – Az alrendszer olyan – szolgáltatásaik alapján – egységként kezelhető komponensek rendszere, amely önállóan oldja meg feladatát. – Modulokból, vagy más alrendszerekből áll, szabványos interfészen keresztül veheti igénybe más alrendszerek szolgáltatásait.
• Modul – Olyan rendszer-komponens, amely szolgáltatás(oka)t nyújt más moduloknak és igénybe veszi mások szolgáltatásait, de nem tekinthető független alrendszernek. – Más, egyszerűbb modulokból (komponensekből) áll.
PPKE-ITK Szoftvertechnológia-2011
7 / 10
1.3 Architektúra modellek • Az architekturális tervezés során architektúra modellek készülnek, amelyek különböző nézőpontokból ábrázolják a rendszer architektúráját: – Statikus szerkezeti modell A különálló alrendszereket és rendszerkomponenseket ábrázolja. – Dinamikus folyamatmodell Megmutatja, hogy a rendszer hogyan szerveződik folyamatokba működése alatt. – Interfészmodell Az alrendszerek közötti interfészeket ábrázolja. – Kapcsolatmodell Az alrendszerek közti adatfolyammal mutatja be a kapcsolatokat.
PPKE-ITK Szoftvertechnológia-2011
7 / 11
Architekturális stílusok • Egy rendszer architekturális modellje legtöbbször valamilyen általános modellezési stílus szerint készül. • Ilyen stílusok alkalmazása egyszerűbbé és egységesebbé teszi a rendszerarchitektúra definiálását. • A heterogén, nagy rendszerek architektúrája azonban nem ábrázolható egységes stílusban. Az eltérő funkciójú részek eltérő modellezést kívánnak. • A tervezőknek kell megtalálniuk a feladatra leginkább alkalmas modellezési stílust.
PPKE-ITK Szoftvertechnológia-2011
7 / 12
Az architektúra és a követelmények • A rendszer architektúrája kihat a nem-funkcionális rendszerkövetelmények kielégítésére, így meghatározza a: – Teljesítményt: Egy rendszer teljesítménye jobb lesz, ha nagyméretű modulokból áll, mert kevesebb kommunikáció zajlik a modulok között. – A védelmet: A jobb védelem érdekében rétegezett szerkezetet célszerű alkalmazni, a kritikus rendszerelemeket a legbelső rétegben elhelyezve. – A biztonságot: A biztonsággal kapcsolatos műveletek egy, vagy néhány alrendszerben legyenek. – A rendelkezésre állást: Redundáns komponensek alkalmazásával növelhető. – A karbantarthatóságot: Sok önálló, könnyen változtatható komponensből kell felépülnie. PPKE-ITK Szoftvertechnológia-2011
7 / 13
2. A rendszer strukturálása • A rendszer együttműködő alrendszerekké való felbontása. • Az architektúra terv általában egyszerű blokkdiagram formájában ábrázolja a rendszer (mindenki által megérthető) struktúráját. • Részletesebb modellek is alkalmazhatók, amelyek megmutatják: – Hogyan osztják meg egymás közt az alrendszerek az adatokat, – Hogyan kommunikálnak egymással.
PPKE-ITK Szoftvertechnológia-2011
7 / 14
Egy csomagoló robot vezérlő rendszere Képalkotó rendszer Tárgyfelismerő
Karvezérlő
Megfogó vezérlő
Csomagolási mód kiválasztó Csomagoló rendszer PPKE-ITK Szoftvertechnológia-2011
Szállítószalag 7 / 15
2.1 Tárolási modell • Az alrendszerek két módon cserélhetnek információt egymással: – A megosztott adatok egy központi adatbázisban vannak, amelyet minden alrendszer elérhet. Ez a tárolási modell (repository). – Minden alrendszernek van saját adatbázisa, és az alrendszerek üzenetek formájában cserélnek adatokat.
• A nagy adatmennyiséggel dolgozó rendszerek legtöbbször osztott adatbázis köré szervezett alrendszerekkel dolgoznak. • Ilyenek például a nagy, vállalatirányítási rendszerek, CASE és CAD rendszerek, stb.
PPKE-ITK Szoftvertechnológia-2011
7 / 16
Példa: Integrált vállalatirányítási rendszer Személyügyi rendszer Beszerzési rendszer
Termeléstervezés
PPKE-ITK Szoftvertechnológia-2011
Vezetői információs rendszer Központi adatbázis
Termelés irányítás
Pénzügyi rendszer Értékesítési rendszer
Termékfejlesztés
7 / 17
Megosztott tárolók alkalmazása Előnyök: • Nagytömegű adat esetén hatékonyabb, mert nem kell explicit módon átvinni az adatokat egyik alrendszerből a másikba. • Az alrendszereknek nem kell foglalkozniuk azzal, hogyan keletkeztek az adatok. • A védelem, biztonsági mentések, hozzáférés szabályozása, a visszaállítás, stb. központi funkcióként oldható meg. • Tárolási sémán keresztül publikálható a megosztottság modellje (új alrendszerek integrálhatók, ha a modell megfelelő)
PPKE-ITK Szoftvertechnológia-2011
7 / 18
Megosztott tárolók alkalmazása Hátrányok: • Az alrendszereknek közös – kompromisszumos adatmodellt kell használniuk (teljesítmény) • Az alrendszereknek törődniük kell azzal, hogy a többi alrendszer hogyan fogja használni az adatokat. • Az egyes alrendszerek eltérő követelményeket támasztanak a védelem, helyreállítás, stb. közös funkciókkal szemben (pl. tranzakciók visszagörgetése) • Nagyon bonyolult lehet az adatbázis elosztása több gép között. A nagy adatbáziskezelő rendszerek tartalmaznak eszközöket a megosztásra, ezek azonban nagy erőforrásokat igényelnek. PPKE-ITK Szoftvertechnológia-2011
7 / 19
2.2 Kliens-szerver architektúra Olyan osztott rendszermodell, amely bemutatja hogyan oszlanak meg az adatok és a feldolgozások a komponensek között. Elemei: • Szerverek: Adatkezelő szerverek, nyomtatószerverek kommunikációs szerverek, stb. • Kliensek: Többnyire önálló alrendszerek, amelyek hozzáférnek a szerverek szolgáltatásaihoz. Egyszerre sok példányban futnak. - Vékony kliens (böngésző, szkriptekkel) - Vastag kliens (komplett kis alrendszer, helyi adatokkal)
• Hálózat: A klienseknek biztosít hozzáférést a szerverek szolgáltatásaihoz. PPKE-ITK Szoftvertechnológia-2011
7 / 20
Példa: multimédiás könyvtári rendszer 1. kliens
2. kliens
3. kliens
4. kliens
Szélessávú hálózat
Katalógusszerver katalógus
PPKE-ITK Szoftvertechnológia-2011
Videoszerver Videoállományok
Képszerver Digitalizált fényképek
Hypertext szerver Hypertext web
7 / 21
A klens-szerver arhitektúra jellemzői • Jellemzője, hogy a szerverek általában maguk kezelik az adataikat. • Előnyök: – Jól strukturált osztott architektúra. – Könnyen kiegészíthető új szerverrel (új funkcióval). – Alacsonyabb hardver követelményei vannak.
• Hátrányok: – Nincs megosztott, közös adatmodell, mindegyik alrendszer a saját szempontjai miatt kialakított adatmodellt használja (ez előny a teljesítmény szempontjából). – Redundáns adatkezelés folyik minden szerverben. – Nincs központi név- és szolgáltatás nyilvántartás, nehéz megtalálni, hogy milyen szerverek és szolgáltatások léteznek.
PPKE-ITK Szoftvertechnológia-2011
7 / 22
2.3 Absztrakt gép modell (réteges modell) • Az alrendszerek funkcióinak csoportosítására és a lévő interfészek modellezésére használják. • Rétegekbe (absztrakt gépekbe) szervezi a rendszert, amelyek mindegyike adott szolgáltatásokat végez. • Támogatja az egyes alrendszerek inkrementális fejlesztését. Az egyes rétegek egyszerűen kicserélhetők, csak az interfészek szabályait kell betartani, de annak változtatásához is csak a két szomszédos réteget kell módosítani. • Előnye, hogy mivel a hardvert, operációs rendszert a belső rétegekbe zárja, könnyen adaptálható különböző platformokra. (protokoll modellek:ISO-OSI) • Hátránya: strukturálása bonyolult, egy külső réteg csak a közbensőkön keresztül férhet hozzá a legbelsőkhöz.
PPKE-ITK Szoftvertechnológia-2011
7 / 23
Réteges modell példa: verziókezelő rendszer Verziókezelés Objektumkezelés Adatbáziskezelő Operációs rendszer
PPKE-ITK Szoftvertechnológia-2011
7 / 24
3. Vezérlési modellek • A strukturális rendszermodellek az alrendszerekre való felbontást ábrázolják, nem tartalmaznak vezérlési információkat. • A vezérlési modellek az alrendszerek közötti vezérlési folyamatokat modellezik. • Központosított vezérlés: – Egy alrendszer végzi a teljes rendszer vezérlését, indítja, leállítja, stb. a többi alrendszert.
• Esemény alapú vezérlés: – Minden alrendszer reagálhat az őt érintő külső vagy más alrendszer által generált eseményekre. PPKE-ITK Szoftvertechnológia-2011
7 / 25
3.1 Központosított vezérlés • Hívás-visszatérés modell: – Fa-struktúrájú modell, ahol a csúcson van a vezérlő alrendszer. A vezérlés hívások sorozatán keresztül jut el a modulokhoz. – Szekvenciális rendszerekhez alkalmazható (pl. listafeldolgozás, listázás, jelentésgenerálás).
• Kezelő modell: – Konkurens rendszerek modellezésére alkalmas. Egy központi rendszerkomponens koordinálja, indítja, állítja le a rendszerfolyamatokat (komponenseket, vagy alrendszereket), amelyek párhuzamosan is végrehajthatók. – Alkalmazható szekvenciális rendszerekben is, ahol a vezérlő modul állapotváltozók értéke alapján hívja meg az egyes alrendszereket. PPKE-ITK Szoftvertechnológia-2011
7 / 26
3.2 Eseményvezérelt rendszerek • A környezet által generált események irányítják a rendszert. Az esemény nemcsak bináris jel, hanem érték változása is lehet. Az esemény időzítése az eseményt feldolgozó alrendszer hatályán kívül esik. • Broadcast modell: – Az eseményről mindegyik alrendszer értesül, és az reagál rá, amelyiknek ez a feladata.
• Megszakításvezérelt modell: – Valós idejű rendszerek modellje, ahol egy megszakítás-kezelő észleli az eseményt és elindítja az esemény feldolgozásáért felelős alrendszert.
• Eseményvezérelt rendszer lehet pl. egy táblázatkezelő is, ahol egy cella értékének megváltozása más cellákat is megváltoztat, vagy más alrendszert aktivizál. PPKE-ITK Szoftvertechnológia-2011
7 / 27
Eseményvezérelt rendszerek 1. alrendsz.
roadcast modell
2. alrendsz.
3. alrendsz.
4. alrendsz.
Esemény- és üzenetkezelés
egszakításvezérelt modell
Megszakítások Megszakítás vezérlő
1.handler
2.handler
3.handler
4.handler
1. processz.
2. processz
3. processz.
4. processz.
PPKE-ITK Szoftvertechnológia-2011
7 / 28
4. Moduláris felbontás • Az alrendszerek modulokra való bontása az architektúra tervezésének következő fázisa. Modelljei: • Objektummodellek: – A rendszer felbontása együttműködő objektumokra. A modulok egyéni állapottal és az állapotokon értelmezett műveletekkel rendelkeznek.
• Adatfolyam-modellek: – A rendszer felbontása funkcionális modulokra, amelyek az inputokat outputokká transzformálják (csővezeték modellnek is nevezik). A modulok funkcionális transzformációk.
• Mindkét modell szekvenciális feldolgozás modellezésére alkalmas. • A döntést a konkurencia alkalmazásáról minél később kell meghozni. • A párhuzamos feldolgozást (bonyolultsága miatt) célszerű kerülni, ahol lehet. PPKE-ITK Szoftvertechnológia-2011
7 / 29
4.1 Objektummodellek • A rendszert jól definiált interfészekkel rendelkező, lazán csatolt objektumokra bontja, amelyek egymás szolgáltatásait veszik igénybe. • Az objektum orientált felbontás az objektum osztályok, attribútumaik és műveleteik azonosítását (felismerését és helyes modellezését) jelenti. • Az implementáció során az objektumok ezekből az osztályokból jönnek létre. A objektumok műveleteinek koordinálását valamilyen vezérlési modellel ábrázolják.
PPKE-ITK Szoftvertechnológia-2011
7 / 30
Egy számlafeldolgozó rendszer objektummodellje
PPKE-ITK Szoftvertechnológia-2011
7 / 31
4.2 Adatfolyam-modellek • Az adatfolyam modellben az inputot funkcionális transzformációk dolgozzák fel és ennek eredményeként állítják elő az outputot. • Tulajdonképpen megegyezik a UNIX shell a „pipe and filter” modelljével. • Régóta alkalmazzák az adatfeldolgozási rendszerek modellezésére. (kötegelt, szekvenciális adatfeldolgozás esetén) • Interaktív rendszerek modellezésére nem alkalmas.
PPKE-ITK Szoftvertechnológia-2011
7 / 32
Adatfolyam-modell • Előnyök: – – – –
Segíti a transzformációk újrafelhasználhatóságát, Könnyen érthető, Viszonylag egyszerűen bővíthető új transzformációval Szekvenciális és konkurens rendszerhez egyaránt használható.
• Hátrányok: – Nem tartalmazza az adattovábbítás formátumát, nincs mód egy közös adatformátum ábrázolására, – Interaktív rendszerek modellezésére nem alkalmas. A grafikus felhasználói felületek és a menürendszer, az egérkattintás eseményei nem modellezhetők így.
PPKE-ITK Szoftvertechnológia-2011
7 / 33
A számlafeldolgozás adatfolyam modellje
Kibocsátott számlák beolvasása
Számlák
Nyugták kiadása
Nyugták
Fizetések esedékessége
Fizetési felszólítás
Befizetések azonosítása
Befizetések Felszólítások
PPKE-ITK Szoftvertechnológia-2011
7 / 34
5. Szakterület-specifikus architektúrák • Olyan architekturális modellek, amelyek valamely szakterület alkalmazásaira jellemző általános tulajdonságok figyelembe vételével készültek. • Típusai: – Általános modellek: Egy adott szakterület számára megvalósított rendszerek fő jellemzőit tartalmazzák, általában „buttom-up” készülnek. A tervezéskor újrafelhasználhatók. – Referenciamodellek: Absztrakt, idealizált modellek, a rendszerek nagyobb osztályait írják le, általában „top-down” készülnek. A szakterületi fogalmak közlésére, a lehetséges architektúrák összehasonlítására használhatók. PPKE-ITK Szoftvertechnológia-2011
7 / 35
5.1 Általános modellek • Sok szakterületen vannak olyan feladatok, amelyekre már ezrével készültek programok. Például a fordítóprogramok, vagy a főkönyvi rendszerek esetében már kialakult, hogy milyen modulokból állnak. • Egy fordítóprogramnak tartalmaznia kell: – – – – – –
Lexikális elemzőt Szimbólumtáblát Szintaktikai elemzőt Szintaxisfát Szemantikai elemzőt Kódgenerátort
• Az általános fordítóprogram-modell a különböző architekturális modellekkel leírható.
PPKE-ITK Szoftvertechnológia-2011
7 / 36
Fordítóprogram adatfolyam-modell Szimbólumtábla
Lexikális elemzés
Szintaktikai elemzés
Szemantikai elemzés
Kódgenerálás
A fordítóprogramok lexikális, szintaktikai és szemantikai elemzése szekvenciálisan szervezhető, megosztott szimbólumtáblát alkalmaz. Ennek ábrázolására az adatfolyam modell alkalmas. PPKE-ITK Szoftvertechnológia-2011
7 / 37
Nyelvfeldolgozó rendszer tárolási modellje Lexikális elemző
Szintaktikai elemző
Szemantikai elemző
Programkód formázó
Absztrakt szintaxisfa
Nyelvtani definíciók
Optimalizáló
Szerkesztő
Szimbólumtábla
Output definíciók
Kódgenerátor
Tároló PPKE-ITK Szoftvertechnológia-2011
7 / 38
5.2 Referenciaarchitektúrák • A referenciamodellek inkább a szakterület tanulmányozása nem pedig meglévő rendszerek alapján készülnek. • A rendszerek implementációjának alapjául szolgálhatnak, de alkalmasak különböző rendszerek összehasonlítására is. • Idealizáltak, a rendszerek általános tulajdonságait mutatják be. • Az ISO OSI referencia modellje a legismertebb példa a referencia-architektúrákra.
PPKE-ITK Szoftvertechnológia-2011
7 / 39
Az ISO OSI 7 rétegű referenciamodellje Alkalmazási
Alkalmazási
Megjelenítési
Megjelenítési
Viszony
Viszony
Szállítási
Szállítási
Hálózati
Hálózati
Hálózati
Adatkapcsolati
Adatkapcsolati
Adatkapcsolati
Fizikai
Fizikai
Fizikai
Kommunikációs közeg PPKE-ITK Szoftvertechnológia-2011
7 / 40
Osztott rendszerek
Osztott rendszerek • A hálózatok terjedésével lassan minden rendszer (még a beágyazott rendszerek is) más rendszerekkel kapcsolatban működik. (Eltűnnek az egyedülálló rendszerek?) • Az osztott rendszerek jellemzői:
– Erőforrásmegosztás (oda kell fordulni, ahol létezik a kívánt szolgáltatás : WebServices!) – Nyíltság (többféle hw/sw szállító termékeit tartalmazzák) – Konkurencia (az egyes gépekben párhuzamos folyamatok mennek végbe, amelyek időnként kommunikálnak és szinkronizálják egymást) – Skálázhatóság – Hibatűrés – Átlátszóság (a felhasználó nem látja, hogy osztott rendszerrel van kapcsolatban) de esetenként szükség van arra, hogy a felhasználó tisztában legyen vele, honnan vesz igénybe erőforrásokat, szolgáltatásokat (pl. web-w-es alkalmazások nagy része)
PPKE-ITK Szoftvertechnológia-2011
7 / 42
Az osztott rendszerek hátrányai • Bonyolultság – nehezebb a rendszer és tulajdonságinak (pl. teljesítmény) tervezése, – karbantartási nehézségek, stb.
• Kezelhetőség – a különböző hardver és operációs rendszer operálása nagy nehézségeket okozhat.
• Biztonság – az osztott rendszer biztonságát sokszor szintén elosztva kell megoldani. (segítenek a modern rendszerek, pl. SSO (single-sign-on) megoldásai)
PPKE-ITK Szoftvertechnológia-2011
7 / 43
Osztott rendszerek tervezési kérdései • Erőforrások azonosítása – Névkonvenciókra van szükség, hogy megtalálhatók és hivatkozhatók legyenek az erőforrások (pl. interneten URL)
• Kommunikáció – Az internet, TCP/IP sok mindenre megfelelő, de néha speciális kommunikációs protokollokra van szükség (valósidejű közvetlen kapcsolatok)
• A szolgáltatás minősége – Sok tényezőtől függ (hw, op.rendszer/ek, architektúra: erőforrások elosztása, hálózat, a rendszer rugalmassága)
• Szoftverarchitektúra – A funkciók elosztása a rendszer logikai komponensei között, ezek eloszlása a hardver erőforrások között (pl. adatbázis szerver önmagában többprocesszoros rendszeren futhat.) – A logikai komponensek között köztes szolgáltatásra (middleware) van szükség. PPKE-ITK Szoftvertechnológia-2011
7 / 44
Többprocesszoros architektúrák • A legegyszerűbb osztott rendszermodell: a különböző folyamatok külön processzorokon futnak. • Példa: ipari folyamatirányítás
Érzékelő processzor
Érzékelők
PPKE-ITK Szoftvertechnológia-2011
Feldolgozó irányító kezelő processzor
Operátori konzolok
Vezérlő processzor
Beavatkozó szervek
7 / 45
Kliens-szerver architektúrák • A klienseknek tudniuk kell a szolgáltatásokról (szerverekről), de egymásról nem kell tudniuk. • A kliens-szerver architektúrának az alkalmazás logikai szerkezetét kell tükröznie (és nem a fizikai gépeket)
Szerver 1
PPKE-ITK Szoftvertechnológia-2011
Hálózat
Kliensek
Szerver 2
7 / 46
Réteges architektúrák • A funkciók szerinti megosztásban két- illetve három rétegű architektúrák vannak. A rétegek: – Megjelenítés – Alkalmazás – Adatkezelés
Megjelenítési
Alkalmazási
réteg
réteg
Vékony kliens
PPKE-ITK Szoftvertechnológia-2011
Adatbázis kezelő réteg
Vastag kliens 7 / 47
A megfelelő architektúra kiválasztása Architektúra
Alkalmazás típusok
Vékony kliens kétrétegű szerver
Ősrendszerek, az adatkezelés és az alkalmazás nem szétválasztható Intenzív számítást igénylő rendszerek. Intenzív adatkezelést igénylő alkalmazások (lekérdezés, böngészés), kevés alkalmazási logikával.
Vastag kliens kétrétegű szerver
A kliens oldalon COTS működik (pl. Excel, vagy kis, helyi DB). Intenzív számítást és pl. grafikus megjelenítést igénylő rendszerek (pl. vezetői információs rendszer). Stabil, ritkán változó felhasználói funkciók.
Vékony kliens, három, vagy többrétegű szerver
Sok (száz/ezer) különféle klienst igénylő rendszerek. Több forrásból származó adatok integrálását végző alkalmazások. Gyakran változó alkalmazások.
PPKE-ITK Szoftvertechnológia-2011
7 / 48
Többrétegű architektúra Extra Intelligencia - Üzleti (BI), - Mesterséges (AI)
Munkafolyamat kezelés (workflow) B2B Vállalat i Portál Perszonalizáció Intranet (Internet)
Kategorizálás Keresés Akalmazás Szerver
Tartalom kezelés
PPKE-ITK Szoftvertechnológia-2011
Új alkalmazások
Integrációs Bróker
Legacy Csatolás Akalmazás Szerver
Akalmazás Szerver
Legacy
DBMS DBMS
SAP, Siebel
DBMS DBMS
Notes
DBMS DBMS
...
DBMS DBMS
Doku. kezelés
7 / 49
Összefoglalás •
• • •
A szoftver architektúra a rendszer strukturálásának eszköze. Az architekturális tervezés eredményei az architekturális modellek: strukturális, vezérlési és felbontási modell. Nagy rendszerek tervezésekor általában többféle modellt kell alkalmazni. A rendszer felbontásának modelljei: tárolási modellek, kliens-szerver modellek, absztrakt gép (réteges) modellek. A vezérlési modellek lehetnek központosított, vagy eseményvezérelt modellek.
PPKE-ITK Szoftvertechnológia-2011
7 / 50
Összefoglalás • A moduláris felbontási modellek: az adatfolyam- és az objektummodellek • A szakterület specifikus architekturális modellek a terület alkalmazási rendszereinek absztrakciói, vagy a felhasználási terület idealizált referencia modelljei. • A referenciamodellre példa az ISO-OSI referenciamodell.
PPKE-ITK Szoftvertechnológia-2011
7 / 51