Hledejte v chronologicky řazené databázi studijních materiálů (starší / novější příspěvky).

Implementace RPC

Implementace RPC v C/S je uvedena na následujícím obrázku:

Vazební procedura (VP) (stub) zde představuje lokální proceduru, jejímž cílem je zakrýt aplikačnímu programu (resp. obsloužit pro něj) detailní práci v síti včetně obsluhy chyb přenosu, opakovaného vysílání apod. Modul přenosu zprávy (MPS) zajišťuje přenos zpráv v síti. Provedení vzdálené procedury je zajištěno následujícími kroky: Volání vzdálené procedury se v procesu klienta jeví jako vyvolání normální (tj. lokální) procedury. Parametry procedury se klientem předají na VP klienta, který z nich vytvoří zprávu. Tato zpráva se prostřednictvím MPS klienta pošle na MPS serveru. Ten ji předá VP serveru, který z nich vytvoří „jakoby“ lokální volání procedury serveru s uvedenými parametry a zahájí provedení této procedury. Server si neuvědomuje, že byla vyvolána vzdáleně, neboť byla vazební procedurou VP serveru vyvolána shodně jako lokální procedura. Po svém provedení procedura předá výsledek programu, který ji vyvolal, tj. VP v uzlu serveru. Ten vytvoří z výsledků zprávu, kterou předá MPS serveru, který zprávu zašle na MSP klienta. Ten zprávu přijme a předá ji VP klienta, který „rozbalí“ výsledky a předá je programu, který vzdálenou proceduru vyvolal, tj. procesu klienta. VP klienta, resp. serveru, představují procedury, které lze generovat kompilátorem jazyka, v němž je procedura napsána. VP vytvoří zprávu ve formě paketů a předá ji MPS, který představuje komunikační mechanismus sítě (tj. v zásadě vrstvy 1 až 4 modelu ISO). MPS pak zajistí bezchybný přenos paketů sítí na odpovídající MPS v serveru.

Žádné komentáře:

Okomentovat