Osztott alkalmazsok kezelse VIR elosztott architektra indtkai meglv

  • Slides: 19
Download presentation
Osztott alkalmazások kezelése

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)

VIR elosztott architektúra indítékai: - meglévő komponensek integrációja - WEB / Internet elterjedése (nemzetköziség) - Moduláris felépítés - Bővíthetőség/méretezhetőség

Architektúra típusok 2. Alap kliens-szerver modell Host alkalmazás terminál kezelő kliens terminál DB AB

Architektúra típusok 2. Alap kliens-szerver modell Host alkalmazás terminál kezelő kliens terminál DB AB +: rugalmasság +: méretezhetőség -: programozás adatkezelő kliens terminál

Architektúra típusok 4. Middleware modell alkalmazás terminál kezelő middleware network terminál kezelő alkalmazás middleware

Architektúra típusok 4. Middleware modell alkalmazás terminál kezelő middleware network terminál kezelő alkalmazás middleware network kliens terminál AB adatkezelő kliens terminál

Middleware típusok Általános, közös szolgáltatások elvégzése - elérés biztosítása - konverzió - ütemezés File

Middleware típusok Általános, közös szolgáltatások elvégzése - elérés biztosítása - konverzió - ütemezés File kezelés: Távoli eljáráshívás: Adatbáziskezelés: Üzenetküldés: Távoli metódushívás: Tranzakciókezelés: Névfeloldás: Feladat közvetítő: socket RPC, SOAP ODBC, JDBC, RDA MOM CORBA, RMI, DCOM TUXEDO NS Broker

kliensek DB szerverek DBMS-NET

kliensek DB szerverek DBMS-NET

RDA/ODBC printf(”udpating. . . ”); con 1 = sqlconnect(TAVOLI 1, ”peter”, ”pwd”); con 2

RDA/ODBC printf(”udpating. . . ”); con 1 = sqlconnect(TAVOLI 1, ”peter”, ”pwd”); con 2 = sqlconnect(TAVOLI 2, ”zoli”, ”pwd”); sqlexec(con 1, ”UPDATE dolg SET fiz=0; ”); sqlexec(con 2, ”UPDATE dolg SET fiz=0; ”); Adatbázis független kezelő felület

RPC működése kliens szerver alkalmazás szerver Client-Stub Server-Stub hálózati réteg - érték szerinti paraméterátadás

RPC működése kliens szerver alkalmazás szerver Client-Stub Server-Stub hálózati réteg - érték szerinti paraméterátadás - adatkonverzió - kliens várakozik a végrehajtásra - hibakezelés

MOM működése kliens szerver alkalmazás szerver Client-MOM Server-MOM hálózati réteg üzenetkezelő üzenetsorok - üzenet

MOM működése kliens szerver alkalmazás szerver Client-MOM Server-MOM hálózati réteg üzenetkezelő üzenetsorok - üzenet átadás - adatkonverzió - nincs várakozás - hibakezelés

Objektum fogalma - szoftver egysége (molekula) - kódolási egység - egységbezárás - elrejtés -

Objektum fogalma - szoftver egysége (molekula) - kódolási egység - egységbezárás - elrejtés - van perzisztens állapota - van egyedi azonosítója - öröklés - polimorfizmus Komponens fogalma - szoftver modulja (szerv) - telepítési egység - jól definiált interface - belső implementáció elrejtett - nincs perzisztens állapota - más komponens felhasználhatja Közös célok: - újrahasznosíthatóság - kezelhetőség - rugalmasság

CORBA modell Osztott objektum modell (stornózás) Osztott komponens modell (dokumentum kezelés, . . )

CORBA modell Osztott objektum modell (stornózás) Osztott komponens modell (dokumentum kezelés, . . ) (pénzügyi modul) (név feloldás, tranzakció, katalógusok, védelem, . . ) http: //www. cs. wustl. edu/~schmidt/corba-overview. html

