July 2003 - Posts
Una sessione ben organizzata. I contenuti erano i soliti tips e inside dello sviluppo di Web Service:
- SoapExtension di validazione XSD
- Riferimento a XSD esterni e generazione del servizio partendo dal messaggio e non dal WebMethod
- generazione dinamica del client utilizzando CodeDom, Reflection e ServiceDescriptionImporter
- chiamare web service da stored procedure e trigger SQL Server (questo in realtà non mi sembra una grande cosa dal punto di vista prestazionale....)
- chiamate asincrone sul client e/o sul server
- serializzazione custom (anche con IXmlSerializable)
Mi ha fatto piacere seguire questa sessione sia perché trovo che Christian sia molto in gamba su questi argomenti, sia perché ho potuto verificare la bonta dei contenuti che ho messo nei capitoli 3 e 4 del mio libro. Almeno so di non essere l'unico a preferire lo sviluppo di servizi "message oriented" :-) !
Oggi è il mio compleanno! Quindi mi faccio gli auguri. A brindare ci ho già pensato ieri sera alla balconada per gli italiani :-) .... Bridge The Gap!
Ho seguito una sessione a proposito dello sviluppo di applicazioni con InfoPath 2003. Il prodotto è sicuramente interessante anche se, trattandosi di una prima versione, presenta alcuni limiti.
Il più evidente è il fatto che è possibile utilizzare sia per il download che per l'upload di dati dei Web Service, ma non è possibile interfacciarsi a Web Service sicuri basati su Ws-Security e sulle specifiche che fanno parte di GXA.
Ho chiesto a Tudor Toma (PM del prodotto) se hanno intenzione di supportare Ws-Security da qui al rilascio della versione finale di Office System 2003 o se comunque è nei loro programmi il supporto a Ws-Security nel breve periodo.
La risposta è stata chiara ma deludente! No per ora non c'è il supporto per Ws-Security. In Microsoft sono ovviamente al corrente del problema, ma non mi ha potuto dire se e quando lo risolveranno. Internamente, laddove già utilizzano InfoPath, si sono fatti dei Web Service insicuri che fanno da wrapper verso i servizi sicuri. Sinceramente non mi sembra una gran soluzione.
Inizia il secondo giorno.
Per oggi mi sono scelto argomenti più vicini alla mia natura (ieri a volte mi sono annoiato :-)!):
- Advanced ADO.NET (ho appena visto la parte finale .... devo dire che non mi ha entusiasmato. Mi era piaciuta molto di più lo scorso anno)
- SQL CE e .NET Compact Framework
- ADO.NET 1.1 Tips & Tricks
- PocketPC 2003 e SmartPhone Development
- .NET & J2EE Interoperability
- .NET Web Services Internals
Seguirà il resoconto dettagliato ...
Una sessione piena di codice per spiegare bene come funzionano le SoapExtension, i SoapExtensionReflector e i SoapExtensionImporter! E' stata una delle sessioni più interessanti di tutta la giornata. Bravo Clemens!
Qui è scaricabile il codice della sessione.. Buon divertimento!
Si prospettano scenari e applicazioni interessanti per chi sviluppa soluzioni basate su Office 2003. Il supporto XML introdotto in Word 2003 è decisamente interessante. La possibilità di poter selezionare porzioni di documento con regole XPath apre nuove possibilità agli sviluppatori. Il fatto di poter fare dei lookup veloci su file XML scaricati via HTTP è altrettanto interessante. Possono inoltre essere associati dei template XSLT ai nomi di namespace XML in modo tale da poter recuperare al volo un layout più adatto per ogni tipo di documento, anche scaricandolo via HTTP da un server dipartimentale. L'unico apparente "difetto" di questo discorso è che, se si salva un documento XML come WordML, la sua dimensione diventa tremendamente più grande, pur rimanendo un documento XML trattabile con i classici strumenti quali XSLT, XSD, XPath, ecc.
Che bello! Ho provato WSE 2.0 e devo dire che ha proprio confermato le mie aspettative.
In breve ecco le nuove funzionalità:
- Supporto alle nuove specifiche di GXA: WS-Addressing, WS-Policy, WS-SecurityPolicy, WS-Trust, WS-SecureConversation.
- Supporto per nuovi protocolli basati su TCP/IP oltre ad HTTP.
- Supporto per l'autenticazione Kerberos.
- Nuove caratteristiche per lo UsernameToken che ora può essere "rimappato" su account di macchina o di dominio sfruttando poi la role based security, i Principal e le Identity.
Inoltre scendendo su alcuni dettagli:
- La classe SecurityToken ha cambiato parte del suo comportamento.
- La classe UsernameToken ora prevede una proprietà Principal che consente di accedere ad un IPrincipal che rappresenta l'utente corrente e i suoi ruoli.
- E' stato riscritto in modo massiccio Microsoft.Web.Services.Routing.Path per supportare WS-Addressing.
- L'interfaccia IDecryptionKeyProvider e la classe DecryptionKeyProvider sono obsolete. Ora si deve utilizzare la classe SecurityTokenProvider e ISecurityTokenProvider che racchiudono tutta la parte di codice relativa non solo all'autenticazione ma anche all'encryption.
- La classe HttpSoapContext è obsoleta e si devono invece utilizzare RequestSoapContext.Current e ResponseSoapContext.Current .
- E' stata introdotta una nuova classe UsernameTokenManager, dalla quale è possibile derivare delle proprie specializzazioni, che consente di gestire l'associazione dell'utente ai suoi ruoli.
- Utilizzando WS-Policy è possibile definire dei file XML con i vincoli in termini di security che devono essere rispettati per dialogare con i servizi da noi sviluppati. Se il client non rispetta tali vincoli .... un bell'errore sarà la risposta che riceverà, senza costringere noi a fare manualmente tutta una serie di verifiche che prima erano necessarie.
Ora vedo di recuperare altre informarzioni (e/o file :-) ...) e poi vediamo. Comunque sono molto contento delle novità introdotte! Si prospetta un futuro interessante per i Web Service con SOAP 1.2 e WSE 2.0 !!!!
Ho appena visto sul
Blog di Christian Weyer che sta per uscire (27 agosto 2003) un libro molto interessante:
Microsoft .NET and J2EE Interoperability Toolkit
Ecco qualche dettaglio in più:
http://www.amazon.com/exec/obidos/tg/detail/-/0735619220/qid%3D1057037765/104-5746982-7890355
-
Lo metto in preordine su Amazon!
Ecco le sessioni che ho intenzione di seguire oggi:
- OFC292: Connecting, communicating and Collaborating with Microsoft Sharepoint&team; Products and Technologies
- DEP341: Architecture and Deployment: Microsoft Sharepoint&team; Products and Technologies
- DEV291: Microsoft® CRM Architecture (Development Options)
- OFC202: Introduction to Microsoft Office 2003 InfoPath
Sono giunto alla conclusione che le sessioni su argomenti che conosco già non mi danno nessun valore aggiunto, quindi salvo rare eccezioni, questo anno seguirò sessioni che non sono particolarmente legate al mio profilo (XML & WS, .NET, Web) e cercherò di approfondire ciò che conosco meno.
Il keynote me lo sono giocato :-) per scegliere cosa seguire nel pomeriggio adesso mangio qualcosa e mi butto nelle sessioni!
Ci sentiamo più tardi per i dettagli sulle sessioni e per scoprire se erano davvero interessanti ....
More Posts
« Previous page