A SZOFTVERTECHNOLÓGIA ALAPJAI. Architekturális tervezés, Osztott rendszerek 7. előadás PPKE-ITK



Hasonló dokumentumok
Elosztott rendszer architektúrák

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

Objektumorientált felbontás

Vezetői információs rendszerek

Szoftverarchitektúrák 3. előadás (második fele) Fornai Viktor

Szoftver újrafelhasználás

Szolgáltatás Orientált Architektúra a MAVIR-nál

A prototípus gyors, iteratív fejlesztése azért nagyon fontos, mert a költségek így ellenırizhetık.

Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Szoftver architektúra, Architektúrális tervezés

Osztott Objektumarchitektúrák

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

Szoftverprototípus készítése. Szoftverprototípus készítése. Szoftverprototípus készítése

A SZOFTVERTECHNOLÓGIA ALAPJAI

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Nagy bonyolultságú rendszerek fejlesztőeszközei

Alkalmazások architektúrája

01. gyakorlat - Projektalapítás

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

A SZOFTVERTECHNOLÓGIA ALAPJAI

Bánsághi Anna 1 of 67

ADATBÁZISOK ADATBÁZIS-KEZELŐ RENDSZEREK. Debrenti Attila

Hálózati réteg. WSN topológia. Útvonalválasztás.

IBM felhő menedzsment

S01-7 Komponens alapú szoftverfejlesztés 1

vbar (Vemsoft banki BAR rendszer)

VÁLLALATI INFORMÁCIÓS RENDSZEREK. Debrenti Attila Sándor

30 MB INFORMATIKAI PROJEKTELLENŐR

Szoftvertechnológia ellenőrző kérdések 2005

VIR alapfogalmai. Előadásvázlat. dr. Kovács László

Tartalomjegyzék. 1. Bevezető Az információs rendszerek világa Az információs rendszerek felépítése... 31

NETinv. Új generációs informatikai és kommunikációs megoldások

Szoftverprototípus készítése

Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Web:

Komponens alapú fejlesztés

COMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group

Történet John Little (1970) (Management Science cikk)

SDL Trados szervermegoldások. Szekeres Csaba SDL Trados partner M-Prospect Kft.

Nyilvántartási Rendszer

Adattárház kialakítása a Szövetkezet Integrációban, UML eszközökkel. Németh Rajmund Vezető BI Szakértő március 28.

A szoftverfejlesztés eszközei

Információtartalom vázlata

CCS Hungary, 2000 szeptember. Handling rendszer technikai specifikáció

Parametrikus tervezés

Számítógépes munkakörnyezet II. Szoftver

Infor PM10 Üzleti intelligencia megoldás

TOGAF elemei a gyakorlatban

Programfejlesztési Modellek

DLM PULSE - PREDIKTÍV TÁRGYALÁS TÁMOGATÓ ALKALMAZÁS DLM PULSE

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert

Adatbázis rendszerek. dr. Siki Zoltán

Oracle9i Alkalmazás Szerver Üzleti folyamat integráció. Molnár Balázs Vezető értékesítési konzultáns Oracle Hungary

Az objektumorientált megközelítés elınye: Hátránya:

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon

Bevezetés a programozásba

Többfelhasználós és internetes térkép kezelés, megjelenítés

Banki informatika. Pázmány Péter Katolikus ITK. Kada Zsolt

SOA modell: Ez az interfész definiálja az elérhető adatokat, és megadja, hogy hogyan lehet azokhoz hozzáférni.

Üzleti folyamatok rugalmasabb IT támogatása. Nick Gábor András szeptember 10.

Objektum orientált software fejlesztés (Bevezetés)

Rendszermodernizációs lehetőségek a HANA-val Poszeidon. Groma István PhD SDA DMS Zrt.

Modell alapú tesztelés mobil környezetben

Operációs rendszerek. Bemutatkozás

Mobil szolgáltatások és alkalmazások fejlesztése

Informatika tagozat osztályozóvizsga követelményei

Multimédiás adatbázisok

Intelligens biztonsági megoldások. Távfelügyelet

Biztonsági folyamatirányító. rendszerek szoftvere

UML (Unified Modelling Language)

Csoportos üzenetszórás optimalizálása klaszter rendszerekben

10-es Kurzus. OMT modellek és diagramok OMT metodológia. OMT (Object Modelling Technique)

Rendszer-modellezés, modellezési technikák

