AJAX sì ma... con i Webservices!

Da un po' di tempo a questa parte si sente molto parlare (anche sugli altri blog e nei forum di ASP Italia) di AJAX, acronimo di "Asynchronous JavaScript and XML", una tecnologia basata su XMLHttpRequest (che è ormai supportato da tutti i principali browser)
L'idea di fondo è piuttosto semplice (e nemmeno troppo innovativa) ma permette di aggiornare una pagina a seguito di chiamate al server senza dover ricaricare interamente la pagina stessa.

 NOTA: chi, leggendo "AJAX", ha pensato ad un detersivo o ad una squadra di calcio olandese può farsi un'idea dell'argomento trattato utilizzando il client Web di GMail o Google Suggest per vedere AJAX all'opera.

Per non essere fuori moda ho pensato di sviluppare anch'io qualcosa utilizzando AJAX e, dopo qualche test, sia con libreria strettamente client che con AJAX.NET, mi è venuta un'idea: anziché fare chiamate a pagine che rispondono in generico XML (o peggio ancora con qualche altra sintassi custom inventata al momento), perché non invocare dei normali e - si spera - standard webservices?

In questo modo, lato server, non ci resterebbe altro da fare che esporre la funzionalità che ci interessa invocare da remoto come WebMethod (con .NET non c'è niente di più facile, no?)

Ma come utilizzare poi la risposta SOAP senza processarla di volta in volta con del nuovo codice JavaScript alla ricerca dei nodi che ci interessano (ovvero come se fosse del "banale" XML)?
Semplicemente utilizzando la descrizione del webservice stesso: il suo WSDL!
Con un po' di codice JavaScript sono arrivato a generare "al volo" anche le classi più complesse che un webservice possa restituire, simulando in tutto e per tutto il proxy di .NET (cioè quello che fa Visual Studio all'aggiunta di un Web Reference o il tool dell'SDK "wsdl.exe")

Se ho stimolato la vostra curiosità e siete ansiosi di vedere all'opera il mio "SOAP Client", all'indirizzo http://www.guru4.net/articoli/javascript-soap-client/ trovate:

  • il codice sorgente ampiamente commentato
  • il downalod della libreria (è un solo file js e pesa circa 7 KB!)
  • una decina di esempi di utilizzo (demo)

Ovviamente sono graditi commenti, impressioni e suggerimenti!

Nella stessa categoria

Commenti
andrewz scrive:
AJAX sì ma... con i Webservices!

Ho provato solo ora la tua tecnica... CLAP CLAP CLAP! Bellissimo lavoro, ottima l'idea dell'uso dei WS!

Bravo Matteo!
26/11/2005 ore 20.21 | 1 risposta
»»»» m.casati scrive:
28/11/2005 ore 9.00
TrackBack scrive:
Commento al Real Code Day

Alessandro Ghioldi
Ecco qui il commento (serio o quasi), per comodità userò
l'agenda ufficiale e commento sessione per...

27/10/2005 ore 17.38
TrackBack scrive:
AJAX al Real Code Day

Alessandro Ghioldi
Leggo ora sul blog di Stefano
Mostarda che al Real Code
Day terrà una sessione dal titolo assai...

24/10/2005 ore 12.34
TrackBack scrive:
21/10/2005 ore 12.27
simone_b scrive:
AJAX sì ma... con i Webservices!

Gran bel lavoro... ho trovato i tuoi articoli molto interessanti
04/10/2005 ore 17.01 | 1 risposta
»»»» m.casati scrive:
04/10/2005 ore 17.42

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.

© 1998-2008 - Code and fun - Il blog di Matteo Casati

TagCloud
BLOG INFO
  • Post: 37
  • Commenti: 48
  • TrackBacks: 12
  • Feed blog e contenuti tecnici: RSS
  • Feed blog: RSS Atom OPML
CATEGORIE
I PIÙ LETTI DEL MESE
IN EVIDENZA