DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1

Hasonló dokumentumok
Osztott alkalmazások fejlesztési technológiái Áttekintés

Tartalom. Történeti áttekintés. Történeti áttekintés Architektúra DCOM vs CORBA. Szoftvertechnológia

Komponens modellek. 3. Előadás (első fele)

CORBA Áttekintés. Mi a CORBA? OMG and OMA. Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

Enterprise JavaBeans 1.4 platform (EJB 2.0)

Operációs rendszerek. A Windows NT felépítése

Osztott rendszerek (Distributed

Osztott rendszerek (Distributed. systems) Bevezetés. Tartalom. Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés

Osztott Objektumarchitektúrák

Kommunikáció. Folyamatok közötti kommunikáció. Minden elosztott rendszer alapja

Komponens alapú programozás Bevezetés

Osztott rendszerek. Krizsán Zoltán 1 Ficsór Lajos 1. Webalkalmazások fejlesztése tananyag. Miskolci Egyetem. Bevezetés A múlt - történelem A jelen

CORBA bevezetés. Paller Gábor Internet és mobil rendszerek menedzselése

eseményvezérelt megoldások Vizuális programozás 5. előadás

A Java EE 5 plattform

Java RMI Áttekintés. A Java RMI. A Java RMI architektúrája. Ficsor Lajos. Általános Infromatikai Tanszék Miskolci Egyetem 1.

és az instanceof operátor

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

CORBA. Mi a CORBA? A CORBA felépítése

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Operációs rendszerek. Windows NT. A Windows NT

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

A SZOFTVERTECHNOLÓGIA ALAPJAI

Operációs rendszerek. Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok:

Segédanyag: Java alkalmazások gyakorlat

Java RMI Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. javarmi / 1

Komponens alapú fejlesztés

Segédanyag: Java alkalmazások gyakorlat

iseries Access for Windows: Adminisztráció

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Abstract osztályok és interface-ek. 7-dik gyakorlat

Oracle Containers for Java - j2ee alkalmazás szerver funkciók. Molnár Balázs Oracle Hungary

OOP és UML Áttekintés

R I Szer e i r alizáció.

.NET Microsoft.Net Framework

JAVA webes alkalmazások

EMTP, EGY ÚJ LEVELEZÕ PROTOKOLL ÉS IMPLEMENTÁCIÓJA

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

5. rész: A Java EE és az Enterprise Bean réteg. Bakay Árpád dr. NETvisor kft (30)

Kommunikáció. 3. előadás

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

Adatbányászat és Perszonalizáció architektúra

Bevezető. Servlet alapgondolatok

Se S r e ial a iza z t a ion o n (in n Ja J v a a v ) a Szerializáció

Operációs rendszerek. Az NT folyamatok kezelése

Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:

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

Java Remote Method Invocation API

Hálózati operációs rendszerek II. Novell Netware 5.1 Hálózati nyomtatás

RPC Remote Procedure Call Távoli eljárás hívás

A JGrid rendszer biztonsági architektúrája. Magyaródi Márk Juhász Zoltán Veszprémi Egyetem

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

Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms

OOP: Java 8.Gy: Abstract osztályok, interfészek

JNDI - alapok. Java Naming and Directory Interface

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

Oralce kliens installálása Windows Server 2003-ra

WebSphere Adapters. 6. változat 2. alváltozat. WebSphere Adapter for SAP Software felhasználói kézikönyv 6. változat 2. kiadás

4. rész: Java Enterprise Edition bevezetı. Bakay Árpád dr. NETvisor kft (30)

Elosztott rendszerek

Kommunikáció. Távoli eljáráshívás. RPC kommunikáció menete DCE RPC (1) RPC - paraméterátadás. 3. előadás Protokollok. 2. rész

Objektum orientált programozás Bevezetés

Debreceni Egyetem Matematikai és Informatikai Intézet. 13. Védelem

Interfészek. PPT 2007/2008 tavasz.

ETR Kliens installálás

Serialization. RMI működése

Objektum orientált alapelvek

Java I. A Java programozási nyelv

Flex: csak rugalmasan!

Programozási nyelvek Java

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor

Már megismert fogalmak áttekintése

Java I. A Java programozási nyelv

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

S01-7 Komponens alapú szoftverfejlesztés 1

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

JAVA SE/ME tanfolyam tematika

Párhuzamos és Elosztott Rendszerek II

UML Feladatok. UML Feladatok

Információ-architektúra

OOP. Alapelvek Elek Tibor

Használati alapú és modell alapú tesztelés kombinálása szolgáltatásorientált architektúrák teszteléséhez az ipari gyakorlatban

Windows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása. Kocsis Gergely, Supák Zoltán

Web Services. (webszolgáltatások): egy osztott alkalmazásfejlesztési plattform

Operációs rendszerek III.

TELJESÍTÉNYMÉRÉS FELHŐ ALAPÚ KÖRNYEZETBEN AZURE CLOUD ANALÍZIS

Internetes térkép publikálási technikák, szabványok, trendek, nyílt forráskódú megoldások

Bevezetés a Java programozási nyelvbe

Biztonság java web alkalmazásokban

Bevezetés a Java programozási nyelvbe

SOAP komponensek Delphiben

Elemi alkalmazások fejlesztése IV. Adatbázis-kezelés ActiveX vezérlıkkel - 1

Rétegezett architektúra HTTP. A hálózatfejlesztés motorját a hálózati alkalmazások képezik. TCP/IP protokoll készlet

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK

11. Elosztott állománykezelés. Operációs rendszerek. Elosztott állománykezelés. Teljesítmény növelése. Az állományokra hivatkozás. Az állományok nevei

Adatbázis rendszerek II. Adatbázis elérése C# kliens programból ADO.NET API-n keresztül

Objektumorientált paradigma és programfejlesztés Bevezető

Átírás:

DCOM Áttekintés Miskolci Egyetem Általános Informatikai Tanszék DCOM /1

Mi a DCOM? DCOM: Distributed Component Object Model A Microsoft osztott objektum modellje Bináris együttmÿködési szabvány és annak implementációja (könyvtár formájában) API szintÿ szolgáltatások Nincs magas szintÿ nyelvi leképezés, de a Microsoft Visual J++ biztosítja a Java leképezést A DCE alapjaira épül DCOM (Áttekintés) DCOM /2

A DCOM objektum A DCOM objektum egy komponens, amely egy vagy több interface-t támogat Egy 128 bites CLSID-vel (Class ID) azonosított Nem objektum a klasszikus OO szemlélet szerint Nincs objektum azonosító Egy DCOM objektum nem tartja meg a státuszát az egyes kapcsolatok között. Egy kliens nem tud pontosan ugyanahhoz az objektumhoz újra csatlakozni DCOM (Áttekintés) DCOM /3

A DCOM interface Összetartozó függvények halmaza Elválasztja az interface-t az implementációtól A MIDL-t (Microsoft IDL): a DCE által definiált IDL objektum alapú kiegészítésekkel Alacsonyszintÿ, bináris API-t definiál egy pointer tábla (vtable) segítségével Egy interface-nek van szimbolikus neve, de futásid ben egy 128 bites IID (Interface Identifier) azonosítja DCOM (Áttekintés) DCOM /4

A DCOM interface (folyt( folyt.) Kliens Az objektum pointert használ Az interface fügvények táblája Tagfüggvények implementációi Belsÿ adatok DCOM objektum DCOM (Áttekintés) DCOM /5

A DCOM interface (folyt( folyt.) Minden DCOM objektumnak implementálnia kell az IUnknown interface-t A kliens ezt használhatja az objektum élettartamának szabályozására az objektum által támogatott interface-ek felfedezésére Interface A Interface B Interface C IUnknown DCOM Object DCOM (Áttekintés) DCOM /6

A DCOM szervers A szerver egy vagy több, CLSID-vel azonosított objektum osztályt tartalmazhat. A kliens kérhet egy adott CLSID-vel azonosított objektumot A szerver új objektumot készít a class factory segítségével Az új objektum els dleges (primary) interfaceének pointerét megkapja a kliens A szerver nem egy objektum, hanem egy EXE vagy egy DLL (vagy egy Java osztály). DCOM (Áttekintés) DCOM /7

A DCOM szervers struktúrája IUnknown Object Interfaces IClassFactory or IClassFactory2 DCOM Object Class Factory DCOM Server EXE or DLL DCOM (Áttekintés) DCOM /8

A DCOM szervers funkciói Implementál "class factory" interface-eket Minden CLSID-hez egyet Az osztály támogathatja a licenc kezelést (IClassFactory2) Regisztrálja az általa támogatott osztályokat Minden CLSID-hez egy registry bejegyzés, amely tartalmazza az implementáció EXE vagy DLL filejának specifikációját. DCOM (Áttekintés) DCOM /9

A DCOM szervers funkciói (foly( foly.) Initializálja a DCOM könyvtárat CoInitialize API hívás a DCOM könyvtár futásidejÿ szolgáltatásokat és API-t biztosít Ellen rzi, hogy a könyvtár kompatibilis verziójú CoBuildVersion API hívás Egy törlési (unloading) mechanizmust biztosít Az aktív kliensek nélküli objektumok terminálására Uninicializálja a DCOM könyvtárat Ha már egyetlen objektumnak sincs aktív kliense DCOM (Áttekintés) DCOM /10

Az architea rchitekturális megoldás Client Call_service Call a service on an interface * CreateInstance * Factory Create_Component Ask for a reference to an interface 1 * new Component Create_Component IUnknown QueryInterface <<extends>> Server Initialize/Uninitialize implements 1+ Extension Interfacei QueryInterface service_i DCOM (Áttekintés) DCOM /11

Local/Remote transzparencia Három fajta szerver in-process server (processzen belüli) A szerver és a kliens azonos címtérben (DLL) local server (helyi szerver) A szerver és a kliens különálló processzek ugyanazon a gépen (EXE) remote server (távoli szerver) A szerver és a kliens különálló proceszek, amelyek különböz gépeken futnak. DCOM (Áttekintés) DCOM /12

DCOM kliens/szerver Client Process Client Appl. In-process Object Local Object Proxy COM Remote Object Proxy DCOM Stub Stub COM LRPC RPC Local Server Process Remote Machine Remote Server Process Stub DCOM Local Object Local Server Remote Object Remote Server DCOM (Áttekintés) DCOM /13

DCOM objektum készítés forgatókönyve Client DCOM API IClassFactory2 1: CoGetClassObject (CLSID) 2: CoRegisterClassObject 3: CreateInstanceLic 5: Obtain Services 4: Create IMyInterface 7: Release 8: CoRevokeClassObject DCOM (Áttekintés) DCOM /14

DCOM objektum létrehozás 1. A kliens kér egy pointert a "class factory"-hoz Megadja a MyClass osztály CLSID-jét 2. A szerver példányosítja a "class factory"-t és regisztrálja azt 3. A kliens kéri a osztálynak egy példányát Az IClassFactory elkészíti a MyClass egy példányát A kliens megkap egy IID-t az IMyInterface-hez DCOM (Áttekintés) DCOM /15

DCOM objektum létrehozás (folyt.) 4. A "class factory" létrehozza az osztály egy példányát Visszaadja a kliensnek a kért interface pointerét 5. A kliens kommunikál az interface-szel. 6. A kliens felszabadítja az IMyInterface-t. 7. A kliens felszabadítja az IClassfaxtory2-t. 8. A szerver leáll. DCOM (Áttekintés) DCOM /16

Mi a COM+ COM+ = COM + szolgáltatások A COM+ a Win2000 integráns része COM+ szolgáltatások: Transaction Services (MTS) Security Services Syncronization Services Queued Components Event Service DCOM (Áttekintés) DCOM /17