BlogServiceHost.Create()

WCF & Azure - Il blog di Fabio Cozzolino

Recent Posts

Tags

My

Twitter

Community

Archives

Email Notifications

Social Bar Widget

May 2006 - Posts

Cosa ci fanno WCF e Windows Services?

Bè....l'unione fa la forza Big Smile [:D].

Nel mio primo articolo su .netSide ho voluto parlare dell'unica tipologia di hosting che non ho approfondito durante la sessione dell'ultimo workshop: hosting di servizi su Windows Services. Aggiungo qui una nota: l'articolo espone il servizio tramite il protocollo tcp, ma ciò non impedisce di farlo utilizzando l'http, anche in parallelo.

Feedback di ogni tipo sono graditi Big Smile [:D]

 

WinFX Runtime Components Beta 2

E' stata rilasciata la Beta2 dei WinFx Runtime Components. Non solo: siamo in Release Candidate 0. E' Madhu Ponduru a dichiararlo nel suo blog dove riporta anche gli step da seguire per la corretta installazione. Corro a scaricare tutto ... Smile <img src=" />

Date un'occhiata anche alle Breaking Changes from February CTP to Beta 2 (da un rapido sguardo le demo dell'evento dovrebbero funzionare senza difficoltà).

Script#: tradurre in javascript il codice c#

Bè, non è proprio così, ma quasi ci siamo. Nikhil Kothari nel suo blog scrive un interessantissimo post + video su Script#. Non è un nuovo linguaggio, bensì un nuovo compilatore che trasforma il codice C# in codice javascript :

Essentially the Script# compiler is a C# compiler that generates Javascript instead of IL.

Ovviamente non possiamo prendere un'intera applicazione e convertirla in javascript semplicemente utilizzando il nuovo compilatore. Una classe, per essere compilata, deve implementare l'interfaccia IScriptLet ed utilizzare le classi contenute nel namespace ScriptFX per, ad esempio, accedere al DOM. Tra i vantaggi di questa tecnica emerge la verifica del codice a compile-time operata dal compilatore C#. L'intento del compilatore, a detta di Nikhil, è semplicemente quella di aumentare la produttività fornendo allo sviluppatore, tra le altre cose, la possibilità di programmare utilizzando il linguaggio di tutti i giorni.

Probabilmente l'applicazione più appropriata, dal mio punto di vista, si ha nella creazione di Custom Controls, dove molto spesso mi sono ritrovato a scrivere codice javascript utilizzando StringBuilder e company. In questo caso la produttività aumenterebbe notevolmente.

Generalmente sono molto scettico nell'uso di tools automatici, ma quando c'è di mezzo Nikhil ... Wink <img src=" />

Vi invito a leggere i dettagli sul post.

Posted: May 24 2006, 01:01 AM by Fabio.Cozzolino | with no comments
Filed under:
Un motivo in più ...

Era da un bel po di tempo che non sviluppavo applicazioni windows. Oggi mi stavo preparando per scrivere un client di un web services (vecchio e caro asmx) il cui risultato, un array di oggetti, deve essere bindato su un datagrid. Bene, mi son detto, genero il proxy client con wsdl.exe (o Visual Studio | Add Web Reference se preferite) e via...

Ok. Proxy generato. Ora recupero l'array e lo collego al datagrid. Uhmm, qualcosa non funziona, non vedo i dati nel mio datagrid, eppure l'array c'è. Vediamo cosa mi ha generato il wsdl.exe?? Oh! No!!! Invece delle mie property ho dei fields pubblici ... azz...

Come ben sapete non è possibile bindare i valori da fields pubblici, devono essere delle properties.

Bene. Questo è un motivo in più per usare WSCF !!! Big Smile [:D]

[update] come effettivamente mi è stato segnalato non ho specificato un fattore importante. Il post è riferito alla versione 1.x del framework e alla versione 2002/2003 di Visual Studio. In VS2005 la creazione delle properties avviene di default. Se proprio vogliamo ottenere dei fields dobbiamo utilizzare il tool wsdl.exe e specificare il parametro /fields

WCF Documentation Update
E' appena stata rilasciata una versione più completa ed aggiornata della documentazione di Windows Communication Foundation. Scaricatela, sono poco più di 20mb ma ve lo consiglio ... Stick out tongue

Windows Communication Foundation - Resources

