luglio 2003 Blog Posts
Nel precedente post ho introdotto un eccellente libro dedicato a ASP.NET. Quest'oggi vorrei citarne uno, sempre di elevata qualità tecnica, più generale e centrato sul Framework .NET.
Anche questo testo è un must in quanto copre tutte le problematiche di come funziona il framework e le sue classi di base (fra l'altro, le più usate). Quindi se volete capire come funziona il garbage collector, come implementare il pattern IDisposable, come ottimizzare la gestione delle stringhe, ecc, comprate Applied Microsoft .NET Framework Programming di Jeffrey Richter.
Imperdibile ....
Dico la verità, ho letto diversi libri su ASP.NET e fino ad ora non sono mai rimasto soddisfatto al 100%. Come mai ? Beh, dal mio (personalissimo) punto di vista, molti testi trattano troppi argomenti senza mai approfondirne i contenuti.
L'ultima lettura mi ha fatto cambiare totalmente idea sui libri dedicati ad ASP.NET. Si tratta di Essential ASP.NET di Friz Onion (uno dei teacher del gruppo Develop Mentor). Il
testo è decisamente di ottima qualità in quanto tratta gli argomenti in modo molto serio senza fare di tutto per allungare (pagine, pagine e pagine per dire sempre le stesse cose....
Nell'ultimo post ho parlato di InfoPath come strumento alternativo per il testing di Web Services.
Un'altro strumento di indubbio valore è Web Services Studio 2.0 prodotto da Microsoft e disponibile gratuitamente. Nello zip troverete anche il codice sorgente.
Per testare un web service abbiamo più opzioni. La prima è usare Internet Explorer (per default). Questa modalità va bene solamente quando i parametri della firma del metodo web sono primitivi, ma non ci permette di testare un metodo con parametri contenenti classi o strutture.
L'alternativa è sviluppare un client (console o grafico). Un'ulteriore possibilità consiste nell'usare Microsoft InfoPath 2003 (uno smart client) il quale in modo estremamente rapido ci permette di creare un'interfaccia utente basata su informazioni ricavate dal WSDL.
Per avviare InfoPath da Visual Studio .NET è possibile configurare le proprietà di progetto con i seguenti parametri:
Debug mode: ProgramStart application: InfoPath.exe...
Ho appena assistito alla sessione tenuta da Jonathan Hawkins. Per chi non lo sapesse, Jonathan e' il Lead Program Manager del CLR. Ha parlato di come scrivere applicazioni performanti in .NET illustrando alcute tips che permettono di raggiungere prestazioni superiori.
Ha puntato il dito sul ciclo di vita del software dichiarando che non dobbiamo aspettare troppo prima di pensare alle performance e di elaborare costantemente dei test di perofmances regressivi in modo verificare, modulo (o funzionalita') per modulo i propri limiti, anche in ambiente multi-threaded.
Ha anche affermato di fare molta attenzione all'uso troppo spinto di OO e XML in quanto...
Sessione dedicata a SOA (Service Oriented Architecture) di cui non esiste una definizione precisa. Quella che preferisco e' senza dubbio la seguente: "SOA e' una architettura distribuita flessibile e resiliente ai cambiamenti". Che cosa significa questo ?
Immaginate una classica applicazione basata su Web Services o Remoting. Abbiamo un client ed un server. Immaginate di aggiornare la parte server con una versione 2. Solitamente che succede, si aggiorna anche il client con la versione 2, punto ! Invece no, se prendiamo alcuni accorgimenti possiamo usare il client v1 con il servizio v2 o il client v2 con il servizio v2 ecc....
Prima sessione della mattina (iniziata alle 8:30 !) e sara' la stanchezza ma non mi ha entusiasmato particolarmente. Nulla da eccepire sullo speaker il qualche e' stato molto chiaro e completo, ma la sessione sembrava un deja' vu.
Una piccola nota per gli sviluppatori che usano ora WSE 1.0. La prossima versione conterra' qualche modifica importante che potrebbe risultare poco compatibile con la versione precedente (ad esempio IPasswordProvider diverra' obsolete). L'aspetto positivo e' che i concetti e anche molto codice rimarranno sempre validi.....si spera ;-)
Sono appena uscito dalla sessione di Clemens sui Web Services Internals. A dire poco, e' stata sensazionale. Ha esordito dicendo che se qualcuno voleva vedere solo slides poteva anche uscire !! Risultato, nessuno e' uscito ed abbiamo visto 4 slides. Il resto ? Codice codice codice.
Ci ha illustrato come si puo' potenziare l'infrastruttura ASP.NET con estensioni SOAP (SoapExtensions), con dei WSDL reflectors (import/export) in modo da poter propagare le regole di business in base alle proprie esigenze sia sul messaggio (SOAP) che sul contratto (WSDL).
Spiegare qui tutto sarebbe improponibile e quindi ho deciso di ripiegare per una alternativa...
Anche oggi si conclusa la sessione Ask The Experts sui Web Services. La domanda pi ricorrente che mi stata posta quest'oggi riguarda la security ed i Web Services. E' un'argomento sul quale vedo che c' una forte sensibilit.
La risposta migliore, probabilmente, ad oggi si chiama WS-Security. L'implementazione di Microsoft di questa specifica (in realt ce n' pi di una) si chiama WSE (Web Services Enhacement) ed disponibile la versione 1.1 sul sito http://msdn.microsoft.com/webservices. A breve arriver anche WSE 2.0 con interessanti novit.....
Stay tuned...
Ho seguito una sessione molto interessante, anzi, direi veramente bella. Parlavano di web services (argomento centrale della keynote) e sono state fornite delle tips decisamente stuzzicanti.
Innanzi tutto, il relatore (Eric Schmidt) ci ha chiesto, volete piu' slides o esempi. In coro e' stata votata la seconda ipotesi. Bene, passiamo alle architetture reali con i web services. Parliamo di una architettura con un client che usa InfoPath piuttosto che una qualsiasi altra applicazione (Web, PocketPC, SmartPhone o Windows) e passiamo ai web services che stanno sempre fra client e backend. Parliamo di Biztalk per orchestrare la gestione degli ordini. OK, non...
Dopo la sessione tenuta da Gabriele Castellani su SQL Server Reporting Services a Melzo (ricordate Matrix reloaded ?) non potevo esimermi dal partecipare ad un lab dedicato proprio a quel prodotto. Mi son detto, una cosa e' vedere o leggere ed una cosa e' usare e toccare con mano.
Bene, durante la prima parte del lab sono stato ligio, ho seguito la guida passo passo eseguendo tutti gli esercizi. Non contento, ho preso la tangente ed ho iniziato a fare cose piu' interessanti come creare differenti data source e inglobarli nello stesso report, piuttosto che giorcare con i campi calcolati...
Arrivare al TechEd 2003 e seguire una sessione sugli schemi XML puo' apparire abbastanza insolito. Cosa c'e' di nuovo da dire ? Sebbene si presenti le caratteristiche peculiari delle specifiche XML Schema debbo dire che sono state illustrate qualche tip molto interessanti.
Lavorando con l'XML da circa 3 anni non potevo certo rimanere colpito dai contenuti (la sessione era piu' rivolta a chi aveva una buona infarinatura di XML) ma sono rimasto piacevolmente colpito dal un possibile uso all'interno di una applicazione distribuita.
Riassumento, se noi abbiamo una classica applicazione n-tier distribuita (dove i vari layers possono stare su server differenti)...
Quante volte abbiamo sentito parlare di regole/metodi/preghiere su come rendere una applicazione web sicura ? Quante decine di articoli e libri sull'argomento possiamo trovare ? Non esiste qualche cosa che condensi tutto dandoci una procedura chiara e al tempo stesso completa per sviluppare una applicazione web sicura ? La risposta e' si e questa sessione lo riassume benissimo. Infatti, tutti gli argomenti di questa sessione si riferiscono ad un contest svoltasi nel 2002 (OpenHack) ove e' stata sviluppata una applicazione di eCommerce classico a prova di hacker. Si parte dal design architetturale alle regole di base per la configurazione dei servizi...
Dopo la keynote ho partecipato alla sessione ATE (Ask The Experts) dedicata ai Web Services. Le domande che ci hanno posto, debbo ammettere, non sono state molto complesse, ma mi ha colpito il fatto che molte persone sono interessate all'aspetto infrastrutturale, prima ancora di quello dello sviluppo. Infatti, l'unica domanda sulla parte client trattava gli script per interrogare un web service (sia con Soap Toolkit sia con XmlHTTP). Dopo 4 ore di sessione ora mi lancio a seguire (finalmente) una sessione....
Stay tuned...
Ok, la gara e' iniziata. Ho assistito, insieme a circa 6000 persone (cosi' han dichiarato), alla presentazione ufficiale, denominata "keynote". Il verbo e' senza ombra du dubbio integrazione. Integrazione attraverso Web Services che dialogano anch'essi con Web Services....in altre parole una architettura basata su Web Services. Come ogni keynote che si rispetti non c'e' molta tecnologia da vedere (all'interno) ma si da un forte senso alla tecnologia. Sono stati presentati diversi casi di successo (Volvo, CityGroup, Vodafone, ecc.) e devo ammettere che quello di Vodafone mi ha colpito particolarmente. In pratica, indicate il cellulare di una persona e lui vi...