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

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

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

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

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

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

UNIX: folyamatok kommunikációja

Bevezetés a párhuzamos programozási koncepciókba

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

1. előadás. Elosztott rendszerek. 1. Bevezetés

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

Elosztott rendszerek. Az elıadás. Az elosztott rendszer definíciója. Köztesrétegként felépülı elosztott rendszer. Célok

Elosztott rendszerek. Az elıadás. Az elosztott rendszer definíciója. Köztesrétegként felépülı elosztott rendszer

Osztott rendszerek (Distributed

Folyamatok. 6. előadás

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

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

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

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

2. fejezet Hálózati szoftver

Segédanyag: Java alkalmazások gyakorlat

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

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

Segédanyag: Java alkalmazások gyakorlat

Autóipari beágyazott rendszerek. A kommunikáció alapjai

Elnevezési rendszerek. 7. előadás

A SZOFTVERTECHNOLÓGIA ALAPJAI

Számítógépes Hálózatok GY 7.hét

Serialization. RMI működése

Elosztott rendszerek

Hálózati architektúrák laborgyakorlat

Java. Java Message Service. ANTAL Margit. JMS API technológia. ANTAL Margit. Sapientia - EMTE

Számítógépes Hálózatok. 5. gyakorlat

Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms. 4. rész: Kommunikáció

Párhuzamos és Elosztott Rendszerek II

Számítógépes hálózatok

Számítógépes Hálózatok GY 6.hét

R I Szer e i r alizáció.

9. MPI

Szoftverprototípus készítése. Szoftverprototípus készítése. Szoftverprototípus készítése

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

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

Kommunikációs middleware megoldások

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

Interfészek. PPT 2007/2008 tavasz.

Osztott Objektumarchitektúrák

2. fejezet Hálózati szoftver

Már megismert fogalmak áttekintése

Elnevezési rendszerek. Szinkronizálás

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

Komponens alapú programozás Bevezetés

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

Elosztott rendszer architektúrák

Számítógépes Hálózatok. 3. gyakorlat

Eljárások és függvények

Számítógép-hálózatok: 4. Labor. TCP kliens. A gyakorlat célja:

Integrációs mellékhatások és gyógymódok a felhőben. Géczy Viktor Üzletfejlesztési igazgató

Számítógépes Hálózatok. 7. gyakorlat

Információ és kommunikáció

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

Széchenyi István Egyetem. Programozás III. Varjasi Norbert

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

Komponens alapú fejlesztés

é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

Az UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

API tervezése mobil környezetbe. gyakorlat

10. előadás Párhuzamos programozási kérdések. Az Ada taszkok (1).

Elosztott rendszerek

JAVA webes alkalmazások

Hálózatok. Alapismeretek. A hálózatok célja, építőelemei, alapfogalmak

TCP szerver. TCP szerver alkalmazás írásának az elsajátítása TCP protokoll tulajdonságainak a tanulmányozása kisérleti úton

Hálózati architektúrák laborgyakorlat

Számítógép labor V. Egyszer Web szerver. Dokumentáció. Készítette: Ács Gergely (K4C03M)

Párhuzamos és Elosztott Rendszerek

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2

$-DYDQ\HOYNLDODNtWiVDNRUPiUMHOHQWVV]HUHSHWMiWV]RWWDND]HORV]WRWWDONDOPD]iVRNtJ\

A modell-ellenőrzés gyakorlata UPPAAL

Operációs rendszerek. Az X Window rendszer

Számítógépes Hálózatok. 4. gyakorlat

Számítógépes Hálózatok GY 4.hét

Tartalomjegyzék. Előszó... 10

UDP idő szerver. UDP protokollal kapcsolatos ismeretek elmélyítése. Egy UPP protokollt használó időszerver megvalósítása

Számítógépes hálózatok

Ellenőrzőpont támogatás PVM alkalmazások számára a magyar ClusterGriden

