2009-06-23 12 views
15

Quali sono le differenze tra un servizio Web e un servizio Windows?Quali sono le differenze tra un servizio Web e un servizio Windows?

La mia esperienza è stata principalmente con i servizi di Windows e non ho mai creato un servizio web.

I servizi Web si comportano in modo simile ai servizi di Windows?
Possono avere pianificazione, esecuzione in determinati orari, ecc.?
Quando si utilizza un servizio Web al posto di un servizio Windows e viceversa?

risposta

38

Sono così diversi come possono essere due cose.

Un servizio Windows è un'applicazione che viene eseguita senza che un utente sia collegato al sistema, in genere per elaborare alcuni dati sulla macchina che non richiedono l'intervento dell'utente.

Un servizio Web è un sito Web che, una volta contattato, restituisce XML (in genere) in uno dei numerosi formati standard che il consumatore del servizio deve elaborare.

Uno non può essere sostituito per l'altro. Sono fondamentalmente diversi.

+6

+1 e JSON è una seconda opzione popolare per un formato di risposta – cgp

+0

Sono davvero così diversi? Se si dispone di un servizio Windows che elabora i messaggi ricevuti da MSMQ su richiesta. È molto diverso da un servizio web che elabora le richieste HTTP su richiesta? –

+0

@Welbog All'inizio di quest'anno (nel nostro calendario), ho avuto un'intervista, per essere onesti, ero un buon programmatore attraverso le persone con cui ero in contatto, ma non ho mai lavorato su un'applicazione web based (solo un po 'di web forma intorno al 2005, e alcuni MVC ciao mondo), ..., Quindi, dovuto il mio 'CV', la società, chiamato, e sono andato a intervistare, è stato buono, anche se non ero un utente web è andato bene, finché non hanno chiesto sulla differenza tra il servizio web e widnwos, e la parte difficile ... il servizio web può essere utilizzato per inviare dati critici, all'interno di un'azienda ... Quindi, puoi dirci del loro utilizzo, dei dettagli e delle preferenze? – deadManN

12

Ci stai chiedendo di confrontare mele e arance. Sto postando definizioni e link a ulteriori letture per voi in modo da poter vedere perché queste due cose sono esclusive e non possono essere confrontate come si sta tentando di fare.

Web service:

servizi Web sono spesso solo le interfacce di programmazione delle applicazioni Internet (API) che si può accedere attraverso una rete, come Internet, ed eseguito su un sistema remoto che ospita i servizi richiesti

Windows service:

servizio a Windows è un eseguibile di lunga durata che esegue funct specifica ioni e che è progettato per non richiedere l'intervento dell'utente.

+0

Quindi, quando creiamo il contratto WCF e lo ospitiamo su un servizio Windows, siamo fornitori di API, quindi di cosa si tratta? il servizio Windows ... o un servizio Web (ad esempio, che implementa ed esegue alcuni servizi di hosting Web in background, senza che lo sappiamo) – deadManN

2

I servizi Web sono semplicemente un modo di esporre i servizi per il consumo. Riguardano l'interazione tra componenti.

Un servizio Windows è un eseguibile che viene eseguito per un lungo periodo su una macchina per eseguire alcune attività.

Non si userebbe l'uno al posto dell'altro - eseguono due funzioni completamente diverse.

Per (un semplice) esempio (per evidenziare la differenza), se si voleva un metodo per passare i messaggi di controllo per il vostro servizio, si potrebbe esporre un webservice come il protocollo attraverso il quale i terzi sarebbero comunicare con il servizio.

1

Un servizio Web è un sistema software utilizzato per la comunicazione macchina per macchina su una rete.

Ecco lo wiki for Web Service.

Un servizio Windows, nel contratto, è un servizio che viene eseguito su una macchina locale.

Ecco lo wiki for Windows Service.

Sono tecnologie indipendenti, l'una non sostituisce l'altra.

3

Un servizio Web è un'interfaccia HTTP per un sistema. Ad esempio: l'API di Twitter o l'API di Google Maps sono servizi web REST.

Un servizio Windows è un processo in background eseguito senza interazione dell'utente.

I due non sono correlati.

0

il servizio Web è stato utilizzato principalmente nell'integrazione delle applicazioni tra i sistemi.

Il servizio Windows è stato principalmente utilizzato nelle attività in background e nelle attività pianificate.

Un programma di servizio Windows può chiamare metodi di servizio Web. Il programma di servizio Web non può chiamare i metodi di servizio della finestra.

+0

Un programma di servizio Web può chiamare i metodi di servizio della finestra. – tuinstoel

1

Non penso che ci sia una differenza molto grande, un servizio Web viene eseguito in IIS o Apache, un servizio Windows no. È possibile chiamare i metodi di servizio di Windows utilizzando i servizi remoti ed è possibile creare il servizio Windows con WCF. I metodi di un servizio Windows possono restituire anche xml o json.

IIS 6 non supporta tutte le possibilità di WCF, quindi abbiamo creato i servizi Windows WCF (questo è chiamato self hosting).

Sia un servizio Web che un servizio Windows sono app che vengono eseguite in background. È possibile utilizzare WCF per creare entrambi i tipi di servizi.

+2

Non si crea un servizio Windows con WCF, ma è possibile ospitare un servizio WCF in un servizio Windows. :) – markt

Problemi correlati