Question

Je connais le service Web et j'ai quelques connaissances en communication à distance. Les deux concepts invoquent des méthodes sur la machine cliente, quelle est donc la différence?

Grâce à la communication à distance, nous pouvons également exécuter la méthode sur la machine distante et les mêmes fonctionnalités peuvent également être obtenues via le service Web.

Veuillez m'excuser s'il s'agit d'une question évidente.

Était-ce utile?

La solution

Les deux prennent en charge les applications distribuées.

Les services Web sont multiplates-formes, utilisent des normes communes et fonctionnent à travers des pare-feu. Ils pensent également en termes de messages et non d'objets: vous envoyez un message à un service et vous obtenez une réponse.

La communication à distance est une technologie pour MS uniquement, qui n’est pas multiplateforme et qui parle dans un format binaire. Il pense en termes d'objets, vous créez un objet sur le serveur distant et travaillez avec. Cela ne fonctionne pas bien avec les pare-feu. La communication à distance est également morte de nos jours, les États membres favorisent WCF (qui inclut les services Web)

Autres conseils

Le

Le concept .NET Remoting est une technologie de communication interprocess spécifique à Microsoft / .NET.

Le terme "service Web" est très diffuse en raison de son battage médiatique. Mais je pense que la définition du W3C est prévue dans la plupart des cas. Il définit l'utilisation de WSDL comme description de l'interface et SOAP en tant que protocole de message.

Selon Remoting de Microsoft .NET: présentation technique de MSDN , La communication à distance utilise un codage binaire ou XML. Considérant que l'encodage XML utilise SOAP. Pour autant que je sache, il n’adhère pas au profil de base WS-I . . Par conséquent, il offre une interopérabilité des services Web extrêmement limitée.

Les deux concepts permettent une communication interprocessus. Si votre application utilise uniquement .NET, utiliser .NET Remoting est un bon choix.

Toutefois, si vous envisagez de fournir une interopérabilité avec d'autres langages de programmation, utilisez plutôt les services Web.

Les services Web basés sur ASP.NET sont uniquement accessibles via HTTP. .NET Remoting peut être utilisé avec n’importe quel protocole.

Les services Web fonctionnent dans un environnement sans état où chaque demande génère un nouvel objet créé pour répondre à la demande. .NET Remoting supporte les options de gestion d'état et peut mettre en corrélation plusieurs appels d'un même client et prendre en charge les rappels.

Les services Web sérialisent les objets via XML contenus dans les messages SOAP et ne peuvent donc gérer que des éléments pouvant être entièrement exprimés en XML. .NET Remoting s'appuie sur l'existence des assemblys Common Language Runtime contenant des informations sur les types de données. Cela limite les informations à transmettre sur un objet et permet aux objets d'être transmis par valeur ou par référence.

Les services Web prennent en charge l’interopérabilité sur toutes les plates-formes et conviennent aux environnements hétérogènes. .NET Remoting exige que les clients soient créés à l'aide de .NET ou d'un autre framework prenant en charge .NET Remoting, ce qui signifie un environnement homogène.

La communication à distance et les services Web sont des moyens de communication entre les applications.

Communication à distance - Dans la communication à distance, les applications impliquées dans le processus de communication peuvent être situées sur le même ordinateur, différents ordinateurs sur un même réseau ou sur un autre réseau. Dans la communication à distance, les deux applications se connaissent. Un proxy d'objet d'application est créé sur l'autre application.

Services Web - La communication entre les applications utilisant des services Web est indépendante de la plate-forme et de la programmation. L’application qui consomme le service Web y accède simplement, sans avoir besoin de savoir comment ce service a été implémenté & amp; créé.

Les WebServices sont une forme de communication à distance, car vous exécutez du code ailleurs, où ou sur le même ordinateur en dehors de votre AppDomain.

La communication à distance (InterProcess) sur la même machine ou sur le réseau diffère du fait que vous dirigez votre objet entre les limites AppDomain / platform via des proxies transparents et la sérialisation. Le remoting vient avec ses complexités et peut facilement devenir très complexe. WCF a rendu les choses beaucoup plus simples à maintenir. En termes de performances, je n’ai pas comparé les deux approches et je serais certainement intéressé de voir comment les deux se comporteront dans un contexte InterProcess. Depuis WCF peut communiquer avec des liaisons binaires et n'est pas limité au protocole HTTP.

WCF a simplifié les choses beaucoup plus facilement en utilisant Pipes pour la communication InterProcess.

Au final, les WebServices utilisés pour communiquer via le port 80 (standard) HTTP et Remoting pouvaient communiquer via des ports et des canaux prédéfinis à l'aide de différents systèmes de formatage de sérialisation.

Ils ont maintenant été mis à niveau par WCF, qui fournit désormais des méthodes pour ces types de communication.

Le remoting simule la méthode étrangère invoquée en tant que méthode locale, acceptant le même type de paramètres. Il suffit donc de sécuriser l'objet et de le transférer, d'appeler la méthode distante (qui est dans le même langage ou sur la même plate-forme) et de fournir la réponse.

Le service Web (service SOAP) traite les invocations de méthodes multi-plateformes en termes RPC, mais peut encore être amélioré à l'aide de services de style document. et représentations XML.

Alors que WebService est implémenté via HTTP, Remoting est implémenté via TCP / UDP. Ainsi, la communication à distance est plus performante en termes de vitesse.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top