Leggendo di Atlas (come si fa ad ignorarlo, di questi tempi?), sono rimasto veramente impressionato dal lavoro di automazione che è stato fatto sul caro, vecchio, desueto... behavior WebService.htc!
Un pò di codice non guasta... è stato scritto nel 2002...
var iCallID;
function init()
{
service.useService("http://davide/MyServices/MyService.asmx?WSDL","MyService");
}
function ResultHandle(result)
{
// if there is an error, and the call came from the call() in init()
if(result.error)
{
// Pull the error information from the event.result.errorDetail properties
var xfaultcode = result.errorDetail.code;
var xfaultstring = result.errorDetail.string;
var xfaultsoap = result.errorDetail.raw;
alert(xfaultstring);
}
// if there was no error
else
{
// Show the arithmetic
//alert(result.value);
txtResult.value=result.value;
}
}
function Button1_onclick()
{
iCallID=service.MyService.callService(ResultHandle,"add",txtAdd1.value,txtAdd2.value);
}
<div id="service" style="BEHAVIOR:url(webservice.htc)"></div>
<INPUT id="Button1" style="Z-INDEX: 101; LEFT: 176px; POSITION: absolute; TOP: 48px" type="button" value="Somma!" name="Button1" language="javascript" onclick="return Button1_onclick()">
<INPUT id="txtAdd1" style="Z-INDEX: 102; LEFT: 16px; WIDTH: 72px; POSITION: absolute; TOP: 48px; HEIGHT: 24px" type="text" size="6" name="Text1">
<INPUT id="txtAdd2" style="Z-INDEX: 103; LEFT: 96px; WIDTH: 72px; POSITION: absolute; TOP: 48px; HEIGHT: 22px" type="text" size="6" name="Text2">
<INPUT id="txtResult" style="Z-INDEX: 104; LEFT: 256px; WIDTH: 112px; POSITION: absolute; TOP: 48px; HEIGHT: 22px" type="text" size="13" name="Text3">
Chi se lo ricorda? E' un behavior che si poteva (forse si può ancora) scaricare da Microsoft, il quale faceva esattamente ciò che fa Atlas! Un pò di codice non guasta (è stato scritto nel lontano 2002):
Per completare il tutto bisogna scrivere la parte server, ma comunque non è così importante. Quello che fa riflettere è come la tecnologia che sta alla base del web rimanga la stessa; ciò nonostante il team di ASP.net riesce, anno dopo anno, a produrre modelli che facilitano il lavoro di noi "poveri" costruttori di applicazioni. La nuova versione di ASP.net è ciò che mi ha ricordato di più il buon vecchio Visual Basic 6... una vera suite RAD per la creazione di applicazioni web.
Ritornando al discorso di ATLAS, sono comunque molto interessato all'argomento sicurezza... come integrare il tutto con WSE? Lo storage locale delle credenziali come viene fatto? E' possibile impiegare le stesse credenziali utilizzate per il login fatto tramite la Forms Authentication? Indagheremo...