CORBA jellemzői - kliens-szerver mód kiterjesztése - transzparencia a kliens oldalon - függetlenség -

CORBA jellemzői - kliens-szerver mód kiterjesztése - transzparencia a kliens oldalon - függetlenség - middleware struktúra - önleíró struktúrák - többrétegű fejlesztési modellek - univerzális elérési felület - interface és implementáció elkülönítése - dinamikus kapcsolat építés - nyelvi adapterekkel bővitett - *funkció egységek kezelése - *együttműködés kezelése - *telepítés, karbantartás kezelése

CORBA rendszer működési séma http: //www. cs. wustl. edu/~schmidt/corba-overview. html

CORBA rendszer működési séma http: //www. cs. wustl. edu/~schmidt/corba-overview. html

CORBA elemek Interface kezelése Interface: az objektum elérhető szolgáltatásai (név, paraméterek, típusok, . .

CORBA elemek Interface kezelése Interface: az objektum elérhető szolgáltatásai (név, paraméterek, típusok, . . ) a klienseknek ehhez kell illeszkedni IDL: Interface Definition Language (nyelvfüggetlen) module Iroda { interface Kérvény { attribute date beérkezési_idő; attribute beosztott Kezelők[20]; . . Boolean Elfogad () : timeout; . . . } }

CORBA elemek ORB kezelése ORB: objektum kérés közvetítő - nyilvántartja az objektumokat - nyilvántartja

CORBA elemek ORB kezelése ORB: objektum kérés közvetítő - nyilvántartja az objektumokat - nyilvántartja az elérésüket - kérés közvetítése - objektum aktivizálása - válasz közvetítése - objektum azonosítás kezelése - ORB interface: paraméter konverzió - ORB interface: hibakezelés

CORBA elemek Objektum szerver - különböző nyelveken készült osztálydefiníciók - az IDL leírásból lehet

CORBA elemek Objektum szerver - különböző nyelveken készült osztálydefiníciók - az IDL leírásból lehet automatikusan generálni - objektumokat hoz létre az ORB kérése alapján - együttműködhetnek az objektumok Objektum adapter - az objektumokat ismerté teszi az ORB számára - az IDL leírást lehet automatikusan generálni - objektumok védelmének kezelése

DCOM struktúra Az MS osztott objektum modellje - API szintű szolgáltatást biztosít - nem

DCOM struktúra Az MS osztott objektum modellje - API szintű szolgáltatást biztosít - nem biztosít objektum színtű perzisztenciát (nincs OID) - saját IDL nyelv - osztály azonosítása: 128 bites CLSID - osztályokat regisztrálni kell - egy objektum több interface-re is illeszkedik - a felhasználó egy CLSID-t küld - A DCOM server a CLASS FACTORY-val új objektumot hoz létre - a nem használt objektumokat kitörli

DCOM példa Kliens oldal: Set namespace = Create. Object("Voyager. Lib. Bridge") Set adder =

DCOM példa Kliens oldal: Set namespace = Create. Object("Voyager. Lib. Bridge") Set adder = namespace. Lookup ("//" & Command & ": 8000/My. Calculator") x = 3 y = 4 sum = adder. Add(x, y) Msg. Box ("3 + 4 = " & sum) Szerver oldal: interface ICalculator { int add( int x, int y ); } class Calculator implements ICalculator { int add( int x, int y ) { int result = x + y; return result; } }

TUXEDO struktúra - szolgáltatások nyilvántartása - költség optimalizálás - üzenet közvetítés - adatkonverziók Alkalmazás

TUXEDO struktúra - szolgáltatások nyilvántartása - költség optimalizálás - üzenet közvetítés - adatkonverziók Alkalmazás kliens Funkció szerver TUXEDO System/WS Alkalmazás kliens System/T System/ DOMAINS Alkalmazás kliens System/Q System/D System/HOST Funkció szerver