Komponens-absztrakció. Objektum-orientált paradigma korlátai Feltételezés az interfészekről: 1. öröklés és aggregáció alkalmazható, 2. közös programozási.

Slides:



Advertisements
Hasonló előadás
Összefoglalás Hardver,szoftver,perifériák Memóriák fajtái
Advertisements

ADATBÁZISOK.
Adatbázis gyakorlat 1. Szerző: Varga Zsuzsanna ELTE-IK (2004) Budapest
Kliens-szerver architektúra
Programozás III OOP ALAPOK.
Á GENS ALAPÚ TECHNOLÓGIÁK Tar Péter 1. M IK IS AZOK AZ ÁGENSEK ? Többféleképp definiálhatjuk az ágenseket:  Az ágensek olyan egymással kommunikáló és.
Rendszerfejlesztés.
1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék IT rendszerek modellezése Micskei Zoltán
IT infrastruktúra modellezése
13.a CAD-CAM informatikus
OBJEKTUMORIENTÁLT PROGRAM
Vizuális modellezés Uml és osztálydiagram UML eszközök
Bevezetés a J2EE világába
Osztott alkalmazások kezelése. VIR elosztott architektúra indítékai: - meglévő komponensek integrációja - WEB / Internet elterjedése (nemzetköziség) -
WEB Technológiák Coldfusion ME Általános Informatikai Tsz. dr. Kovács László.
WSDL alapismeretek A WSDL (Web Services Description Language – Web szolgáltatások leíró nyelv) egy XML-alapú nyelv a Web szolgáltatások leírására és azok.
Az ACIS modellező rendszer Dr. Horváth László. Alapvető jellemzők A Spatial Technology Inc. terméke. Objektum orientált és kereskedelmi modellező alapját.
A virtuális technológia alapjai Dr. Horv á th L á szl ó Budapesti Műszaki Főiskola Neumann János Informatikai Kar, Intelligens Mérnöki Rendszerek.
A modellező rendszerek közötti adatcsere és szabványai Budapesti Műszaki Főiskola Neumann János Informatikai Főiskolai Kar A Műszaki Tervezés Rendszerei.
A CAD/CAM modellezés alapjai
Hasonlóságelemzés COCO használatával a MY-X elemzőben
Szoftvertechnológia Rendszertervezés.
Bevezetés az ebXML-be Forrás: An Introduction to ebXML ebXML and Web Services Practical Considerations In Implementing Web Services Romin IraniRomin Irani.
WEB MES (webes gyártásirányító rendszer)
ESzabványok Workshop 1. előadás: Bevezető, eAdatmodell október 13.
1 Operációs rendszerek Az NT folyamatok kezelése.
A valós világ modellezése. Az embert a valós világ modellezésekor a következő gondolatok vezérlik: Absztrakció Megkülönböztetés Osztályozás Általánosítás,
OAIS. Megőrzés feladatai Viability –Meg kell őrizni a bitfüzér változatlanságát és olvashatóságát a tároló eszközön Rendbebility –Meg kell őrizni a bitfüzér.
Objektumorientált adatbázisok és szabványok Ispány Márton.
Anyagadatbank c. tárgy gyakorlat Féléves tematika Adatbázis alapfogalmak, rendszerek Adatmodellek, adatbázis tervezés Adatbázis műveletek.
1Objektumorientált elemzés és tervezés - Alapfogalmak Gyurkó György Objektumorientált elemzés és tervezés Alapfogalmak.
Objektumorientált tervezés és programozás II. 3. előadás
A CORBA Rudics Attila 541. Bevezetés Probléma: A nagy számítógépes hálózati rendszerek heterogenitása -különféle architektúrájú számítógépek -különféle.
LOGO Webszolgáltatások Készítette: Kovács Zoltán IV. PTM.
AICC, IEEE, SCORM, fogalmak. Tananyagok cseréje (export-import) Támogatja az együttműködéseket Támogatja a felhasználóbarát környezet kialakítását Megoldja.
Adatbázis-kezelés JAG,
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Objektumorientált programozás
Objektumorientált tervezés
Objektumorientált tervezés Út az objektumig Az objektum fogalma, jellemzői Objektummal kapcsolatos fogalmak Hardverfogalmak A rendszer modell nézetei Objektumorientált.
SICStus Objects Objektum orientált kiterjesztés a SICStus Prolog nyelvhez Pereszlényi Attila Az előadás.
Adatbázis-kezelés.
Java web programozás 11..
Enterpise JavaBeans Simon Balázs
XML Mi az XML?  Extensible Markup Language  Kiterjeszthető jelölő nyelv  Adatok, adatstruktúrák leírására szolgál  A HTML és az SGML tapasztalataira.
Objektumvezérelt rendszerek tervezése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Okostelefon köztesréteg Dr. Bilicki Vilmos Szegedi Tudományegyetem.
Az OSI modell 3. fejezet.
Adamkó Attila UML2 Adamkó Attila
Komponens alapú programozásKompAlap Komponens alapú programozás Bevezetés Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék Ez a tananyag felhasználja.
Szoftver születik Eötvös Konferencia Köllő Hanna.
Webes alkalmazásfejlesztés
Gyurkó György. Az állapotmodellezés célja Általánosságban ugyanaz, mint a többi dinamikus modellezési technikáé: Jobban megismerni a problémát. Finomítani.
Programozás, programtervezés
UML modellezés 3. előadás
Haladó C++ Programozás Programtervezési minták – alapok Sonkoly Balázs
Webes MES keretrendszer fejlesztése Kiss Miklós Dániel G-5S8 Tervezésvezető: Dr. Hornyák Olivér.
Gyurkó György. Az OO programozás és tervezés története 1960-as évek: SIMULA (véletlen folyamatokat szimuláló programok írása) az OO nyelvek őse 1970-es.
1 Objektum orientált programozás Az objektumok és az osztályok – példányosodás Nagy Szilvia.
.NET FRAMEWORK Röviden Krizsán Zoltán 1.0. Tulajdonságok I Rövidebb fejlesztés 20 támogatott nyelv (nyílt specifikáció) 20 támogatott nyelv (nyílt specifikáció)
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
Programozás III JPA.
A szoftver mint komplex rendszer A fejlesztési módszertanok általános céljai: Összetett problémák kezelhetővé tétele A fejlesztési és megtérülési jellemzők.
A szoftver mint komplex rendszer: objektumorientált megközelítés.
Alkalmazott Informatikai Tanszék
Hibernate / EclipseLink / OpenJPA összehasonlítás
Operációs rendszerek.
Hernyák Zoltán Programozási Nyelvek II.
Előadás másolata:

