„5. Elosztott rendszerek (2012)” változatai közötti eltérés
a autoedit v2: fájlhivatkozások egységesítése, az új közvetlenül az adott fájlra mutat |
|||
| (2 közbenső módosítás, amit egy másik szerkesztő végzett, nincs mutatva) | |||
| 5. sor: | 5. sor: | ||
==Távoli eljáráshívás== | ==Távoli eljáráshívás== | ||
===Függvényhívás=== | ===Függvényhívás=== | ||
[[ | [[File:rmi.png]] | ||
==== Interfész ==== | ==== Interfész ==== | ||
| 16. sor: | 16. sor: | ||
* Keretrendszer fordítási időben generálja | * Keretrendszer fordítási időben generálja | ||
* Callback minta esetén a kliens oldalon szerepel | * Callback minta esetén a kliens oldalon szerepel | ||
* Sorosítva elküldi a paramétereket, meghívja a távoli függvényt, visszaveszi a visszatérési értéket | |||
* | |||
<pre> | <pre> | ||
int foo(int x, int y, int z) { | int foo(int x, int y, int z) { | ||
| 49. sor: | 30. sor: | ||
} | } | ||
</pre> | </pre> | ||
===Adapter=== | |||
* | ==== Szerializálás ==== | ||
* meghívja az implementációt | * CORBA esteén az OIOP/IIOP specifikálja | ||
* Callback minta esteén a kliens oldalon szerepel | |||
* Keretrendszerben gyárilag implementálva van | |||
* WebService-ek esetén SOAP | |||
==== Adapter ==== | |||
* Callback minta esetén a kliens oldalon szerepel | |||
* CORBA esteén az IDL-ben specifikáljuk | |||
* Beolvassa a paramétereket, meghívja az implementációt, visszaküldi a visszatérési értéket | |||
<pre> | <pre> | ||
void invoke(Skeleton skeleton) { | void invoke(Skeleton skeleton) { | ||
| 64. sor: | 52. sor: | ||
} | } | ||
</pre> | </pre> | ||
==== Implementáció ==== | |||
* Fejlesztö implementálja | |||
* Callback minta esteén a kliens oldalon szerepel | |||
===Problémakezelés=== | ===Problémakezelés=== | ||
* memóriakezelés | * memóriakezelés | ||
| 76. sor: | 69. sor: | ||
** NameService (hierarchikus, név szerinti keresés) | ** NameService (hierarchikus, név szerinti keresés) | ||
** TradeService (szolgáltatás szerint kereshető) | ** TradeService (szolgáltatás szerint kereshető) | ||
==Remote Method Invocation== | ==Remote Method Invocation== | ||
====Szerializálás==== | ====Szerializálás==== | ||
| 97. sor: | 91. sor: | ||
* paraméter: Serializable interfészt megvalósító objektum | * paraméter: Serializable interfészt megvalósító objektum | ||
===Szerver oldal=== | ===Szerver oldal=== | ||
[[ | [[File:rmi-szerver.png]] | ||
====RemoteObject==== | ====RemoteObject==== | ||
* távoli objektumok és stub-ok ősosztálya | * távoli objektumok és stub-ok ősosztálya | ||
| 139. sor: | 133. sor: | ||
===Kliens oldal=== | ===Kliens oldal=== | ||
[[ | [[File:rmi-kliens.png]] | ||
* Stub hivatkozik a távoli objektumra, implementálja annak interfészét | * Stub hivatkozik a távoli objektumra, implementálja annak interfészét | ||
| 290. sor: | 284. sor: | ||
** a csatlakozáshoz proxy kell, mely interfészt nyújt a termelö felé fogyasztóként és a fogyasztó felé termelőként, illetve tárolja a felgyűlt üzeneteket | ** a csatlakozáshoz proxy kell, mely interfészt nyújt a termelö felé fogyasztóként és a fogyasztó felé termelőként, illetve tárolja a felgyűlt üzeneteket | ||
** a kommunikációs modellek keverhetőek | ** a kommunikációs modellek keverhetőek | ||
* Proxy: a supplier proxy-k saját FIFO pufferrel rendelkezdnek | * '''Proxy''': a supplier proxy-k saját FIFO pufferrel rendelkezdnek | ||
** push consumer proxy: a push hatására a csatornához továbbítja az eseményt | ** '''push consumer proxy''': a push hatására a csatornához továbbítja az eseményt | ||
** push supplier proxy: a következő eseményt push hívással adja át a fogyasztónak | ** '''push supplier proxy''': a következő eseményt push hívással adja át a fogyasztónak | ||
** pull supplier proxy: a pull hatására vagy ad egy új eseményt vagy pufferből, vagy blokkol | ** '''pull supplier proxy''': a pull hatására vagy ad egy új eseményt vagy pufferből, vagy blokkol | ||
** pull comsumer proxy: pull hívással kér új eseményt a termelötöl | ** '''pull comsumer proxy''': pull hívással kér új eseményt a termelötöl | ||
===Notification Service=== | ===Notification Service=== | ||
* Plusz szolgáltatások: csatorna factory, események szürése, QoS, NotifyPublish/Subscribe | * Plusz szolgáltatások: csatorna factory, események szürése, QoS, NotifyPublish/Subscribe | ||