2009-06-23 1164 views
15

¿Cuáles son las diferencias entre un servicio web y un servicio de Windows?¿Cuáles son las diferencias entre un servicio web y un servicio de Windows?

Mi experiencia ha sido principalmente con servicios de Windows, y nunca he creado un servicio web.

¿Los servicios web se comportan de manera similar a los servicios de Windows?
¿Pueden tener programación, ejecutarse en determinados momentos, etc.?
¿Cuándo usaría un servicio web en lugar de un servicio de Windows, y viceversa?

Respuesta

38

Son tan diferentes como dos cosas pueden ser.

Un servicio de Windows es una aplicación que se ejecuta sin que un usuario inicie sesión en el sistema, generalmente para procesar algunos datos en la máquina que no necesitan intervención del usuario para trabajar.

Un servicio web es un sitio web que, cuando se lo contacta, devuelve XML (generalmente) en uno de varios formatos estándar para que el consumidor del servicio lo procese.

Uno no puede ser sustituido por el otro. Ellos son fundamentalmente diferentes.

+6

+1, y JSON es una segunda opción popular para un formato de respuesta – cgp

+0

¿Son realmente tan diferentes? Si tiene un servicio de Windows que procesa los mensajes recibidos de MSMQ a pedido. ¿Es eso muy diferente de un servicio web que procesa solicitudes HTTP a pedido? –

+0

@Welbog Alrededor del comienzo de este año (en nuestro calendario), tuve una entrevista, para ser honesto, era un buen programador a través de personas con las que estaba en contacto, pero nunca trabajé en aplicaciones basadas en web (solo un poco de web forma alrededor de 2005, y algunos MVC hola mundo), ..., Así que debido a mi 'CV', la compañía, llamó, y fui a la entrevista, que era bueno, aunque no era usuario de la web, fue bien, hasta que preguntaron acerca de la diferencia de servicio web y widnwos one, y la parte difícil ... ¿se puede usar el servicio web para enviar datos críticos, dentro de una empresa ... Entonces, ¿puede decirnos sobre su uso, detalles y preferencias? – deadManN

12

Nos está pidiendo que comparemos manzanas y naranjas. Estoy publicando definiciones, así como enlaces a otras lecturas para que pueda ver por qué estas dos cosas son exclusivas y no se pueden comparar como lo que está tratando de hacer.

Web service:

servicios Web son con frecuencia sólo las interfaces de programación de aplicaciones de Internet (API) que se puede acceder a través de una red, tal como Internet, y se ejecuta en un sistema remoto que aloja los servicios solicitados

Windows service:

servicio a Windows es un archivo ejecutable de larga duración que realiza func específica iones y que está diseñado para no requerir la intervención del usuario.

+0

Así que cuando creamos WCF Contract y lo alojamos en un servicio de Windows, somos proveedores de API, ¿entonces de qué se trata? el servicio de Windows ... o un servicio web (por ejemplo, que implementan y ejecutan algún servicio de alojamiento web en segundo plano, sin que lo sepamos) – deadManN

2

Los servicios web son simplemente una forma de exponer los servicios para el consumo. Se trata de la interacción entre componentes.

Un servicio de Windows es un ejecutable que se ejecuta durante mucho tiempo en una máquina para realizar alguna tarea.

No utilizará una en lugar de la otra; realizan dos funciones completamente diferentes.

Para (a simples) ejemplo (para resaltar la diferencia), si se desea un método para transmitir mensajes de control a su servicio, podría exponer a un servicio web como el protocolo a través del cual los terceros tendrían comunicarse con su servicio.

1

Un servicio web es un sistema de software utilizado para la comunicación máquina a máquina a través de una red.

Aquí está el wiki for Web Service.

Un servicio de Windows, en contrato, es un servicio que se ejecuta en una máquina local.

Aquí está el wiki for Windows Service.

Son tecnologías independientes, una no reemplazaría a la otra.

3

Un servicio web es una interfaz HTTP para un sistema. Por ejemplo: la API de Twitter o la API de Google Maps son servicios web REST.

Un servicio de Windows es un proceso en segundo plano que se ejecuta sin interacción del usuario.

Los dos no están relacionados.

0

el servicio web se usa principalmente en la integración de aplicaciones entre sistemas.

el servicio de Windows se utilizaba principalmente en tareas en segundo plano, tareas programadas.

Un programa de servicio de Windows puede llamar a los métodos de servicio web. programa de servicio web no puede llamar a los métodos de servicio de ventana.

+0

Un programa de servicio web puede llamar a los métodos de servicio de ventana. – tuinstoel

1

No creo que haya una diferencia muy grande, un servicio web se ejecuta en IIS o Apache, un servicio de Windows no lo hace. Puede llamar a los métodos de servicio de Windows mediante el uso remoto y puede crear un servicio de Windows con WCF. Los métodos de un servicio de Windows también pueden devolver xml o json.

IIS 6 no es compatible con todas las posibilidades de WCF, por lo que tenemos servicios de construcción de ventanas WCF (esto se llama autohospedaje).

Tanto un servicio web como un servicio de Windows son aplicaciones que se ejecutan en segundo plano. Puede usar WCF para crear ambos tipos de servicios.

+2

No crea un servicio de Windows con WCF, pero puede alojar un servicio WCF en un servicio de Windows. :) – markt

Cuestiones relacionadas