Posted: May 19 2006, 12:18 PM by Fabio.Cozzolino | with no comments
Filed under:
SOA 2.0
Durante la JavaOne Conference Oracle ha parlato di SOA 2.0, un'architettura frutto della combinazione delle architetture service-oriented e event-driven. Non so dire se questa è solo una delle tante buzzword, se realmente applicabile, se vedrà mai la luce, boh... staremo a vedere.

fonte: http://blogs.thinktecture.com/cweyer/archive/2006/05/19/414593.aspx

Posted: May 19 2006, 11:23 AM by Fabio.Cozzolino | with no comments
Filed under:
ClickOnce + WCF = ioProgrammo :)

Come già annunciato da Mighell, questo mese siamo onnipresenti su ioProgrammo. Mighell con uno splendido articolo sul suo amatissimo Windows Workflow Foundation.

Io, invece, per la prima volta pubblico due articoli in un numero: uno su ClickOnce e l'altro sul mio amore Windows Communication Foundation. Surprise [:O].

L'articolo su ClickOnce si completa di un ottimo video presente sul cd allegato alla rivista, prodotto anch'esso da me Big Smile [:D].

WCF ... bè, non ha bisogno di presentazioni. Stick out tongue [:P].

Devo comunque fare una precisazione: il codice utilizzato per l'articolo su WCF fa riferimento alla CTP di Settembre 2005. In questi giorni pubblicherò sul blog il codice aggiornato alla più recente build, quella di Febbraio 2006.

Ovviamente sono ben accetti commenti e critiche sugli articoli e sul video...

Ps.: un benvenuto ad igor damiani che si aggiunge, con il suo bell'articolo sul BackgroundWorker, alla lista degli amici che scrivono per ioProgrammo ...

Un MacBook ... nero ?!?!
E' proprio vero che il mondo sta cambiando o, come dice Don Box, è praticamente alla frutta Stick out tongue <img src=" /> ... guardate per credere !!!


fonte: http://pluralsight.com/blogs/dbox/archive/2006/05/16/23770.aspx
Atlas Control Toolkit
Qualche giorno fa è stato rilasciato l'Atlas Control Toolkit, un insieme di esempi che mostrano come implementare gli extender per realizzare controlli atlas personalizzati. Il package comprende anche un'interessante sorpresa...

Posizionatevi nella cartella in cui avete estratto i files ed aprite la cartella AtlasControlExtender. All'interno troverete il file AtlasControlExtender.vsi che installa un project templates che consente la creazione di un progetto vuoto per lo sviluppo di controlli Atlas personalizzati basati sugli extenders.

Dopo l'installazione, infatti, aprendo Visual Studio se provate a creare un nuovo progetto (no WebSite) cliccando sul project types "Visual C#" troverete, nella sezione My Templates, un nuovo template "Atlas" Control Project.

Provate a cliccarci su ... Stick out tongue <img src=" />


Posted: May 16 2006, 02:17 AM by Fabio.Cozzolino | with no comments
Filed under:
Contract-First vs Code-First
La discussione percorre la rete ormai da diverso tempo, ma vorrei capire effettivamente qual'è l'orientamento di noi italiani. Abbiamo:
  • Code-First
    • Sviluppo rapido
    • Definizione del contratto poco preciso
  • Contract-First
    • Sviluppo meno rapido
    • Definizione del contratto moolto più precisa
Nel primo caso è il codice da noi scritto che genera il contratto (il wsdl), mentre nel secondo caso il codice o, meglio, l'interfaccia che rappresenta il contratto nel nostro linguaggio di sviluppo, viene generata partendo dal WSDL. Con il Code-First lo sviluppatore, in alcuni casi, può non essere cosciente di cosa accade ad ogni modifica del servizio da lui scritto. Inconsciamente può mettere un dataset, per dirne uno, come parametro di un servizio. Non che questo non deve essere fatto, ma se dobbiamo essere interoperabili e soprattutto guardare al futuro (chi vieta a microsoft di modificare il dataset?) è un qualcosa assolutamente da evitare.
Nel Contract-First, invece, il contratto viene stabilito e "disegnato" a priori. E' poi compito dello sviluppatore rispettarlo ed implementarlo nel linguaggio che più gli è consono. Questo costringe lo sviluppatore a rispettare senza mezzi termini quanto stabilito dal contratto.