Információ menedzsment

Fejlesztés, működtetés, felügyelet Hatékony infrastruktúra IBM szoftverekkel

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

S04-2 Elosztott alkalmazások készítése

Erőforrás gazdálkodás a bevetésirányításban

A szoftverfejlesztés eszközei

Tartalom. Konfiguráció menedzsment bevezetési tapasztalatok. Bevezetés. Tipikus konfigurációs adatbázis kialakítási projekt. Adatbázis szerkezet

Microsoft SQL Server telepítése

Járműinformatika A járműinformatikai fejlesztés

Üzleti architektúra menedzsment, a digitális integrált irányítási rendszer

Szakterületi modell A fogalmak megjelenítése. 9. fejezet Applying UML and Patterns Craig Larman

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Vállalati információs rendszerek I, MIN5B6IN, 5 kredit, K. 4. A meghirdetés ideje (mintatanterv szerint vagy keresztfélében):

Szoftver-technológia I.

S01-8 Komponens alapú szoftverfejlesztés 2

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Autóipari beágyazott rendszerek. Funkcionális biztonságossági koncepció

Számítógép architektúra

Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben. Ráth István

Nyílt forráskódú irodai programkomponensek vállalati környezetbe való integrációjának vizsgálata és implementációja

API tervezése mobil környezetbe. gyakorlat

Szoftver Tervezési Dokumentáció. Nguyen Thai Binh

A cloud szolgáltatási modell a közigazgatásban

Programozás alapjai Bevezetés

TANMENET 2018/2019. tanév

II. rész: a rendszer felülvizsgálati stratégia kidolgozását támogató funkciói. Tóth László, Lenkeyné Biró Gyöngyvér, Kuczogi László

Objektumorientált paradigma és programfejlesztés Bevezető

Átírás:

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 Specifikáció Interfész tervezés Komponens tervezés Adatstruktúra tervezés Algoritmus tervezés Rendszer architektúra Szoftver specifikáció Interfész specifikáció Komponens specifikáció 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 Megfogó vezérlő Csomagolási mód kiválasztó Csomagoló rendszer Tárgyfelismerő Karvezérlő Szállítószalag PPKE-ITK Szoftvertechnológia-2011 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 Vezetői információs rendszer Pénzügyi rendszer Beszerzési rendszer Központi adatbázis Értékesítési rendszer Termelés irányítás Termeléstervezés Termékfejlesztés PPKE-ITK Szoftvertechnológia-2011 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ógus Katalógusszerver Videoszerver Videoállományok Képszerver Digitalizált fényképek Hypertext szerver Hypertext web PPKE-ITK Szoftvertechnológia-2011 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 oadcast modell gszakításvezérelt modell 1. alrendsz. 2. alrendsz. 3. alrendsz. 4. alrendsz. Esemény- és üzenetkezelés 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 Nyugták kiadása Nyugták Kibocsátott számlák beolvasása Befizetések azonosítása Fizetések esedékessége Fizetési felszólítás Számlák 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 Viszony Szállítási Hálózati Fizikai Hálózati Megjelenítési Adatkapcsolati Fizikai Kommunikációs közeg Alkalmazási Adatkapcsolati Viszony Szállítási Hálózati Adatkapcsolati Megjelenítési Fizikai 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 Feldolgozó irányító kezelő processzor Vezérlő processzor Érzékelők Operátori konzolok Beavatkozó szervek PPKE-ITK Szoftvertechnológia-2011 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 Hálózat Szerver 2 Kliensek PPKE-ITK Szoftvertechnológia-2011 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 Alkalmazási Megjelenítési réteg réteg Adatbázis kezelő réteg Vékony kliens Vastag kliens PPKE-ITK Szoftvertechnológia-2011 7 / 47

A megfelelő architektúra kiválasztása Architektúra Vékony kliens kétrétegű szerver Vastag kliens kétrétegű szerver Vékony kliens, három, vagy többrétegű szerver Alkalmazás típusok Ő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. 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. 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 Intranet (Internet) Vállalat i Portál Perszonalizáció Kategorizálás Keresés Akalmazás Szerver Új alkalmazások Legacy Csatolás Akalmazás Szerver Integrációs Bróker Akalmazás Szerver Legacy SAP, Siebel Notes... DBMS DBMS DBMS DBMS Tartalom kezelés Doku. kezelés PPKE-ITK Szoftvertechnológia-2011 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