UNIX: fájlrendszerek

The Flooding Time Synchronization Protocol

Műszaki Melléklet. METRO Kereskedelmi Kft... Elektronikus adatcsere (EDI) rendszer alkalmazásával való számlatovábbításról 1.

Java V. Osztályszint. lyszintű ű tagok. Példányváltozó. Osztályváltozó. Általános Informatikai Tanszék Utolsó módosítás:

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

Programozási nyelvek a közoktatásban alapfogalmak II. előadás

ECDL Információ és kommunikáció

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

Bánsághi Anna

Alapsávi ISDN DSS1 jelzésváltás

Bevezető. Servlet alapgondolatok

Hálózati architektúrák és Protokollok GI Kocsis Gergely

Csoportos üzenetszórás optimalizálása klaszter rendszerekben

[SZÁMÍTÓGÉP-HÁLÓZATOK]

Bevezetés az SAP világába. 5. Kommunikációs és integrációs technológiák

Átírás:

3. előadás Protokollok Kommunikáció 2. rész RPC (Remote Procedure Call) távoli eljáráshívás RMI (Remote Method Invocation) távoli metódushívás MOM (Message-Oriented Middleware) üzenetorientált köztesréteg Streams folyamatok - Üzenetküldés elrejtése - Hozzáférési átlátszóság Távoli eljáráshívás RPC kommunikáció menete 2-8 RPC - paraméterátadás Probléma: különböző gépek, különböző adatábrázolással Mutatók Komplex adatszerkezetek => protokoll: Üzenet formátumának definiálása Egyszerű adatszerkezetek ábrázolása Üzenettovábbítás módja IDL (Interface Definition Language) DCE RPC (1) Distributed Computing Environment Konverzió IDL Eljáráshívás szintaxisa Konstans deklaráció Típusdefiníció konvertálási információ Azonosítók

DCE RPC (2) DCE RPC (3) Kliens és a szerver megírásának lépései a DCE RPC esetén. Kliens csatlakozása a szolgáltatáshoz Ajtók - Doors Aszinkron RPC a) A kliens és a szerver együttműködése hagyományos RPC során b) Együttműködés aszinkron RPC esetén Késleltetett szinkronizált RPC RMI elosztott objektumok Kliens és szerver együttműködése két aszinkron RPC segítségével. Modell kliensoldali helyettessel és szerveroldali vázzal.

RMI Kliens csatlakozása az objektumhoz Elosztott objektum Távoli objektum Distr_object* obj_ref; obj_ref = ; obj_ref-> do_something(); // Deklarálja az objektumhivatkozást // Inicializálja az objektumhivatkozást // Implicit csatlakozás és metódushívás Fordítási idejű objektum Futási idejű objektum Állandó objektum Nem állandó objektum Distr_object objpref; Local_object* obj_ptr; obj_ref = ; obj_ptr = bind(obj_ref); obj_ptr -> do_something(); (a) (b) // Deklarálja az objektumhivatkozást // Deklarálja a helyettes mutatóját // Inicializálja az objektumhivatkozást // Explicit csatlakozás (helyettes mutatója) // Helyetes metódusának meghívása a) Implicit csatlakozás b) Explicit csatlakozás RMI távoli művelet hívása Statikus hívás - IDL -> csonk fobject.append(number); Dinamikus hívás - futás közbeni összeállítás invoke(fobject, id(append), number); [ általánosan: invoke(objektum, metódus, input_paraméterek, output_paraméterek); ] Csak távoli objektum Java RMI Objektumok zárolása synchronized kliensen blokkol Helyettes szerializálható Üzenetorientált kommunikáció Korábbi kommunikációs modell RPC, RMI nem mindig használható: Szerver nem biztos, hogy üzemel a kérés elküldésekor Nem mindig hatékony a nagyfokú szinkronitás => üzenetcsere Pufferelés és a küldő blokkolásának lehetséges helyei