Questa è la mia visione e sono contento di condividerla, e magari essere contraddetto, con voi. Senza dubbio uno sviluppatore attento alle sfumature è capace di assottigliare la differenza delle due metodologie. Voglio sottolineare che ognuna ha vantaggi e svantaggi ed è un bene scegliere la più opportuna.

Un'ultima nota: Contract-First non vuol dire realizzare l'interfaccia e mettergli l'attributo ServiceContract, ma significa avere un WSDL (il contratto nei web services) per poi realizzare l'interfaccia che il nostro servizio deve implementare.

La discussione, se volete, è aperta. Big Smile [:D]

Contract-First e WCF
Durante la sessione di venerdì ho accennato al Contract-First e a come sia possibile ottenere con WCF la definizione dell'interfaccia partendo dal WSDL. Per motivi di tempo non sono riuscito a far vedere come fare.

Il tool che fa per noi è l'svcutil.exe, disponibile con il WinSDK (C:\Programmi\Microsoft SDKs\Windows\v1.0\Bin). Ipotiziamo di avere in c:\temp il nostro WSDL già bello e pronto e fornito dal nostro progettista. Per ottenere le interfacce (ma anche il proxy) è sufficiente scrivere:

svcutil.exe /out:ServiceInterface.cs c:\temp\servicedescription.wsdl

se invece vogliamo recuperare solo gli schemi che il provider ed il consumer scambiano, possiamo utilizzare il parametro /dataContractOnly

svcutil.exe /dataContractOnly /out:ServiceInterface_dc.cs c:\temp\servicedescription.wsdl

devo dire che mi sembra tutt'ora una pecca non avere un parametro simile al /serverInterface disponibile invece con il tool wsdl.exe incluso sempre nel WinSDK. Il supporto al Contract-First non è ancora a pieno regime e dal mio punto di vista viene generato ancora troppo codice.
Ad oggi, tra i tool che supportano il contract-first, occupa una posizione di rilievo il WSCF di Christian Weyer e Buddhike de Silva. Intanto, noi, aspettiamo impazienti ...
Posted: May 08 2006, 10:37 PM by Fabio.Cozzolino | with no comments
Filed under:
Webcast su Windows Communication Foundation in arrivo...
Nelle prossime settimane sono in programma una serie di webcast dedicati a WinFx. Per chi volesse approfondire il discorso WCF, Paolo Pialorsi ne parlerà in tre date:
Vi consiglio di seguirli ... Wink

Se poi volete approfondire in generale WinFx, da qui potete aver accesso a tutti i webcast della serie.

Buona visione Big Smile

Posted: May 07 2006, 05:20 PM by Fabio.Cozzolino | with no comments
Filed under: ,
Workshop Workflow & Communication Foundation
Ragazzi, è fatta!!
Un ringraziamento a tutti i partecipanti e anche a chi alla fine non è riuscito più a raggiungere la sede dell'incontro. Mighell vi ha già dato qualche anticipazione. La serata è stata splendida, persone splendide e che con vivo interesse hanno seguito entrambe le due sessioni.

L'evento
E' stata la mia prima volta ed all'inizio non ho potuto nascondere qualche emozione, almeno nella prima parte. Come al solito murphy ci mette sempre del suo e la prima demo non ne voleva proprio sapere di andare. Le porte cambiavano ad ogni riavvio, ma solo dopo mi sono accorto cosa mancava: una semplice reference. Vabbè, meno male che avevo le soluzioni complete a portata di mouse Wink [;)].

Parlare, nella mia prima sessione pubblica, di Windows Communication Foundation è stato stupefacente. Alla fine mi sono divertito e dopo i mille retroscena di una giornata a dir poco movimentata tutto è filato liscio. Io e Michele speriamo di aver chiarito i dubbi e soddisfatto pienamente tutti coloro che hanno cercato e voluto saperne di più su WinFx...

La cena
La pizza era ottima, ma soprattutto ottima era la compagnia. Abbiamo parlato di tutto, ma veramente di tutto, anche se ci consigliavano di smetterla di parlare di informatica Stick out tongue [:P].

Grazie a tutti.

Ps.: appena il materiale è pronto pubblicherò tutto, nel frattempo potete godervi alcuni video girati durante le sessioni nella sezione Files



Posted: May 07 2006, 02:54 PM by Fabio.Cozzolino | with 2 comment(s)
Filed under: