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



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

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

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

Osztott Objektumarchitektúrák

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

A SZOFTVERTECHNOLÓGIA ALAPJAI

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

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

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

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

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

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

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

Enterprise JavaBeans 1.4 platform (EJB 2.0)

Osztott rendszerek (Distributed

Komponens alapú programozás Bevezetés

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

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

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

Book Template Title. Author Last Name, Author First Name

Komponens alapú fejlesztés

A Java EE 5 plattform

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

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

CO C R O B R A B OMG, ORB, CORBA

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

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

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

Objektum orientált programozás Bevezetés

Osztálytervezés és implementációs ajánlások

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

A Java nyelv. V. rész Az objektumorientáltság magasabb fokú tulajdonságai: Perszisztencia, CORBA, RMI

JNDI - alapok. Java Naming and Directory Interface

Serialization. RMI működése

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

Már megismert fogalmak áttekintése

Osztálytervezés és implementációs ajánlások

é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

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

A TANTÁRGY ADATLAPJA

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

Bevezető. Servlet alapgondolatok

Objektumorientált paradigma és a programfejlesztés

Áttekintés. Tartalom. Mi is az a Bean?

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

OOP. Alapelvek Elek Tibor

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

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

Elosztott rendszerek

ARM Cortex magú mikrovezérlők. mbed

Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére

Segédanyag: Java alkalmazások gyakorlat

Szolgáltatás-orientált technológiák alkalmazási kérdései Absztrakt 1. Bevezetés

Interfészek. PPT 2007/2008 tavasz.

Introduction. Szolgáltatásorientált rendszerintegráció Service-Oriented System Integration. Dr. Balázs Simon BME, IIT

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

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

Segédanyag: Java alkalmazások gyakorlat

Objektumorientált paradigma és programfejlesztés Bevezető

JAVA webes alkalmazások

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

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

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

A TANTÁRGY ADATLAPJA

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

Webes alkalmazások fejlesztése 12. fejezet. Szolgáltatás alapú kommunikáció (WCF) Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Web-fejlesztés NGM_IN002_1

Java Remote Method Invocation API

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

S01-7 Komponens alapú szoftverfejlesztés 1

Simon Balázs Dr. Goldschmidt Balázs Dr. Kondorosi Károly. BME, Irányítástechnika és Informatika Tanszék

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

UNIX: folyamatok kommunikációja

UNIX operációs rendszer bemutatása. A UNIX története, fejlesztésének céljai.

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

ELTE SAP Excellence Center Oktatóanyag 1

Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére

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

Szoftver-technológia II. Tervezési minták. Irodalom. Szoftver-technológia II.

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

Kooperatív Rendszerek - Huwico konferencia, 2005 április 9.

Köztesréteg adatbiztonsági protokollok megvalósítására

R I Szer e i r alizáció.

Ismeretanyag Záróvizsgára való felkészüléshez

Interfészek. Programozás II. előadás. Szénási Sándor.

Java Server Pages - JSP. Web Technológiák. Java Server Pages - JSP. JSP lapok életciklusa

Flex: csak rugalmasan!

iphone és Android két jó barát...

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

Norway Grants. Az akkumulátor mikromenedzsment szabályozás - BMMR - fejlesztés technológiai és műszaki újdonságai. Kakuk Zoltán, Vision 95 Kft.

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

Objektum orientáltság alapjai A Java nyelv Fordítás - futtatás

Programozási technológia

SOAP komponensek Delphiben

A Skype architektúrája. P2P hálózat Supernode ok, peer-ek, login server

Junior Java Képzés. Tematika

Kinek szól a könyv? Hogyan épül fel a könyv? Megjelenés előtti szoftver A hálózati kézikönyv tartalma A könyv támogatása Kérdések és megjegyzések

ELTE SAP EXCELLENCE CENTER Oktatóanyag. Sas László: ABAP Objects Objektumorientált ABAP

Interaktív webes térképezés GRASS GIS 7-tel. A Web Processing Service bemutatása

Átírás:

CORBA Áttekintés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2007. 10. 15. Mi a CORBA? osztott objektum modell szabvány, amely definiálja a komponensek közötti interface-eket definiál bizonyos eszközöket ezen interface-ek implementálására meghatároz szolgáltatásokat: directory naming persistent object transaction stb platform független nyelv független A CORBA (Áttekintés) CORBA / 2 OMG and OMA OMG (Object Management Group) 1989, nyolc taggal. (Jelenleg kb. 800 tag.) OMA (Object Management Architecture) 1995 Szabványok együttese Egy közös architekturális keretrendszer (common architectural framework) Object Request Broker (ORB) object services (CORBAservices) common facilities (CORBAfacilities) domain interfaces application objects A CORBA (Áttekintés) CORBA / 3

Object Management Architecture Application Objects Common Facilities (CORBAfacilities) Vertical Common Facilities Horizontal Common Facilities Distributed Information Systems Task Documents Management Management Management Object Request Broker NamingPersistenceLife cyclepropertiesconcurrencycollection Security Trader Events Transactio Time Startup LicensingQuery Common Objects ns Services (CORBAservices) A CORBA (Áttekintés) CORBA / 4 CORBA - legfontosabb jellemzők Statikus és dinamikus metódushívás Magasszintű nyelvi kötés Elválasztja az interface-t az implementációjától Nem API szintű szolgáltatásokat biztosít Önmagát leíró rendszer (Self-describing system) Meta-adatok az interface-ek leírására Local-remote transzparencia Beépített biztonsági és tranzakció kezelési lehetőségek A CORBA (Áttekintés) CORBA / 5 CORBA - legfontosabb jellemzők k (folyt.) Üzenetküldés a polimorfizmus elvének betartásával Nem távoli eljárás, hanem a (távoli) célobjektum metódusának hívása Létező rendszerekkel való együttműködés Már létező alkalmazások "becsomagolhatók" IDL wrapper-ek segítségével A CORBA (Áttekintés) CORBA / 6

CORBA kommunikációs modell Kliens (objektum) Object Reference Szerver (objektum) Kliens oldali ORB Szerver oldali ORB GIOP (General( Inter-ORB Protocol) - specifikáci ció IIOP (Internet Inter-ORB Protocol) - implementáci ció TCP/IP protokol verem - működtető közeg A CORBA (Áttekintés) CORBA / 7 CORBA komm. modell l (folyt) Megjegyzések és kérdések: Túl egyszerűnek tűnik Egy egy klasszikus kliens/szerver modell. Mi az újdonság ebben? A rövid válasz: A kliens program egy objektuma ugyanúgy hívhatja meg valamelyik szerver objektumának egy metódusát, mintha az lokális objektum lenne. Hosszabb válasz: a további slide-okon. A CORBA (Áttekintés) CORBA / 8 CORBA architekt ktúra Source: Douglas C. Schmidt: Overview of CORBA A CORBA (Áttekintés) CORBA / 9

A CORBA architektúra a elemee lemei ORB transzparens kommunikációs mechanizmust biztosít a kliens és a szerver között Megkeresi az objektum implementációját Transzparens módon aktivizálja azt, ha szükséges Továbbítja az üzenetet az objektumnak Visszaadja a választ a hivónak GIOP (General Inter-ORB Protocol) szabványos protokoll az ORB-k közötti kommunikációra A CORBA (Áttekintés) CORBA / 10 A CORBA architektúra a elemee lemei i (folyt.) IIOP (Internet Inter-ORB Protocol) egy GIOP implementáció TCP/IP felett ORB interface elválasztja az alkalmazást az ORB implementációs részleteitől Argumentumlistákat készít, ha szükséges Konvertálja az objektum referenciákat A CORBA (Áttekintés) CORBA / 11 A CORBA architektúra a elemee lemei i (folyt.) IDL (Interface Definition Language) nyelvfüggetlen interface-t specifikál CORBA objektumok között. Bármely programozási nyelvre leképezhető. IDL stubs and skeletons Az IDL fordító készíti. A kliens és a szerver objektumok ezeket használják közvetlenül DII (Dynamic Invocation Interface) ezen keresztül a kliens közvetlenül elérheti az ORB-t. A CORBA (Áttekintés) CORBA / 12

A CORBA architektúra a elemee lemei i (folyt.) DSI (Dynamic Skeleton Interface) A DII szerver oldai megfelelője Object Adapter az objektum implementációkat ismertté teszi az ORB számára. Segíti az ORB-t az alábbiakban A kérések eljuttatása az objektumhoz Az objektum aktiválása Az Object Adapter specializálható bizonyos objektum fajtákra (OODB, library objects) A CORBA (Áttekintés) CORBA / 13 A CORBA architektúra a elemee lemei i (folyt.) Interface Repository futásidejű információk az IDL interface-ekről. Implementation Repository ORB specifikus repository az Object Adapter által használt objektumokról A CORBA (Áttekintés) CORBA / 14 2 CORBA alkalmazás s készk szítésese Interface Repository Load 1 3 Create IDL Definitions Precomp. User 6 Client IDL stub Implementation Repository Uses Skeleton Example Servant User 8 Implement Client 4 Implemen t Servant User Object 7 Adapter Instantiate Client Class 9 Compile 5 Compile Servant Class A CORBA (Áttekintés) CORBA / 15

CORBA alkalmazás s készk szítése se (folyt.) 1. Szerver interface definiálása IDL segítségével attribútumok exportált módszerek módszer paraméterek 2. Az interface betöltése az Interface Repositoryba A program az IDL információt el tudja érni futási időben A CORBA (Áttekintés) CORBA / 16 CORBA alkalmazás s készk szítése se (folyt. 3. Az IDL precompiler elkészíti a kliens és szerver oldali stub vázát (hogy elválassza az alkalmazást az ORB implementációtól.) Példa osztálydefiníciót, aminek segítségével elkészíthető a szerver oldali objektum implementációja 4. A servant (a szerver oldali objektum) funkcionális kódjának hozzáadása Ez implementálja a szerver objektum tényleges tevékenységét A CORBA (Áttekintés) CORBA / 17 CORBA alkalmazás s készk szítése se (folyt. 5. A kód lefordítása 6. A futásidejű objektum regisztrációja Az ORB az Implementation Repository-t használja az aktív objektum megkeresésére vagy arra, hogy kérje az objektum aktivizálását a szerveren. 7. Az objektum példányosítása a szerveren A szerver Object Adapter-e végzi 8. A kliens kód implementálása 9. A kliens kód lefordítása A CORBA (Áttekintés) CORBA / 18

CORBA kliensek és szerver erverekek Hagyományosan: a szerver egy olyan komponens, amely egy másik komponens (a kliens) számára biztosít szolgáltatásokat CORBA szerver: egy komponens (a szerver) egy másik komponens (a kliens) kérésére végrehajtja valamelyik metódusát. Egy CORBA objektum számos interakcióban részt vehet, és akár egyidőben működhet kliens és szerver szerepben. A CORBA (Áttekintés) CORBA / 19 CORBA kliensek és szerver erverekek (folyt.) A "B" komponens egyszerre kliens és szerver: A Kliens B Kliens és szerver C szerver D szerver A CORBA (Áttekintés) CORBA / 20 Hivatkozások On-line információforrások Az OMG honlapja: www.omg.org Douglas C. Schmidt honlapja: www.cs.wustl.edu/~schmidt/corba.html Újonnan megjelent könyvek és tutoriálok: www.cs.wustl.edu/~schmidt/new.html#corba CORBA3: www.omg.org/technology/corba/corba3releaseinfo.htm A CORBA, DCOM és Java RMI összehasonlítása: www.execpc.com/~gopalan/misc/compare.html ORB-k listája: www.cetus-links.org/oo_object_request_brokers.html A CORBA (Áttekintés) CORBA / 21

Hivatkozások (folyt.) Csizmazia Balázs: Hálózati alkalmazások készítése (második kiadás), 9. fejezet Kiadó: Kalibán Bt., Budapest. 1998 ISBN 963 03 5113 7 Sok szerző: JAVA 2 útikalauz programozóknak. (Hatodik kiadás) 22. Fejezet Kiadó: ELTE TTK Hallgatói Alapítvány Budapest, 2000 ISBN 963 463 364 1 A CORBA (Áttekintés) CORBA / 22 Hivatkozások (folyt.) Robert Orfali, Dan Harkey: Client/Sserver Programming with JAVA and CORBA (Second Edition) John Wiley & Sons, 1998 ISBN 0 471 24578 X A CORBA (Áttekintés) CORBA / 23