2010-10-17 14 views
11

Alcune domande mi confondono ragazzi, sono completamente nuovo ai servizi web.Differenza tra webservice, metodi web e codice lato server?

  1. Qual è la differenza tra di servizi web, metodi web e server di codice lato?

  2. Dove è preferibile il servizio Web rispetto ai metodi lato server?

  3. Dove si desidera utilizzare i metodi Web ?

  4. In che modo il servizio Web differisce dal postback del server?

  5. I servizi Web sono leggeri? Possono essere utilizzati per salvare anche i moduli web lunghi ?

  6. In un'applicazione aziendale , quale di questi devo usare frequentemente e perché?

risposta

16

Qual è la differenza tra web servizio, metodi web e il codice lato server?

Un servizio Web è un endpoint esposto che viene normalmente utilizzato come API o, in altre parole, l'utente finale è in genere un'altra applicazione piuttosto che un'interfaccia utente. Un metodo web è un metodo particolare esposto su un servizio web.

D'altra parte, il codice lato server si applica a qualsiasi pagina Web ASP.NET, servizio Web o altra tecnologia per l'implementazione generale delle sue funzionalità.

Dove è preferibile il servizio web sui metodi lato server ?

I servizi Web eccellono nel rendere un'applicazione compatibile con altre piattaforme di programmazione o per servire richieste AJAX a una pagina Web. Ci sono molti altri usi, ma in genere l'uso di WCF o HttpHandlers sono opzioni migliori in questi casi.

Dove sono preferiti i metodi Web ?

I metodi Web possono essere utilizzati in qualsiasi pagina .aspx o più tipicamente in un file .asmx (servizio Web).

In che modo il servizio Web è diverso dal post sul lato server ?

Un postback sul lato server si verifica quando una pagina Web pubblica i dati sul server per l'elaborazione. Un servizio web è completamente diverso: è un endpoint esposto per il consumo da un'altra applicazione (o all'interno della stessa applicazione).

I servizi Web sono leggeri? È possibile utilizzare per salvare moduli Web lunghi come ?

No, i servizi web non sono peso leggero, in realtà sono esattamente il contrario perché in genere ricevere e rispondere ai dati utilizzando XML (un formato ingombrante). Tuttavia, questo li rende molto facili da usare con altri linguaggi di programmazione.

In un'applicazione web enterprise, che uno di questi dovrei usare spesso e perché?

Questa è una domanda molto soggettiva. Ogni tecnologia nel framework .NET ha un set di funzionalità che eccelle e in genere può fare molte altre cose (ma non molto bene). Ogni strumento ha il suo posto, si tratta solo di abbinare gli strumenti da utilizzare con i requisiti del tuo progetto.

Tuttavia, a giudicare dal resto delle domande, sembra che si stia semplicemente creando un sito Web tipico che non richiede un'API, nel qual caso sarebbe meglio utilizzare pagine e codice .aspx.

+0

Grazie NightOwl. Le tue risposte sono state davvero utili per me =) –

1

mia tassonomia:

Servizio - un pezzo di nome della funzionalità fornisce un certo valore ad un altro componente, delimitato da un contratto di qualche descrizione.

Operazione - una funzionalità di parte specificatamente denominata che un servizio espone. In genere i servizi possono esporre 1 o più operazioni.

Servizio Web - Un servizio che viene esposto utilizzando la tecnologia Web come HTTP o su Internet.

Codice lato server - l'implementazione delle funzionalità del servizio. Puoi considerare questo come il codice dal quale è stato creato il servizio.

Metodo Web - Un termine particolare che si riferisce a un'operazione su un servizio Web. In alcune tecnologie questo è anche usato per descrivere la tecnologia utilizzata per implementare un'operazione. Li usi per implementare un'operazione - ad es. il codice lato server dell'operazione.

A postback del server è quando un servizio richiama di solito l'utente originale del servizio in modo asincrono.

Poiché i servizi Web sono solo servizi esposti tramite la tecnologia Internet , possono essere pesanti o leggeri come necessario. Dipende dai requisiti dei contratti delle operazioni.

Quale dovresti usare? Non posso dire che ogni requisito è diverso.

4

Il termine "metodo Web" ha diversi significati, tra i quali:

  1. Nel eredità ASMX tecnologia web service, le operazioni di servizio web sono stati creati aggiungendo l'attributo [WebService] a una classe pubblica, e l'attributo [WebMethod] a metodi di istanza pubblici di tale classe. questi metodi sarebbero quindi esposti come operazioni di servizio web.
  2. Esiste una tecnologia correlata, "Metodi di pagina" che fa parte di ASP.NET. Fondamentalmente consente di creare piccoli servizi Web utilizzando l'attributo [WebMethod] su un metodo statico pubblico di una classe di pagina.

In entrambi i casi il termine è specifico per la tecnologia di implementazione. Il termine generico è "operazione di servizio web". Ad esempio, in WCF, viene creata un'operazione di servizio Web posizionando l'attributo [OperationContract] su un metodo.

Si noti che ASMX è ora considerato da Microsoft una "tecnologia legacy". Tutto il nuovo sviluppo dovrebbe usare WCF.

0

Il termine "metodo" o "metodo web" è strettamente una terminologia Microsoft. Non è un termine appropriato mai suggerito dallo standard w3c.

Microsoft è noto per aver imbastito la terminologia software appropriata, incluso il concetto di paradigma di programmazione Object Oriented.

Problemi correlati