.NET Remoting

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2018. január 7-én felülvizsgált verziótól ; az ellenőrzések 8 szerkesztést igényelnek .

A .NET Remoting a Microsoft által létrehozott összetevő . API a folyamatok közötti kommunikációhoz . A SOAP protokoll Microsoft általi megvalósítása ( webszolgáltatások ). 2002 -ben adták ki a .NET-keretrendszer 1.0-s verziójával . Ez a Microsoft technológiai sorozatának egyike, amely 1990 -ben kezdődött az OLE 16 bites Windowshoz való első verziójával . Az ilyen technológiák fejlesztésének közbenső lépései a COM 1993 -ban jelentek meg, és 1995 -ben véglegesítették COM-95, DCOM néven., amelyet 1997 -ben adtak ki (és átkeresztelték ActiveX-re), valamint a COM+-t a Microsoft Transaction Server -rel (MTS), amely 2000 -ben jelent meg [1] . Jelenleg a .NET Remotinget a WCF váltotta fel , amely a .NET-keretrendszer 3.0 része .

A család többi tagjához és a hasonló technológiákhoz, például a CORBA -hoz és az RMI -hez hasonlóan a .NET Remoting szolgáltatás a következő: a .NET Remoting infrastruktúra támogatásával a kliens folyamat üzenetet küld a szerverfolyamatnak, és választ kap. [2] [3] .

Áttekintés

A .NET Remoting lehetővé teszi az alkalmazások számára, hogy létrehozzanak egy objektumot (úgynevezett távoli objektum ), amely elérhető a távoli határokon belül és az alkalmazás tartományában található egy folyamaton belül, egy másik folyamatban , amely az adott számítógépen fut, vagy akár egy másik számítógépen, amely hálózathoz kapcsolódik [4 ] . A .NET Remoting folyamat egy kérésfigyelőt tartalmaz egy objektumhoz a kiszolgálóalkalmazás - tartományban . Az ügyféloldalon a távoli objektumokhoz intézett kéréseket a .NET Remoting futási környezet olyan objektumok útján irányítja át Channel, amelyek a szállítási réteg szolgáltatásainak burkolói, például TCP -folyamok, HTTP -folyamok és elnevezett csövek . Ennek eredményeként a távoli objektumokhoz intézett ügyfélkód kérések nem különböznek a helyi hívásoktól, és a kívánt Channel-objektum példányának létrehozásával a .NET Remoting alkalmazás újrafordítás nélkül átvihető egy másik kommunikációs protokollra. A futtatókörnyezet maga hajtja végre az objektumok sorba rendezésének és felosztásának lépéseit a kliens és a szerver alkalmazástartományok közötti környezetben [4] .

A .NET Remoting a távoli (távolítható) objektumra való hivatkozást elérhetővé teszi az ügyfélalkalmazás számára, amely ezután úgy továbbítja a kéréseket a távoli objektumpéldánynak, mintha az egy helyi objektum lenne [4] . A kód tényleges végrehajtása azonban a szerver oldalon történik. A távoli objektum azonosítókkal rendelkezik aktiválási URL formájában . A szerverfolyamat konfigurációjától függően a távoli objektum példánya létrejön az URL-adatok [5] használatával történő csatlakozáskor a távoli objektumra mutató hivatkozás létrehozásának pillanatában vagy a távoli objektumhoz való első hozzáférés pillanatában. Egy objektum figyelőjét a .NET Remoting futási környezet hozza létre, amikor a kiszolgáló regisztrál egy csatornát, amelyet a távoli objektumhoz való csatlakozáshoz használ. Az ügyféloldalon a .NET Remoting keretrendszer létrehoz egy helyőrző objektumot ( proxy), amely a lecserélendő objektum pszeudo példánya. Nem valósítja meg egy távoli objektum funkcionalitását, hanem egy hasonló felületet biztosít, minden kérést átirányít a szerverobjektumra, és az eredményt visszaküldi a kliensnek. Ennek következtében a .NET Remoting keretrendszernek olyan metaadatokkal kell rendelkeznie, amelyek leírják a távoli objektum nyilvános felületét a proxy létrehozásához. Ez megtehető a metaadatokat tartalmazó összeállításhoz való statikus hivatkozással a fordítási időben, vagy a metaadatok dinamikus lekérésével WSDL vagy a Microsoft által kifejlesztett szabadalmaztatott formátumban.

A lekérdezés végrehajtása során minden, az objektumra irányuló metódushívás, beleértve a metódusazonosítót és az átadott paramétereket, egy bájtfolyamba sorosodik , és egy protokoll-specifikus kommunikációs csatornán keresztül jut el a fogadó proxy objektumhoz a szerver oldalon (" összesorolva "). . Az átvitel úgy történik, hogy adatokat írunk a csatorna [5] szállítási bemenetére . A szerver oldalon a proxy beolvassa az adatfolyamot a cső kimenetéből, és távoli komponenshívást kezdeményez a kliens nevében. Az eredményeket sorba rendezik, és egy csövön keresztül továbbítják a kliensnek, ahol a proxy beolvassa az eredményt és továbbítja a hívó alkalmazásnak [5] .

Ha egy távoli objektumnak visszahívást kell biztosítania egy ügyfélobjektum számára, akkor az ügyfél-visszahívási objektumot távolinak kell lennie, és a .NET Remoting infrastruktúrát úgy kell beállítani, hogy figyelőt hozzon létre hozzá [5] . A szerver egy másik csatornán vagy egy meglévő csatornán keresztül kapcsolódhat hozzá, ha az alapul szolgáló kapcsolat támogatja a kétirányú kommunikációt [5] . Egy csatorna több csatornaobjektumból is állhat, esetleg különböző szállítási mechanizmusokkal is. Így egy .NET Remoting alapú rendszer több alrendszerből állhat, amelyeket heterogén hálózatok kapcsolnak össze egymással, beleértve az internetet is [5]

Jegyzetek

  1. Cornella-Dorda, Santiago. Összetevő objektum modell és kapcsolódó  képességek . Carnegie-Mellon Software Engineering Institute (2001. március 13.). Az eredetiből archiválva: 2008. május 15.
  2. Scott McLean, James Naftel és Kim Williams. Microsoft .NET Remoting  . – Microsoft Press, 2002.
  3. Ingo Rammer és Mario Szpuszta. Advanced .NET Remoting  . – Apress , 2005.
  4. 1 2 3 .NET Remoting  Áttekintés . Letöltve: 2007. október 23. Az eredetiből archiválva : 2007. június 30.
  5. 1 2 3 4 5 6 . .NET Remoting Architecture  . Letöltve: 2007. október 23. Az eredetiből archiválva : 2007. június 8..