2009-09-15 10 views
15

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?¿Cuál es la diferencia entre el servicio web y la comunicación remota?

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

Por favor, discúlpeme si es la pregunta obvia ..

+0

buena pregunta más de lo mismo en su mayoría. – kenny

Respuesta

20

Tanto el apoyo aplicaciones distribuidas.

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

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

+0

Remoting no está muerto (todavía), simplemente desaprobado. –

+8

OK, está muy mal entonces :) – blowdart

0

WebServices 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 usted AppDomain.

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

WCF ha hecho que esto sea mucho más simple utilizando tuberías para la comunicación InterProcess.

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

WCF ahora los ha mejorado y ahora ofrece métodos para este tipo de comunicaciones.

-1

Mientras WebService se implementa a través de HTTP, la conexión remota se implementa a través de TCP/UDP. Por lo tanto, Remoting tiene un mejor rendimiento en términos de velocidad.

+1

Los servicios web no se implementan a través de HTTP a menos que se refiera a una implementación muy específica. Los servicios web por definición W3C son independientes del protocolo de transporte. De hecho, muchos frameworks de servicios web proporcionan transportes a través de TCP, SMTP también (por ejemplo, Metro) – wierob

+0

Bueno, estaba seguro de que el tipo estaba hablando sobre los servicios web .net. –

2

.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 bombo. Pero creo que el W3C definition está destinado en la mayoría de los casos. Define el uso de WSDL como descripción de interfaz y SOAP como protocolo de mensaje.

De acuerdo con Microsoft .NET Remoting: A Technical Overview on MSDN, Remoting utiliza una codificación binaria o XML. Mientras que la codificación XML usa SOAP. Pero hasta donde yo sé, no se adhiere al WS-I Basic Profile. Por lo tanto, proporciona una interoperabilidad de servicio 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 tiene previsto proporcionar interoperabilidad con otros lenguajes de programación, debe usar los servicios web.

0

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 serilazie el objeto y transferir invoque el método remoto (que está en el mismo idioma o plataforma), y proporcione el respone.

El servicio web (servicio SOAP) trata con invocaciones de métodos multiplataforma en términos RPC pero se puede mejorar utilizando servicios de estilo de documento, aquí los lenguajes o plataformas no son las barreras ya que XML actuará como intermediario clasificando y reduciendo el representaciones nativas y XML.

1

Ambos servicios remotos y web son formas de comunicación entre aplicaciones.

Remoting: de manera remota, las aplicaciones involucradas en el proceso de comunicación pueden estar ubicadas en la misma computadora, diferentes computadoras en una misma red o diferente. En remoto, 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 la programación es independiente. La aplicación que consume el servicio web, simplemente accede a él, sin necesidad de saber cómo se ha implementado realmente este servicio web &.

2

A los servicios web basados ​​en ASP.NET solo se puede 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 es compatible con las opciones de administración del estado y puede correlacionar múltiples llamadas del mismo cliente y admitir devoluciones de llamada.

Los servicios web serializan objetos a través de XML contenidos en los mensajes SOAP y, por lo tanto, solo pueden manejar elementos que se pueden expresar completamente en XML. .NET Remoting se basa en la existencia de conjuntos de tiempo de ejecución de lenguaje común que contienen información sobre tipos de datos. Esto limita la información que se debe pasar sobre un objeto y permite que los objetos 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.

Cuestiones relacionadas