.NET Remoting je komponenta vytvořená společností Microsoft . API pro meziprocesovou komunikaci . Implementace protokolu SOAP od společnosti Microsoft ( webové služby ). Vydáno v roce 2002 s verzí 1.0 rozhraní .NET Framework . Je to jedna z řady technologií od společnosti Microsoft, která začala v roce 1990 první verzí OLE pro 16bitové Windows . Mezistupně ve vývoji těchto technologií byly COM , vydané v roce 1993 a vylepšené v roce 1995 pod názvem COM-95, DCOM , vydané v roce 1997 (a přejmenované na ActiveX) a COM+ se svým Microsoft Transaction Server (MTS), vydané v roce 2000 . [1] . V tuto chvíli byl .NET Remoting nahrazen WCF , který je součástí .NET Framework 3.0 .
Stejně jako u všech členů této rodiny a podobných technologií, jako jsou CORBA a RMI , je funkce .NET Remoting následující: s podporou infrastruktury .NET Remoting odešle klientský proces zprávu procesu serveru a obdrží odpověď. [2] [3] .
.NET Remoting umožňuje aplikaci vytvořit objekt (nazývaný vzdálený objekt ) dostupný v rámci hranic vzdálené komunikace a umístěný v doméně aplikace v rámci jednoho procesu, v jiném procesu běžícím na tomto počítači nebo dokonce na jiném počítači připojeném sítí [4 ] . Proces .NET Remoting obsahuje posluchače požadavků pro objekt v doméně serverové aplikace . Na straně klienta jsou všechny požadavky na vzdálený objekt směrovány běhovým modulem .NET Remoting přes objekty Channel, které jsou obaly pro zařízení transportní vrstvy, jako jsou proudy TCP , proudy HTTP a pojmenované kanály . V důsledku toho se požadavky na vzdálené objekty na klientský kód neliší od místních volání a vytvořením instance požadovaného Channel-object lze aplikaci .NET Remoting přenést na jiný komunikační protokol bez rekompilace. Samotný běhový modul provádí kroky serializace a zařazování objektů v prostředí mezi klientskou a serverovou aplikační doménou [4] .
.NET Remoting zpřístupní odkaz na vzdálený (vzdálený) objekt klientské aplikaci, která pak předá požadavky na instanci vzdáleného objektu, jako by to byl lokální objekt [4] . Skutečné spuštění kódu však probíhá na straně serveru. Vzdálený objekt má identifikátory ve formě aktivační adresy URL . V závislosti na konfiguraci procesu serveru se při připojení pomocí URL dat [5] v okamžiku vytvoření odkazu na vzdálený objekt nebo v okamžiku prvního přístupu ke vzdálenému objektu vytvoří instance vzdáleného objektu. Posluchač pro objekt je vytvořen běhovým modulem .NET Remoting, když server zaregistruje kanál, který bude použit pro připojení ke vzdálenému objektu. Na straně klienta vytvoří rámec .NET Remoting zástupný objekt ( proxy), který je pseudo instancí nahrazovaného objektu. Neimplementuje funkce vzdáleného objektu, ale poskytuje podobné rozhraní, přesměrovává všechny požadavky na objekt serveru a vrací výsledky z něj klientovi. V důsledku toho musí mít rámec .NET Remoting metadata, která popisují veřejné rozhraní vzdáleného objektu, aby bylo možné vytvořit proxy. To lze provést statickým propojením se sestavou obsahující metadata v době kompilace nebo dynamickým načtením metadat ve formě WSDL nebo proprietárního formátu vyvinutého společností Microsoft.
Během provádění dotazu jsou všechna volání metod směrovaná na objekt, včetně identifikátoru metody a všech předávaných parametrů, serializována do bajtového proudu a předávána komunikačním kanálem specifickým pro protokol do přijímajícího proxy objektu na straně serveru (" zařazeno ") . K přenosu dochází zápisem dat na transportní vstup kanálu [5] . Na straně serveru proxy čte datový tok z výstupu roury a jménem klienta provede vzdálené volání typu bean. Výsledky jsou serializovány a předány rourou klientovi, kde proxy načte výsledek a předá jej volající aplikaci [5] .
Pokud vzdálený objekt potřebuje poskytnout zpětné volání objektu klienta, musí být objekt zpětného volání klienta označen jako vzdálený a infrastruktura .NET Remoting musí být nakonfigurována tak, aby pro něj vytvořila posluchač [5] . Server se k němu může připojit přes jiný kanál nebo přes existující, pokud připojení, na kterém je založen, podporuje obousměrnou komunikaci [5] . Kanál může být složen z několika kanálových objektů, možná dokonce s různými transportními mechanismy. Systém založený na .NET Remoting se tedy může skládat z několika subsystémů propojených navzájem propojenými heterogenními sítěmi, včetně internetu [5]
.SÍŤ | |
---|---|
Implementace | |
Architektura | |
Infrastruktura | |
jazyky Microsoft | |
Jiné jazyky | |
Základy Windows | |
Komponenty | |
Srovnání |
|
Budoucí technologie | |
Informační zdroje |