luglio 2005 Blog Posts
E' indubbio che oggi Internet è una risorsa inesauribile. Per un informatico non ci sono più limiti, se ho un problema trovo articoli, webcast, newgroups, blogs, forums, amici e colleghi su IM, ... ... Se non ho problemi e voglio semplicemente acculturami, uso gli stessi identici strumenti.
Ma allora a che servono le conferenze ? perchè dovrei pagare per una cosa che ho già gratis (va beh, UGI è gratis :-) ), e subito! La vera forza delle conferenze è che puoi incontrare le persone. Parlare direttamente con tutti (dal junior al guru), confrontarti con il mondo. E' un momento importantissimo di dialogo.
Ma...
A detta di Rob, a breve potremo scaricare la nuova CTP di Team Foundation Server e Team System. Ecco le modifiche più importanti
Team Projects & Portal Sites
Improved error reporting, and rollback/deletion of a project that wasn’t successfully created.
Windows SharePoint Services site templates are now built on the standard Windows SharePoint Services site definition instead of our own custom site definition, so they’re a little more stable (there were a number of Beta 2 issues around this).
Team Explorer
Enhanced copy behavior.
Can open files read-only, or for edit (it used to be only for edit). Read-only is now the default.
More Process...
Un video tutto da vedere.
Come ci fa notare Andrea, è arrivata la metamorfosi dei nomi, da codename a official product name. Indigo (mi piace troppo!!) diventa Windows Communication Framework (nome autoesplicativo).
Ora mi tocca cambiare il nome della categoria .... sigh!
Ho deciso, non voglio più mischiare le cose informatiche da quelle personali. Quindi mi sono lanciato in una nuova iniziativa :-)
Ecco la soluzione all'inquinamento:
Quando vediamo presentazione/demo/articoli sui web services questi sono sempre (o quasi) basati sul pattern di messaggistica request/reply. Si dimentica in molti casi il pattern oneway (tralascio di proposito il duplex). Perchè ?
Secondo me c'è un vero e proprio abuso della risposta. Se sottomettiamo una richiesta d'ordine, creiamo un nuovo contatto nel nostro CMS, sottoponiamo una richiesta di preventivo, ci accorgiamo che spesso questi sono eventi per loro natura asincroni, e allora perchè ci aspettiamo una risposta ? Risposta di che ? Per dire che è stato ricevuto ? Ma se è stato ricevuto (quindi nessun errore di protocollo/canale), chi ci garantisce...
Nel hanno parlato in tanti e ci sono i favorevoli ed i contrari, come tutte le cose nuove. Per farmi un'idea, mi sono letto alcuni articoli e sono giunto alla conclusione che sia un'approccio (AJAX non è una tecnologia: "Ajax isn’t a technology. It’s really several technologies, each flourishing in its own right, coming together in powerful new ways" [Garrett]) estremamente interessante se circoscritto ad alcune aree di sviluppo.
In particolare condivido appieno i punti elencati da Thomas il quale ricorda come sia fondamentale osservare al massimo le regole di usability delle applicazioni web. Nel rispetto di questa, AJAX può veramente...
Sebbene un pò vecchiotto, questo post è interessante....
Le statistiche mondiali ci dicono che nei prossimi anni il mondo enterprise userà al 95% sia Java che .NET. L'installato attuale prevede Java, .NET, COM/COM+, .... Far dialogare questi mondi divene sempre più un asset. Ci sono tanti modi per interoperare ed i web services ne sono un esempio.
Il 12 e 13 ottobre UGI organizza un workshop dedicato alla migrazione ed all'interoperabilità. Oltre agli altri valorosi relatori (Andrea, Lorenzo, Mario, Raffaele e Silvano) ci sarò anch'io a proporre una sessione sull'interoperabilità utilizzando i web services.
Sebbene la scelta su .NET e COM/COM+ sia abbastanza univoca, mi piacerebbe sapere che cosa usate (o pensate...
La gestione delle eccezzioni con i web services oggi è abbastanza semplice, basta create una SoapException e rimandarla al chiamante. Peccato che attualmente non sia possibile definirlo automaticamente nel contratto (WSDL) in quanto non esistono attributi che definiscano la SOAP faults. In Indigo invece è possibile definire a livello di contratto le sezioni fault:
[OperationContract][FaultContract(typeof(DivideByZeroException))][FaultContract(typeof(ArgumentOutOfRangeException))]double Divide(double n1, double n2);
il quale si rifletterà nel WSDL:
<wsdl:operation name="Divide"> <wsdl:input wsa:Action="http://Microsoft.ServiceModel.Samples/ICalculator/Divide" message="tns:ICalculator_Divide_InputMessage" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" /> <wsdl:output wsa:Action="http://Microsoft.ServiceModel.Samples/ICalculator/DivideResponse" message="tns:ICalculator_Divide_OutputMessage" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" /> <wsdl:fault wsa:Action="http://Microsoft.ServiceModel.Samples/DivideByZeroExceptionFault" name="DivideByZeroExceptionFault" message="tns:ICalculator_Divide_DivideByZeroExceptionFault_FaultMessage" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" /> <wsdl:fault wsa:Action="http://Microsoft.ServiceModel.Samples/ArgumentOutOfRangeExceptionFault" name="ArgumentOutOfRangeExceptionFault" message="tns:ICalculator_Divide_ArgumentOutOfRangeExceptionFault_FaultMessage" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" /> </wsdl:operation>
Stavo girovagando su alcuni siti guardando, fra le altre cose, gli stili di codifica CSS usati. Non potevo esimermi dal pubblicare questa definizione:
table.listing td.top { /* insane IE row bug workaround */ position: relative; left: -1px; top: -1px;}
Come avrete notato, non ho avuto molto tempo di bloggare. Sempre a seguire sessioni, fare labs, assistere al booth ATE di Team System e parlare con il maggior numero di esperti (fra qui 30 min con Steve Swartz).
Conclusioni: un TechEd interessante soprattutto nell'area Connected Systems. L'area ATE quest'anno era molto valorizzata ed era veramente possibile parlare con molti personaggi provenienti da Redmond.
Altra sessione di Steve e Clemens. Che dire, l'object model di Indigo è fatto veramente molto bene. Spero di parlarne presto ad un workshop :-)
Ieri sera ho partecipato al party MVP. E' sempre molto bello partecipare ad un party dove le persone condividono la stessa passione per la tecnologia e lo scambio di esperienze ed informazioni...
Sessione "Chalk & Talks" con Clemens Vasters e Steve Swartz su SOA per architetti. Questo tipo di sessione è molto informale (niente slides e niente codice) e si discute iterativamente su un tema in particolare.
All'inizio i relatori si sono concetrati sul concetto di SOA. L'aspetto più importante di SOA da ricordare sempre è che si tratta di principi, NON implementazioni. La tecnologia invecchia, cambia, i principi rimangono.
Mi è piaciuto molto in particolare quando si è fatto riferimento all'accoppiamento debole (uno dei principi di SOA) nei database. Di fatto la stored procedure e la vista disaccoppiano il metadato della tabella (o...
Altra sessione su Indigo, questa volta si parla di security, queueing e reliability. Inutile dire che la sessione è stata molto interessante (per chi interessa Indigo ovviamente) e la chiarezza espositiva (di Steve Swartz) così come delle demo (di Ingo Rammer) è stata notevole.
Le possibilità di configurazione di Indigo sono praticamente illimitate, è possibile modificare la sicurezza, i meccanismi di queueing e reliability al volo senza scrivere codice. Questo, almeno per me, è un punto fondamentale. A me piace scrivere codice applicativo, non sul trasporto :-)
Adesso corro alla prossima sessione....
Questa è la seconda volta che seguo gli Ask The Experts. Ieri abbiamo iniziato alle 18:30 e finito alle 21:30 (sforando di 30 minuti). Seguendo il booth di Visual Studio Team System non mi aspettavo così tante persone e così tante domande. E' stato incredibile, 3 ore di domande a ripetizione, senza sosta. Mi sono reso conto che Team System interessa veramente e seriamente. Probabilmente, essendo la prima volta che Microsoft pensa non solo allo sviluppatore ma anche al team (manager, analisti, sistemisti, sviluppatori, tester, ecc.) la curiosità sale alle stelle.
Mi ha fatto molto piacere incontrare una persona (se...
Prima vera sessione "seria" su Indigo. Due relatori d'eccezzione, Steve Swartz e Christian Weyer.
Si inizia spiegando i concetti base, quelli che spesso crediamo di avere chiari ma poi scopriamo che abbiamo delle falle. Sicuramente Indigo richiede una certa nomenclatura SOA oriented. Si parte dall'endpoint con le sue componenti: contratto, binding e address.
Non poteva mancare l'"Hello World". L'unica nota interessante di questa demo è la pulizia della soluzione. Nel suo piccolo evidenzia come si implementa un progetto SOA con Indigo. "Hello World" è composto da 4 progetti: l'assembly che contiene i contratti (le sole interfacce), l'assembly che contiene i servizi...
Un pò deludente e un pò troppo marketing. Mancava un pò la passione del relatore.....
Oggi la giornata è delle pre-conference sessions e la dedico interamente ai sistemi connessi (connected systems).
La prima parte è un'introduzione dei connected systems la quale mette in evidenza tutti gli aspetti che gli architetti e developers debbono pensare/risolvere. Fare applicazioni connesse ed interoperabili non è difficile, basta saper scomporre i problemi pur mantenendo ben chiaro il quadro di riferimento. In particolare i connected systems tengono in considerazione 5 grandi temi:
Identity e access
Data
Interaction
Messaging
Workflow
L'identity e access fondamentalmente riguarda autenticazione, autorizzazione e policies. Oggi ci sono molti meccanismi di identity e questo è sicuramente un problema importante. Con il futuro parleremo di federated...
Così come Lorenzo, anch'io domani parto per il TechEd di Amsterdam. Come potete immaginare seguirò tutte le sessioni su Connected Systems (WSE, Indigo, ecc. ecc.). Per chi volesse trovarmi potrà fare una capatina al booth ATE (Ask The Experts) martedì dalle 18:30 alle 21:00 e venerdì dalle 11:00 alle 15:00 nell'area dedicata a Team Foundation Server e Visual Studio 2005 Team System.