Paolo Pialorsi

SOA, Workflow Foundation (WF), Windows Communication Foundation (WCF) e le Architetture Distribuite

marzo 2007 - Posts

WCF Performance Measures

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.

Posted: mar 31 2007, 03.50 by paolo | with no comments
Filed under: , ,
WCF per .NET CF 3.5

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 ...

Come sarà l'ufficio di domani

Ecco un video interessante che spiega come Microsoft immagina l'ufficio del domani. Ricorda molto "Minority Report", ma sembra effettivamente una prospettiva interessante.

HTC Advantage

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 :-) !

Usare WF per guidare la UI?

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)
IAsyncResult<T> da riutilizzare ...

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.

Orcas March CTP: non solo LINQ, AJAX e WPF, ma anche WorkflowServices

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.

Posted: mar 03 2007, 04.32 by paolo | with 1 comment(s)
Filed under: , , ,
Esempi WebCast su Windows Workflow Foundation

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.