Pregunta

Conozco el servicio web y tengo algunos conocimientos sobre comunicación remota. Ambos conceptos invocan métodos en la máquina del cliente, entonces, ¿dónde radica la diferencia?

A través de la comunicación remota también podemos ejecutar el método en la máquina remota y también se puede lograr la misma funcionalidad a través del servicio web ...

Disculpe si es la pregunta obvia ...

¿Fue útil?

Solución

Ambos admiten aplicaciones distribuidas.

Los servicios web son multiplataforma, utilizan estándares comunes y funcionan a través de firewalls. También piensan en términos de mensajes, no de objetos: envía un mensaje a un servicio y recibe una respuesta.

Remoting es una tecnología solo para MS que no es multiplataforma y habla en formato binario. Piensa en términos de objetos, crea un objeto en el servidor remoto y trabaja con él. No funciona bien con firewalls. La comunicación remota también está muerta en estos días, MS está a favor de WCF (que incluye servicios web)

Otros consejos

.NET Remoting concept es una tecnología de comunicación entre procesos específica de Microsoft / .NET.

El término "servicio web" Es muy difuso debido a su exageración. Pero creo que la definición W3C está destinada en la mayoría de los casos. Define el uso de WSDL como descripción de la interfaz y SOAP como protocolo de mensaje.

Según Microsoft .NET Remoting: una descripción técnica sobre MSDN , Remoting utiliza una codificación binaria o XML. Mientras que la codificación XML utiliza SOAP. Pero hasta donde yo sé, no se adhiere al WS-I Basic Profile . Por lo tanto, proporciona una interoperabilidad de servicios web extremadamente limitada.

Ambos conceptos permiten la comunicación entre procesos. Si su aplicación solo usa .NET, entonces usar .NET Remoting es una buena opción.

Sin embargo, si planea proporcionar interoperabilidad con otros lenguajes de programación, debe utilizar los servicios web.

Los servicios web basados ??en ASP.NET solo se pueden acceder a través de HTTP. .NET Remoting se puede usar en cualquier protocolo.

Los servicios web funcionan en un entorno sin estado donde cada solicitud da como resultado un nuevo objeto creado para atender la solicitud. .NET Remoting admite opciones de administración de estado y puede correlacionar varias llamadas desde el mismo cliente y admitir devoluciones de llamada.

Los servicios web serializan objetos a través de XML contenido en los mensajes SOAP y, por lo tanto, solo pueden manejar elementos que pueden expresarse completamente en XML. .NET Remoting se basa en la existencia de los ensamblados de Common Language Runtime que contienen información sobre los tipos de datos. Esto limita la información que se debe pasar sobre un objeto y permite que los objetos se pasen por valor o por referencia.

Los servicios web admiten la interoperabilidad entre plataformas y son buenos para entornos heterogéneos. .NET Remoting requiere que los clientes se creen utilizando .NET u otro marco que admita .NET Remoting, lo que significa un entorno homogéneo.

Tanto la comunicación remota como los servicios web son formas de comunicación entre aplicaciones.

Remoting: en la comunicación remota, las aplicaciones involucradas en el proceso de comunicación pueden estar ubicadas en la misma computadora, diferentes computadoras en una misma o diferente red. En la comunicación remota, ambas aplicaciones se conocen entre sí. Se crea un proxy de un objeto de aplicación en la otra aplicación.

Servicios web: la comunicación entre aplicaciones que utilizan servicios web es independiente de la plataforma y de la programación. La aplicación que consume el servicio web, simplemente accede a él, sin necesidad de saber cómo se ha implementado este servicio web & amp; creado.

Los servicios web son una forma de comunicación remota, ya que efectivamente está ejecutando código en otro lugar o en la misma máquina fuera de su dominio de aplicación.

Remoting (InterProcess) en la misma máquina o en la red, es diferente en el sentido de que usted ordena su objeto entre AppDomain / plataforma de límites a través de servidores proxy transparentes y serialización. Remoting viene con sus complejidades y puede fácilmente volverse muy complejo. WCF ha hecho las cosas mucho más simples de mantener. En cuanto al rendimiento, no he comparado ambos enfoques y definitivamente estaría interesado en ver cómo funcionan ambos en un contexto InterProcess. Dado que WCF puede comunicarse con enlaces binarios y no está limitado al Protocolo HTTP.

WCF ha simplificado mucho el uso de Tuberías para la comunicación entre procesos.

Al final, WebServices solía comunicarse a través del puerto 80 (estándar) HTTP y Remoting podía comunicarse a través de puertos y canales predefinidos utilizando diferentes formateadores de serialización.

Ahora WCF los ha actualizado y ahora proporciona métodos para este tipo de comunicaciones.

Remoting es simular el método foráneo invocado como método local, aceptando el mismo tipo de parámetros, por lo tanto, todo lo que necesita es serializar el objeto y transferir invocar el método remoto (que está en el mismo idioma o plataforma), y proporcionar la respuesta.

El servicio web (servicio SOAP) se ocupa de las invocaciones de métodos multiplataforma en términos de RPC, pero se puede mejorar aún más utilizando servicios de estilo de documento, aquí los idiomas o las plataformas no son las barreras, ya que XML actuará como intermediario al ordenar y desarticular al nativo y representaciones XML.

Mientras WebService se implementa a través de HTTP, Remoting se implementa a través de TCP / UDP. Por lo tanto, Remoting funciona mejor en términos de velocidad.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top