Új kommunikációs modell Üzenetküldés Megtartó kommunikáció Időleges kommunikáció Szinkron kommunikáció Aszinkron kommunikáció Ezek kombinációja is lehetséges Kommunikáció fajtái 1. Kommunikáció fajtái 2. a) Megtartó aszinkron kommunikáció b) Megtartó szinkron kommunikáció c) Időleges aszinkron kommunikáció d) Nyugta alapú időleges szinkron kommunikáció Kommunikáció fajtái 3. Üzenetorientált időleges kommunikáció Szállítási réteg által biztosított modell Kommunikációs csatlakozópont (socket) TCP primitívek e) Kézbesítés alapú időleges szinkron kommunikáció f) Válasz alapú időleges szinkron kommunikáció

Berkeley kommunikációs csatlakozópontok Berkeley kommunikációs csatlakozópontok Primitív Csatlakozópont (Socket) Kötés (Bind) Figyel (Listen) Elfogad (Accept) Csatlakozik (Connect) Küld (Send) Fogad (Receive) Lezár (Close) Jelentése Új kommunikációs végpont létrehozása A csatlakozóponthoz hozzárendel egy helyi címet Meghirdeti a kommunikációra való képességet Blokkolja a hívót a kapcsolatfelvételi kérés megérkezéséig Aktívan megkísérli a kapcsolat felépítését Adatot küld a kapcsolaton keresztül Adatot fogad a kapcsolaton keresztül Bontja a kapcsolatot MPI Üzenetátadó interfész MPI Üzenetátadó interfész Message-Passing Interface Csatlakozóponos megoldás nem eléggé magas szintű => kommunkációs könyvtárak inkompatibilitás => MPI (szabványosítás) Időleges kommunikáció Azonosító (csoport, folyamat) Primitív MPI_bsend MPI_send MPI_ssend MPI_sendrecv MPI_isend MPI_issend MPI_recv MPI_irecv Jelentése A helyi küldőpuffer végéhez hozzáadja a kimenő üzenetet Üzenetet küld, és vár annak helyi vagy távoli pufferbe történő másolásáig Üzenetet küld, és vár a nyugta megérkezéséig Üzenetet küld, és vár a válasz megérkezéséig Átad egy kimenő üzenetre mutató hivatkozást, és továbbmegy Átad egy kimenő üzenetre mutató hivatkozást, és várja ennek nyugtázását Üzenet fogadása; blokkolódik, ha nincs üzenet Ellenőrzi, hogy van-e beérkező üzenet, de nem blokkolja a hívót Üzenetorientált megtartó kommunikáció Üzenetsor-kezelő modell Üzenetorientált köztesréteg MOM Megtartó aszinkron kommunikáció Üzenetek köztes szinten való tárolása (várakozási sorok) Várakozási sort használó gyengén csatolt kommunikáció 4 lehetősége

Üzenetsor-kezelő modell Az üzenetsor-kezelő rendszer általános felépítése Primitív Betesz (Put) Kivesz (Get) Lekérdez (Poll) Értesít (Notify) Jelentése A megadott várakozási sor végére helyez egy üzenetet Mindaddig blokkol, amíg üres a várakozási sor, majd kiveszi a legelső üzenetet Megvizsgálja, a megadott várakozási sort, és kiveszi a legelső üzenetet, nem blokkol Egy kezelő rutint installál, amely mindannyiszor meghívásra kerül, ha üzenet kerül a várakozási sorba Az üzenetsor-kezelő rendszer várakozási sorát kezelő alapinterfész Az üzenetsor-kezelő szint szerinti és szállítási szint szerinti cím összefüggése Az üzenetsor-kezelő rendszer általános felépítése Üzenetközvetítők Az útválasztókkal kiépített üzenetsor-kezelő rendszer általános felépítése Az üzenetközvetítőt használó üzenetsor-kezelő rendszer általános felépítése