Komponens-absztrakció

Objektum-orientált paradigma korlátai Feltételezés az interfészekről: 1. öröklés és aggregáció alkalmazható, 2. közös programozási nyelvi környezet. De! Sok alkalmazás többnyelvű, többféle paradigma szerint felépülő környezetben fut. MINDEZ MAGASABB SZINTŰ ABSZTRAKCIÓT FELTÉTELEZ.

Az OO paradigma indirekt módon kis és relatív homogén részekhez vezet, amelyeket össze kell kapcsolni kódolással. Ez jelentős hibaforrás. Komponens absztrakció: Nagy egységek összecsomagolása, amely esetenként heterogén, kész elemekből épül fel. Magasabb szintű képesség adódik.

Komponens-absztrakció Példa: Tipikus eset, hogy szükség lehet különböző objektum-hívásokra, eseményekre, amelyek válaszokat generálnak, tranzakciókra, amelyek kezelik és elrendezik az állapotváltozásokat, hibatűrési képességre, amely kezeli a hibákat. Ilyen alkotó elemek általában készen kaphatók, de elkülönülten és gondosan kell őket összeilleszteni, hogy egy alkalmazás komplett modulját képezzék.

Komponens alapú paradigma Komponens: szoftver rendszer körülhatárolt része, amely specifikus szolgáltatást, vagy szolgáltatások halmazát valósítja meg. Komponens modell definiálja: 1. komponens tulajdonságait, pl. verzió, függőségi viszonyok más komponensektől, komponens azonosító, működési politikák; 2. exportált interfészek halmazát; 3. csomagolás, összeállítás, szétterítés és futtatási időbeni kezelését a komponens példányoknak.

Objektumok és komponensek elkülönítő tulajdonságai 1. Komponens többszörös láthatósága és transzparens navigációja különböző láthatóságai között. Objektum: egy interfész implementációja, amely más objektum interfésszel csak az öröklés szempontjából hozható összefüggésbe.

2. Kiterjeszthetőség. Komponens magasabb szintű absztrakció, ezért az öröklés kevésbé kritikus a többformátumúság eléréséhez. Objektum: installációs egység, típust, interfészt és működést határol be. Problémához tartozó, esetleg fizikai entitást modellez. Tipikusan valamely program nyelven lett implementálva és jól definiált objektum- együttműködési szabályokat követ.

Komponens: Nem szükséges, hogy osztálynak feleljen meg, nem szükséges, hogy speciális program nyelven legyen implementálva, nem kell, hogy binárisan kompatibilis legyen más komponensekkel. Komponens úgy tekinthető, mint olyan szolgáltatást nyújtó, amely helyettesíthető ekvivalens komponenssel, amely más program nyelven van implementálva. Ezt a kiterjeszthetőséget az Extension Interface tervezési sablon biztosítja, amely szabványos protokollt definiál együttműködő komponensek csoportjának létrehozására, összeállítására és fejlesztésére.

3. Magas szintű végrehajtási környezet. Objektum. Direkt függés az infrastruktúrától korlátozhatja az objektum szolgáltatásinak elkülönült fejlesztését a végrehajtás alapjául szolgáló infrastruktúra fejlesztésétől. Komponens. A modell definiálja a végrehajtási környezetet - a konténert -, amely magasabb szintű absztrakció, mint az objektum-végrehajtási környezet. A konténer végrehajtási környezet a vezérlés egy további szintje, ahol polisziket definiálhatunk és érvényesíthetünk futási időben.

