Servizi Web: il vero affare



È possibile accedere ai servizi Web da qualsiasi applicazione costruita in qualsiasi lingua. Affronta i problemi di comunicazione tra diverse applicazioni.

Hai mai pensato di aiutare qualcuno e non hai trovato il modo per farlo? Sì, lo so che gli sviluppatori di software non hanno tempo per fare tutto questo. In effetti, parte della nostra vita è dedicata alla codifica di un'applicazione o di un'altra. Quindi tutto questo mi ha fatto riflettere, in quanto sviluppatore c'è qualcosa di buono che posso fare ai miei colleghi sviluppatori.





Perché non scrivere un codice che possa essere utilizzato da qualsiasi sviluppatore che codifica in qualsiasi lingua? Non sarebbe fantastico?
Sì! E indovina cosa ? La soluzione è: 'Servizi Web'

I servizi Web per definizione di W3C sono 'un sistema software progettato per supportare l'interazione interoperabile da macchina a macchina su una rete'.



I servizi Web sviluppati in una lingua possono essere utilizzati in qualsiasi altra lingua e la parte migliore è che aiuta a portare la connettività da un'applicazione all'altra.

Quando due sistemi comunicano tra loro, il sistema software che richiede il servizio viene chiamato come richiedente del servizio e il sistema software che elaborerà la richiesta e fornirà il servizio viene chiamato come fornitore del servizio.

Ora, se stai riflettendo su come avviene la comunicazione, passiamo al punto.



Ci sono alcune regole che definiscono come può avvenire la comunicazione tra diversi sistemi. Queste regole includono il modo in cui un sistema può richiedere dati da un altro sistema, i parametri necessari nella richiesta dati, la struttura dei dati prodotti e i messaggi di errore che vengono visualizzati quando determinate regole vengono violate. Queste regole sono definite in un file chiamato WSDL (Web Services Description Language) con estensione .wsdl.

Dopo aver creato un servizio Web, viene generato un file WSDL per descrivere il servizio Web che utilizza il protocollo soap () per pubblicare o registrare il servizio nell'UDDI (Universal Distribution Discovery and Interoperability) in modo che il nostro servizio sia reso disponibile ad altri.
UDDI definisce quale sistema software deve essere contattato per quale tipo di dati.

Il richiedente del servizio contatta l'UDDI e verifica il fornitore che fornisce i dati necessari. Quindi contatta il fornitore di servizi utilizzando il protocollo soap. Il fornitore di servizi convalida la richiesta facendo riferimento al WSDL e restituisce i dati strutturati in XML utilizzando il protocollo Soap. Questo XML viene nuovamente convalidato utilizzando XSD (XML Schema Definition, un documento che definisce regole o elementi per XML).

Divya

Ora che hai capito come funziona, sviluppiamo un servizio web.

Ci sono principalmente tre aspetti che governano lo sviluppo del servizio web in .NET.

1. Creazione di un servizio web
2. Creazione di un proxy
3. Consumare il servizio web creato.

è un master post-laurea

Per creare un servizio web in .net:

1. Fare clic con il pulsante destro del mouse sul progetto> Aggiungi> Nuovo elemento.

1. Web> Servizio Web
2. Inserisci un nome per il tuo servizio web
3. Fare clic su Aggiungi.

Tieni presente che i file del servizio Web terminano con .asmx
Ora che hai creato un servizio web predefinito, vedrai quanto segue:

utilizzando System utilizzando System.Collections.Generic utilizzando System.Linq utilizzando System.Web utilizzando System.Web.Services spazio dei nomi WebApplication5 {/// /// Descrizione di riepilogo per WebService2 /// [WebService (Namespace = 'http: // tempuri. org / ')] [WebServiceBinding (ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem (false)] // Per consentire a questo servizio Web di essere chiamato dallo script, utilizzando ASP.NET AJAX, rimuovere il commento dalla riga seguente. // [System.Web.Script.Services.ScriptService] public class WebService2: System.Web.Services.WebService {[WebMethod] public string HelloWorld () {return 'Hello World'}}}

Nello snippet di codice precedente, la classe del servizio Web eredita da System.Web.Services.WebService che è circondato da un attributo del servizio Web [WebService], in cui è possibile specificare lo spazio dei nomi e fornire una breve descrizione per il servizio Web.

L'attributo WebMethod [WebMethod] viene utilizzato per dichiarare un metodo come parte di un servizio Web. Deve essere posizionato prima della dichiarazione di ogni metodo che si desidera esporre nel servizio web e anche tutti i metodi devono essere dichiarati pubblici.

Per rendere il metodo del tuo servizio web, aggiungi il tuo codice in un metodo pubblico con l'attributo del metodo web nella classe WebService1. Per esempio:

cos'è il sovraccarico del metodo e l'override del metodo
[WebMethod] public int ConvertToFarenheit (int celsius) {int f = 0 f = (celsius * 9/5) + 32 return f}

Dopo aver eseguito il servizio Web, otterremo la pagina seguente:

Ciò include i metodi che esponiamo nel servizio Web e anche un collegamento alla descrizione del servizio che è il file WSDL.
Ora per testare il tuo servizio web, fai clic sul metodo per ottenere la pagina seguente. Passa il valore del parametro e fai clic su invoke.


Otterrai l'output del servizio web in questo modo:

Ora vediamo come utilizzare il servizio web che abbiamo creato nella nostra applicazione.
1. Nel tuo progetto, fai clic con il pulsante destro del mouse su riferimenti> aggiungi riferimento al servizio

Come mostrato nella schermata qui sotto:
1. Fornire l'URL del descrittore del servizio o del file WSDL all'indirizzo. E fai clic su Vai.
Trova il servizio web che abbiamo creato.
2. Fare clic su OK

In Esplora soluzioni possiamo vedere, una directory di riferimento del servizio viene creata in Riferimenti. Include una cartella che contiene tutti i file relativi all'utilizzo del servizio web

Qui, ServiceReference1 è il servizio web che abbiamo creato.
In ServiceReference1> Reference.svcmap> reference.cs è stata creata una classe proxy (WebService1SoapClient) con la quale possiamo chiamare metodi definiti nel nostro servizio web.

Per usarlo nella nostra applicazione:
1. Creare l'oggetto della classe proxy.
2. Chiamare i metodi disponibili nel servizio Web tramite l'oggetto della classe proxy.

utilizzando System utilizzando System.Collections.Generic utilizzando System.Linq utilizzando System.Web utilizzando System.Web.UI utilizzando System.Web.UI.WebControls utilizzando ServiceConsumeApp1.ServiceReference1 utilizzando ServiceConsumeApp1.ServiceReference1 spazio dei nomi ServiceConsumeApp1 {public partial class WebForm1: System.Web. UI.Page {protected void btnConvertRates_Click (object sender, EventArgs e) {WebService1SoapClient fn1 = new WebService1SoapClient () TextBox2.Text = fn1.ConvertToFarenheit (Convert.ToInt32 (TextBox1.Text)).} ToString (TextBox1.Text)).}

Quando eseguiamo l'applicazione, l'output verrà visualizzato come segue, dopo aver posizionato i controlli appropriati nel modulo Web per visualizzare il nostro risultato.

Quindi, questo è il modo in cui creiamo e utilizziamo un servizio Web in .NET.

È possibile creare molti servizi Web in .NET con i passaggi sopra menzionati. È possibile accedere a questi servizi Web da qualsiasi applicazione costruita in qualsiasi lingua. I servizi Web affrontano quindi i problemi di comunicazione tra le diverse applicazioni e si rivelano un vero affare.

Hai domande per noi? Per favore menzionalo nella sezione commenti e ti risponderemo.

Post correlati:

come utilizzare microsoft visual studio