190 likes | 294 Views
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) - 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. kliens terminál.
E N D
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 kliens terminál alkalmazás terminál kezelő kliens terminál DB AB adatkezelő kliens terminál +: rugalmasság +: méretezhetőség -: programozás
Architektúra típusok terminál kezelő 4. Middleware modell alkalmazás middleware network terminál kezelő alkalmazás middleware network kliens terminál AB AB adatkezelő 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 kezelés: socket Távoli eljáráshívás: RPC, SOAP Adatbáziskezelés: ODBC, JDBC, RDA Üzenetküldés: MOM Távoli metódushívás: CORBA, RMI, DCOM Tranzakciókezelés: TUXEDO Névfeloldás: NS Feladat közvetítő: Broker
DBMS-NET kliensek DB szerverek
RDA/ODBC printf(”udpating...”); con1 = sqlconnect(TAVOLI1, ”peter”,”pwd”); con2 = sqlconnect(TAVOLI2, ”zoli”,”pwd”); sqlexec(con1,”UPDATE dolg SET fiz=0;”); sqlexec(con2,”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 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 hálózati réteg üzenetkezelő üzenetsorok - üzenet átadás - nincs várakozás - adatkonverzió - hibakezelés
Objektum fogalma Komponens 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 - 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 komponens modell Osztott objektum modell (dokumentum kezelés,..) (stornózá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 - 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 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 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 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 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 = CreateObject("VoyagerLib.Bridge") Set adder = namespace.Lookup ("//" & Command & ":8000/MyCalculator") x = 3 y = 4 sum = adder.Add(x, y) MsgBox ("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; } }
Alkalmazás kliens Funkció szerver TUXEDO System/Q System/WS Alkalmazás kliens System/T Funkció szerver System/D System/ DOMAINS Funkció szerver System/HOST Alkalmazás kliens TUXEDO struktúra - szolgáltatások nyilvántartása - költség optimalizálás - üzenet közvetítés - adatkonverziók