CORBA 2.x Object Management Architecture Alap eleme az interfész. Művelet hívás az interfészen elkülönül az interfész implementációjától. Definiálja, a kliens hogyan látja és fér hozzá a szerver által nyújtott szolgáltatáshoz.

CORBA 2.x OMA korlátai: 1. Funkcionális elhatárolás hiánya. A modell minden interfészt kliens szerver kontraktusnak tekint. A modell nem tartalmaz szabványos összerakási mechanizmust, amely leválasztaná a függőségeket az együttműködő objektum implementációktól. 2. Generikus applikációs szerver szabvány hiánya. CORBA 2.x szabványosítja az objektum implementáció és az ORB kommunikációját. De a felhasználónak kell meghatároznia az objektum implementációt az ORB felett, valamint az ORB és az implementáció interakcióját.

3. Szoftver konfigurálási és szétterítési szabvány hiánya. Nincs szabványos mód az osztott alkalmazás komponenseinek szétterítésére és indítására távolról a CORBA 2.x specifikációban.

CORBA Komponens Modell (CCM Middleware) áttekitése CCM eredmények: 1. Virtuális határt von nagyobb alkalmazói komponensek köré, amelyek jól definiált interfészeken keresztül kommunikálnak. 2. Szabványos konténer mechanizmust definiál, amely ahhoz szükséges, hogy a komponenseket generikus komponens szerverekben hajtsuk végre. 3. Infrastruktúrát specifikál komponensek összerakásához, csomagolásához és szétterítéséhez elosztott környezetben.

Kliens szempontból a CCM komponens egy kiterjesztett CORBA objektum, amely beskatulyáz különféle interakciós modelleket különböző interfészek és kapcsoló műveletek segítségével. Szerver szempontból a CCM komponens az implementáció egy olyan egysége, amely függetlenül installálható és példányosítható olyan szabványos alkalmazói szerver végrehajtási környezetben, mint amilyet a CCM specifikáció meghatároz.

Komponens nagyobb alkotó elem, mint az objektum. Interakciói leegyszerűsítik és automatikussá teszik a komponens konstrukció és a kompozíció eszközeit, valamint a komponens alkalmazásokba történő beillesztését.

Komponens felépítése Komponens implementációs entitás, amely portok halmazát definiálja, amin keresztül a komponensek képesek együttműködni. Ezeket a portokat interfészeknek és kapcsolódási pontoknak nevezik. Portoknak nevezzük a következő interfészeket és kapcsolódási pontokat: 1. Facet: névvel ellátott interfész, amely metódus hívásokat szolgál ki más komponensek felől szinkron módon.

2. Receptacle: névvel ellátott kapcsolódási pont valamely szinkron facet-hez, amelye egy más komponens nyújt. 3. Esemény forrás és elnyelő. Alapvetően esemény-üzenetek küldésére és fogdására alkalmas aszinkron módon. Komponensnek lehetnek attribútumai, amelyek névvel ellátott paraméterek. Ezek a paraméterek később konfigurálhatók olyan meta adatok segítségével, amelyeket a komponenshez rendelt file-ok tartalmaznak.

CCM konténer Konténer szerver oldali végrehajtási környezetet definiál komponens implementációk számára. A komponens implementációkat executor-oknak nevezzük. Konténer különböző, előre definiált eszközöket és műveleteket tartalmaz, amelyek segítségével a komponens stratégiákhoz és szolgáltatásokhoz férhet hozzá. Ilyenekhez pl. mint: perzisztencia, eseményjelzés, tranzakciók, terheléskiegyenlítés, titkosítás, stb.

Minden konténer futási idő stratégiákat és polisziket definiál, pl.: eseménytovábbítás, komponens használat stratégiák. Komponens feladata a kezelt komponenseknek futtatási környezet inicializálása és szolgáltatása. Minden komponens implementációhoz XML- ben specifikált meta adat tartozik, amely meghatározza a kívánt konténer stratégiákat és polisziket.

CCM Component Implementation Framework (CIF) Automatikusan generálja a komponens implementáció vázát és a perzisztens állapotkezelő mechanizmust a Component Implementation Definition Language (CIDL) alkalmazásával. A CCM csomagolási eszköz a komponens implementációhoz XML alapú meta adatot csatol. A CCM összeállítási eszköz XML alapú meta adatokat használ a komponens összerakásának leírására. A meta adat specifikálja a komponens helyét a komponensek interakcióját, amely alapján kialakul egy összerakott alkalmazás. A CCM szétrakási eszköz a komponens összerakási és összeállítás meta adatait használja az alkalmazás részeink szétrakására és inicializálásra.

A CCM programozási paradigma fejlesztői lépései 1. Komponens tervező. Definiálja a komponens szerepét, együttműködését más komponensekkel. Definiálja a komponens portokat. 2. Komponens kivitelező. Kialakítja a komponens implementációt, specifikálja a futási időbeli támogatási igényt meta adatok segítségével. Ezeket komponens leíróknak nevezzük. 3.Komponens csomagoló. 4. Komponens összeállító. 5. Rendszerszétrakó.