Ecco (http://msdn2.microsoft.com/en-us/library/bb310550.aspx) un articolo interessante che confronta le prestazioni di WCF con le tecnologie pre-esistenti (ES, ASMX, WSE, .NET Remoting) e fornisce delle risposte abbastanza importanti a dubbi "amletici" ricorrenti nei clienti che valutano l'adozione di WCF.
Ecco che se ne inizia a parlare anche nella pratica. Ottimo! Tra una settimana sarò con RoB a completare le demo per DevCon ... mi sa che ci faremo un giretto sopra ...
Ecco un video interessante che spiega come Microsoft immagina l'ufficio del domani. Ricorda molto "Minority Report", ma sembra effettivamente una prospettiva interessante.
http://www.seehtc.com/
Se non fosse per il prezzo previsto (non propriamente a buon mercato :-) ) e per il sistema operativo che è comunque un Windows Mobile 5 e non Windows Mobile 6 ne avrei già comprati 2 o 3 :-) !
Lo consigliamo da parecchi mesi ai nostri clienti. Sembra proprio che la tendenza sia quella giusta.
D'altra parte ha senso definire le regole della UI prescindendo da quella che sarà la UI stessa, soprattutto in un periodo come questo in cui le applicazioni devono "girare" in diversi contesti (Web e Windows) e con diversi strumenti/tecnologie/framework (Windows Forms oppure WPF).
In sostanza quindi WF si colloca bene almeno in due diversi scenari:
- il controllo della UI
- la definizione dei processi di business utilizzati a livello di Application Server, fornendo così tra l'altro la possibilità di ridefinire regole (via custom .Rules files) e/o interi flussi (rendendo eventualmente custom anche gli interi XOML dei flussi)
Ho trovato questo post sui blogs di MSDN. Fornisce un modello generico di IAsyncResult che in effetti risulta molto comodo se avete l'abitudine (che dovreste sempre avere ...) di sviluppare applicazioni in grado di lavorare in asincrono. Dal momento che in effetti gli IAsyncResult si assomigliano tutti parecchio e generalmente la differenza è davvero spesso solo il tipo di result fornito, trovo utile segnalare questo esempio di implementazione.
Da pochi giorni è disponibile la March CTP di Visual Studio codename Orcas. Si parla molto e per lo più di LINQ, AJAX e miglior supporto a WPF. Personalmente credo molto in LINQ e mi appassiona vedere come è stato realizzato. AJAX non mi "scalda" :-) più di tanto e WPF ... lo sapete sono solo palle che rimbalzano! (ovviamente scherzo ... ma non sono un uomo che si occupa di UI con WPF, per questo ci sono Luka e RoB nel nostro gruppo). In ogni caso, come segnalato anche in questo post, le nuove funzionalità introdotto nella Orcas CTP di Marzo riguardano diversi e numerosi altri ambiti.
Ad esempio ci sono alcune classi e assembly che consentono di ospitare workflow definiti con WF in ServiceHost di WCF. Esiste infatti un assembly di nome System.WorkflowServices che espone una classe di nome System.ServiceModel.Activation.WorkflowServiceHostFactory, che non fa altro che creare una istanza di una classe System.ServiceModel.WorkflowServiceHost, che a sua volta rende accessibile un workflow di WF tramite chiamate SOAP via WCF.
A tale scopo è stata anche definita una coppia di nuovi binding NetTcpContextBinding e WSHttpContextBinding per meglio gestire l'associazione (context) tra le istanze dei flussi e l'infrastruttura di comunicazione. Proprio per questo, sfruttando le caratteristiche dell'architettura estendibile e personalizzabile di WF, è stato definito un nuovo runtime scheduler (System.Workflow.Runtime.Hosting.SynchronizationContextWorkflowSchedulerService) che internamente utilizza il SynchronizationContext di System.Threading e il System.Threading.ThreadPool).
Le potenzialità di questo nuovo "mattoncino" sono evidenti: avere logica di business implementata tramite WF ed esposta in modo rapido tramite WCF, senza richiedere a noi poveri sviluppatori di scrivere "quintali" di codice per gestire le istanze dei workflow, la loro persistenza, il loro stato, ecc.
Se avessi avuto queste opportunità nel progetto che usa WF per la gestione della produzione in stabilimento che ho concluso insieme a RoB il mese scorso e che sta andando on-line in questi giorni ... beh avrei scritto cordi almeno 15gg di meno ...
Avremo modo di tornare più approfonditamente su questi temi sia in post futuri che magari a DevCon.
Potete scaricare qui gli esempi che ho mostrato oggi, relativamente al WebCast introduttivo su Windows Workflow Foundation. Resto a disposizione per eventuale dubbi o chiarimenti (paolo@devleap.it) e vi ricordo che alla DevLeap Conference 2007 terrò diverse sessioni di approfondimento su WF, quindi se l'argomento vi interessa vi consiglio di iscrivervi.