.NET Remoting on Microsoftin luoma komponentti . API prosessien väliseen viestintään . Microsoftin SOAP -protokollan toteutus ( verkkopalvelut ). Julkaistu vuonna 2002 .NET Frameworkin version 1.0 kanssa . Se on yksi Microsoftin teknologioiden sarjasta, joka alkoi vuonna 1990 OLE :n ensimmäisellä versiolla 16-bittiselle Windowsille . Välivaiheita tällaisten teknologioiden kehittämisessä olivat COM , joka julkaistiin vuonna 1993 ja jalostettiin vuonna 1995 nimellä COM-95, DCOM , joka julkaistiin vuonna 1997 (ja nimettiin uudelleen ActiveX) ja COM+ sen Microsoft Transaction Serverin (MTS) kanssa, joka julkaistiin vuonna 2000 . [1] . Tällä hetkellä .NET Remoting on korvattu WCF :llä , joka on osa .NET Framework 3.0 :aa .
Kuten kaikki tämän perheen jäsenet ja vastaavat tekniikat, kuten CORBA ja RMI , .NET Remoting -ominaisuus on seuraava: .NET Remoting -infrastruktuurin tuella asiakasprosessi lähettää viestin palvelinprosessille ja vastaanottaa vastauksen. [2] [3] .
.NET Remotingin avulla sovellus voi luoda objektin (kutsutaan etäkäyttöiseksi objektiksi ), joka on käytettävissä etäkäytön rajoissa ja joka sijaitsee sovellusalueella yhdessä prosessissa, toisessa prosessissa , joka on käynnissä kyseisessä tietokoneessa tai jopa toisessa verkossa yhdistetyssä tietokoneessa [4 ] . .NET Remoting - prosessi sisältää pyyntökuuntelijan palvelimen sovellusalueen objektille . Asiakaspuolella .NET Remoting -ajonaika reitittää kaikki pyynnöt etäobjektille objektien kautta Channel, jotka ovat siirtokerroksen toimintojen kääreitä, kuten TCP - virtoja, HTTP -virtoja ja nimettyjä putkia . Tämän seurauksena asiakaskoodipyynnöt etäobjekteille eivät eroa paikallisista puheluista, ja luomalla halutun Channel-objektin ilmentymä .NET Remoting -sovellus voidaan siirtää toiseen viestintäprotokollaan ilman uudelleenkääntämistä. Ajonaika itsessään suorittaa objektien sarjoitus- ja järjestysvaiheet asiakkaan ja palvelimen sovellusalueiden välisessä ympäristössä [4] .
.NET Remoting antaa viittauksen etäobjektiin (etä) asiakassovelluksen käyttöön, joka sitten välittää pyynnöt etäobjektiin ikään kuin se olisi paikallinen objekti [4] . Varsinainen koodin suoritus tapahtuu kuitenkin palvelinpuolella. Etäobjektilla on tunnisteet aktivointi - URL -osoitteen muodossa . Palvelinprosessin konfiguraatiosta riippuen etäobjektin ilmentymä luodaan muodostettaessa yhteyttä URL-tietojen [5] avulla, kun luodaan linkki etäobjektiin tai kun etäobjektiin päästään ensimmäisen kerran. .NET Remoting -ajoympäristö luo objektin kuuntelijan, kun palvelin rekisteröi kanavan, jota käytetään yhteyden muodostamiseen etäobjektiin. Asiakaspuolella .NET Remoting -kehys luo paikkamerkkiobjektin ( proxy), joka on korvattavan objektin pseudo-esiintymä. Se ei toteuta etäobjektin toimintoja, mutta tarjoaa samanlaisen käyttöliittymän, joka ohjaa kaikki pyynnöt palvelinobjektiin ja palauttaa sen tulokset asiakkaalle. Tämän seurauksena .NET Remoting -kehyksessä on oltava metatiedot, jotka kuvaavat etäobjektin julkista käyttöliittymää, jotta välityspalvelin voidaan luoda. Tämä voidaan tehdä linkittämällä staattisesti metatiedot sisältävään kokoonpanoon käännöshetkellä tai hakemalla metatiedot dynaamisesti WSDL -muodossa tai Microsoftin kehittämässä omassa muodossa.
Kyselyn suorittamisen aikana kaikki objektiin suunnatut menetelmäkutsut, mukaan lukien menetelmän tunniste ja mahdolliset välitetyt parametrit, sarjoidaan tavuvirraksi ja välitetään protokollakohtaisen viestintäkanavan kautta vastaanottavalle välityspalvelinobjektille palvelinpuolella (" jaettu ") . Siirto tapahtuu kirjoittamalla dataa kanavan [5] siirtotuloon . Palvelinpuolella välityspalvelin lukee datavirran putken lähdöstä ja tekee etäpapukutsun asiakkaan puolesta. Tulokset sarjoidaan ja välitetään putken kautta asiakkaalle, jossa välityspalvelin lukee tuloksen ja välittää sen kutsuvalle sovellukselle [5] .
Jos etäobjektin on tarjottava takaisinsoitto asiakasobjektille, asiakkaan takaisinsoitto-objekti on merkittävä etäkäyttöiseksi ja .NET Remoting -infrastruktuuri on määritettävä luomaan sille kuuntelija [5] . Palvelin voi muodostaa yhteyden siihen toisen kanavan tai olemassa olevan kanavan kautta, jos sen perustana oleva yhteys tukee kaksisuuntaista viestintää [5] . Kanava voi koostua useista kanavaobjekteista, ehkä jopa erilaisilla siirtomekanismeilla. Siten .NET Remotingiin perustuva järjestelmä voi koostua useista alijärjestelmistä, jotka on kytketty toisiinsa heterogeenisten verkkojen kautta, mukaan lukien Internet [5]
.NETTO | |
---|---|
Toteutukset | |
Arkkitehtuuri | |
Infrastruktuuri | |
Microsoftin kielet | |
Muut kielet | |
Windows Foundations | |
Komponentit | |
Vertailut |
|
Tulevaisuuden teknologiat | |
Tietolähteet |