Paolo Pialorsi

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

News

settembre 2005 - Posts

Case study Microsoft su una soluzione implementata anche con l'apporto della mia società

Con grande piacere e soddisfazione professionale segnalo un Case Study di Microsoft su una soluzione implementata da diversi Partner Microsoft, compresa la mia società, che hanno unito le forze e le competenze.
Il caso è citato nell'area MBS di Microsoft Italia.

Si tratta di una soluzione che ha coinvolto varie competenze e figure professionali, utilizzando diversi prodotti Microsoft tra i quali: Windows Server 2003, Windows Sharepoint Services, SQL Server 2000 e Analysis Services, Microsoft .NET Framework e  .NET Compact Framework!

Posted: set 21 2005, 11.06 by paolo | with no comments
Filed under:
Incastrare tutti i PDC Goods su una macchina

Da verificare nella pratica, ma tengo da parte questo post:

http://blogs.msdn.com/tims/archive/2005/09/15/467761.aspx

perché aiuta a configurare Vista con il supporto per VS.NET 2005 Beta.

C# 3.0

Riprendo il post di ieri sera per argomentare con un pochino più di dettaglio le novità di C# 3.0.

Vediamo una per una le novità, con un volo ad alta quota, senza troppi dettagli:

  • Lambda Expression: sono un miglioramento degli anonymous methods, pensate per poter passare del codice come parametro.
  • Extension Methods: consentono di creare su classi statiche dei metodi che sono poi utilizzabili come se fossero metodi di altre classi. In pratica permettono di aggiungere metodi anche a classi non proprie. Sono un "trucco" per scrivere codice più compatto e leggibile.
  • Object Initializers: sintassi abbreviata per inizializzare oggetti e proprietà degli oggetti senza dover definire N costruttori per le varie combinazioni di inizializzazione di un oggetto e/o degli oggetti in esso contenuti.
  • Collection Initializers: concetto simile agli Object Initializers, ma applicato agli item di una collection.
  • Local Variable Type Inference: è stata introdotta la keyword var che permette di far ricavare implicitamente al compilatore il tipo di una variabile senza costringerci a dichiarare qualcosa di evidente ed esplicito. Per esempio Customer c = new Customer(); è ridondante. Potremo invece scrivere var c = new Customer(); e sarà ovvio che c è di tipo Customer.
  • Anonymous Types: in situazioni in cui dobbiamo creare delle classi temporanee, per esempio per il passaggio di informazioni tra procedure, possiamo evitare di dichiarare un tipo ad hoc, sarà il compilatore a crearlo con un nome autogenerato. Noi ci limiteremo ad utilizzarlo. Per esempio: var c = new {Name = "Paolo", EMail = "paolo@devleap.com" } corrisponde a far creare al compilatore un tipo dal nome autogenerato e che possiamo utilizzare per avere l'entità c tipizzata, con le proprietà Name e EMail, ma senza dover definire noi il tipo esplicitamente. Si possono utilizzare per creare dei sottoinsiemi di entità da noi definite.
  • Query Expression: servono prinpalmente per sfogliare enumerazioni, eventualmente richiamando metodi o altre Query Expression per ogni item della enumerazione, in modo ricorsivo. Sono utilizzate da Linq.
  • Expression Trees: sono utilizzati dalle Query Expression per "svolgere" le espressioni e convertirle in codice tipizzato da compilare.

Sicuramente ci sono molte più cose da dire su questi argomenti, ma è presto. Iniziamo a "digerire" C# 2.0 pensando a quello che tra 2 o 3 anni arriverà con C# 3.0.

C# 3.0, Linq e i prossimi 2 o 3 anni di .NET

Ho appena finito di seguire la sessione di Anders Hejlsberg (mitico!) a proposito delle novità che arriveranno con C# 3.0. Sì lo so che non è ancora uscito C# 2.0, ma in Microsoft stanno ormai lavorando alla versione 3, perché la 2 come sintassi e funzionalità è già consolidata. Visual Studio .NET 2005 non è C# 2.0 .... se c'è un bug nella UI di VS.NET non c'entra con C# 2.0, quindi ... si sta già lavorando al prossimo C#!

Le novità sono interessanti, soprattutto nell'ottica della semplificazione della scrittura del codice e nella rapidità di scrittura. Dal punto di vista della lettura, almeno per me che non ci ho ancora "fatto l'occhio", qualcosa sembra meno leggibile di prima ma come tutte le cose è solo questione di abitudine. Anche i generics un anno fa mi sembravano "complicati" da leggere e oggi non ne farei a meno per nessun motivo!

Inoltre c'è Linq, di cui ha già parlato Marco, del quale sono anche io entusiasta e non solo per la parte XLinq ma anche e soprattutto per DLinq. Ho qualche perplessità in merito a problemi di security e di gestione delle stored procedure, nell'accesso ai dati con DLinq, ma cercherò di farmeli chiarire domani da Luca Bolognese, nella sua sessione dedicata a questo argomento.

Comunque questo l'elenco delle novità di C# 3.0:

  • Lambda Expression
  • Extension Methods
  • Object initializers
  • Collection initializers
  • Local variable type inference
  • Anonymous Types
  • Query Expression
  • Expression Trees


Seguiranno post di dettaglio su questi "nomi, ora devo seguire la sessione sulla creazione di trasporti custom con WCF.

PDC05 The Googs: update

Oggi abbiamo avuto anche Longhorn Server, Visual Studio 2005 Release Candidate e SQL Server 2005 di Settembre.

Adesso devo riuscire a capire se posso installare Indigo Beta 1, WSE3 Beta 1, VS.NET 2005 RC, SQL2005 CTP Semptember tutti insieme o se mi esplode qualcosa ...

Appena capisco se posso metterò qui un commento per chiarire le cose anche agli altri. Se c'è qualcuno che ha già la soluzione .... non sia timido :-) e metta un commento ....

Indigo: veramente estendible

Tra ieri ed oggi ho seguito la gran parte delle sessioni relative all'estendibilità di Indigo. Devo dire che l'architettura scelta è decisamente interessante, già solo come esempio di framework "estendibile" da utilizzare come spunto per sviluppi anche completamente diversi.

Vi sono ovunque interfacce, classi base astratte, metodi virtuali ed eventi. In pratica è possibile ridefinire, all'occorrenza, qualsiasi parte del framework. Ovviamente l'idea non è quella che ognuno di noi, da domani, debba mettersi a riscrivere il motore di Indigo. La maggior parte di noi lo utilizzerà e basta, sfruttandone la semplicità d'uso e configurazione. Piuttosto queste scelte architetturali rendono facile e semplice, a Microsoft stessa, la possibilità di estendere in futuro il motore di Indigo, così come di poter rilasciare, man mano saranno disponibili, nuove versioni di specifiche e protocolli.

Lo scheletro è solido (le interfacce, le classi base e i metodi virtuali). La pelle intorno al corpo (i behavior, le classi implementate, i canali e trasporti, i formatter, ecc.) si può cambiare/personalizzare ....

Spesso vengo preso in giro, bonariamente (spero!), da clienti e colleghi perché cerco sempre di fare tutto estendibile/configurabile/pluggabile/ecc. e mi esalto come un matto a mettere qua e là l'XML .... inutile dirvi che Indigo mi piace proprio anche per questo ... perché soddisafa le mie esigenze e passioni!

Microsoft RFID Service

Ieri ho seguito con RoB una bella sessione sul futuro supporto ad RFID da parte di Microsoft.

Ci sarà un framework in grado di astrarre dalla piattaforma hardware sottostante e che consentirà di gestire con codice managed l'accesso ai device.
La prima beta è prevista per novembre 2005, forse aspettano .NET 2.0 per rilasciarla. Ci vedo sviluppi interessanti per il futuro...

Insieme a Roberto si diceva: ogni volta che Microsoft decide di entrare in un mercato non lo fa per caso e quando lo fa, spazza via tutta la concorrenza!

Indigo su .NET Compact Framework

Alla fine della bellissima sessione sui Channel di Indigo, tenuta da Steve Swartz (uno dei papà di Indigo!), in risposta ad una domanda Swartz ha detto che la prossima settimana avrà una riunione con il team di .NET CF per implementare, probabilmente in .NET CF v. Next, il supporto ad Indigo. Tra l'altro ha citato la possibilità di avere qualche canale/trasporto ad hoc per mobile come SMS.

Moooolto ma mooolto bello :-) !

Il file è in formato XML, puoi fare ciò che vuoi!
Questo è lo slogan che io e RoB abbiamo coniato per questa PDC :-) ... dopo aver assistito ad una sessione dove lo speaker ne era molto convinto! :-)
Posted: set 15 2005, 02.11 by paolo | with no comments
Filed under:
PDC Keynote 2 - Non solo Office 12
 

La keynote di oggi è stata decisamente più interessante di quella di ieri.

Ecco il mio report:

 

  • Windows Workflow Foundation (WWF)
    • Windows Workflow Foundation: Human and System workflow programmabile con codice .NET tramite una sua class library
    • Designer integrato con VS.NET
      • Genera file XWML
      • Activities: eseguite dai runtime
      • www.windowsworkflow.net
      • System.Workflow
      • Ha un debugger del flusso integrato con VS.NET
        • Sticazzi!!!
    • Integrato con WPF
    • Dennis Pilarinos PM di WWF

 

  • Microsoft Expression Family
    • Acrylic Graphic Designer
      • Crea disegni e immagini esportabili come BMP/JPEG/ecc. ma anche come XAML
      • È un designer grafico a tutti gli effetti, come PhotoShop:
        • Utilizza layers
        • Utilizza algoritmi di selezione delle immagini elabotari da Ms-Research
        • Lavora con pattern, immagini in trasparenza, stili grafici, ecc.
    • Sparkle Interactive Designer
      • Consente di disegnare le interfacce grafiche delle applicazioni WPF
      • Permette di definire animazioni 3D, timeline ed eventi (in modo simile a Flash)
      • Compila il risultato con msbuild
      • Il risultato può essere un set di XAML sui quali lavora prima/dopo il programmatore .NET per la parte di codice WPF
    • Quartz Web Designer
      • Produce contenuti XHTML 1.0 Strict
      • Finalmente ci siamo liberati di FrontPage :-) !
      • Supporta nativamente i controlli ASP.NET e le masterpage ASP.NET
      • Supporta il binding automatico ai documenti XML e l'applicazione di XSLT ai contenuti
        • Prevede un designer grafico di XSLT con drag'n'drop
    • Sarebbe curioso capire se questi prodotti si integrano con Team System per la gestione dei sorgenti, delle versioni e dei task

 

  • Visual Studio Tools for Applications (VSTA)
    • L'evoluzione di VBA for Applications
    • Implementato già in Office 12 in particolare in InfoPath 12
    • Hanno mostrato una demo di AutoCAD 2006 integrato con VSTA e in grado di essere esteso non solo con codice VBA come in passato, ma anche con codice .NET (VB.NET o C#)
      • La demo che hanno mostrato utilizza un Web Service ASMX per recuperare delle informazioni da utilizzare poi nella definizione di un blocco di AutoCAD

 

  • XAML e PLM/CAD
    • Si è parlato anche di integrazione tra strumenti di disegno grafico come per esempio SolidEdge e XAML
    • Si tratta di un frontiera interessante per tutte le aziende di produzione

 

  • Office 12
    • Si è parlato in particolare di Windows Sharepoint Service 3, InfoPath 12, il nuovo motore di ricerca di Office 12 e sì ... oggi hanno parlato anche di Access 12 :-)
    • L'integrazione tra Office 12 e il motore di WWF è molto forte
    • I Workflow di WWF sono pesantemente integrati anche con WSS 3.0 e le liste di documenti
      • Ogni Document Library supporta workflow multipli
      • Ci sono già una serie di template di workflow definiti e utilizzabili
      • Si può utilizzare come designer anche FrontPage e non solo Visual Studio
    • Le novità di InfoPath 12 che ho visto per ora:
      • Office Form Server è il servizio server che esporrà le form di InfoPath ai client, senza la necessità di avere InfoPath installato sul client
        • Hanno mostrato che funziona con Mozilla (definito "another browser" :-)...)
        • Ma funziona anche su device mobili. Hanno mostrato una demo da un emulatore di SmartPhone! Veramente bello e interessante come potenzialità!
      • Si possono creare dei template di form da riutilizzare all'interno di altri form
      • È possibile pubblicare le form via email, che dovrebbe corrispondere a farle compilare in Outlook 12 agli utenti (non è chiaro se gira anche su altri client di posta)
    • Windows Sharepoint Services 3.0:
      • Il motore di ricerca di WSS 3 è specializzabile per tipologia di ricerca (contatti, documenti, ecc) ed è possibile definire dei set di parole o query di uso ricorrente per semplificare la ricerca agli utenti. Ci sono già delle WebPart relative alla ricerca, riutilizzabili nelle pagine.
      • C'è la possibilità di pubblicare fogli di excel, pivot table, ecc. come porzioni di pagine HTML in Sharepoint, utilizzando un motore server-side, che sul client manda solo HTML e non controlli ActiveX o altre porcherie simili
      • I dati possono essere ottenuti in parte dalle liste e in parte da database/applicazioni esterne in modo semi-automatico
    • Per quanto riguarda Access 12:
      • Hanno rifatto l'interfaccia utente dei menu in maniera consistente con il resto di Office 12
      • Ci sono una serie di template di contenuti già pronti, per ridurre i tempi di sviluppo di piccole soluzioni.
      • I dati di WSS3 sono collegabili ad Access 12
      • Può essere comodo per aggregare in un'unica interfaccia utente dati provenienti da diversi siti WSS3
      • Fornisce la possibilità di creare dei mail merge "particolari" che inviano ai destinatari dei messaggi da compilare (per esempio creati con InfoPath 12) e che salvano i dati in Access

 

 

Le prime considerazioni che mi vengono da fare sono che Microsoft si sta muovendo veramente bene nel marcato. Sta praticamente occupando tutte le aree di mercato disponibili e ci sta fornendo un insieme di tool che ci permetteranno di creare applicazioni veramente integrate e integrabili, usando sempre .NET come linguaggio di base.

Il fatto di aver separato le competenze (manager, architetto, designer, developer, utente e utente evoluto) identificando diversi prodotti e ambiti di azione è per me un'idea assolutamente azzeccata. Non la vedo come una "scusa" per vendere più licenze, ma piuttosto come un tentativo di dare un ordine alle cose, identificando responsabilità e ruoli.

Da entusiasta quale solo del Framework .NET, sono molto soddisfatto di quello che ho visto e che sta succedendo.

Davvero un bel lavoro! Non vedo l'ora che sia tutto pronto ... speriamo che poi le aziende, e gli ISV per primi, siano pronti a surfare su questa nuova onda e che non si facciano travolgere invece di cavalcarla!

 

Per chiudere bene la keynote Eric Rudder ci ha appena detto che regalerà ad ogni partecipante di PDC05 una copia di SQL Server 2005 quando sarà rilasciato! Praticamente, tra UTC Universal e SQL 2005, mi sono ripagato la vacanza!! Fico, devo venire più spesso in USA !!! :-)

 

Ma non finisce qui: abbiamo accesso alla beta di Office 12. Marco, poche seggiole più in là rispetto alla mia, sta esultando :-) !

 

D'altra parte la giornata era iniziata bene, con una bella colazione insieme a William in un bar di quelli "veri" a base di uova strapazzate, ketchup, patate al burro, pamcake con sciroppo di acero, spremuta di arance e caffè americano! :-)

PDC05 Goods

Per ora abbiamo avuto questo:

- Windows Vista Beta 1
- Visual Studio 2005 Team System Beta 2
- SQL Server 2005 June CTP
- Virtual Server 2005 R2 Beta
- WinFX, WinFS Beta 1
- Windows Vista CTP PDC05

Di interessante c'è il Refresh di Vista e le ultime versioni delle varie Beta e CTP.

PDC05 - Keynote

La keynote di questo anno è stata abbastanza commerciale e poco tecnica, ma tutto sommato è stata come sempre una keynote "ad effetto".

Ecco gli appunti che ho preso:

WSS 3.0: oltre a quanto già detto nel precedente post è stata mostrara una nuova tipologia di document library, chiamata PitchBook Library, pensata per gestire liste di demo Powerpoint e integrata con PowerPoint 12. Inoltre è stata confermata la presenza di un Recycle Bin e il fatto che è possibile lavorare off-line con i documenti di WSS potendosi poi sincronizzare. Non è chiaro se questa funzionalità è una prerogativa di Office Vista o se funziona con qualsiasi tipologia di file. Infine WSS 3.0 sarà in grado di pubblicare come RSS i propri contenuti.

Windows Vista: la presentazione ha puntato principalmente sulla parte di interfaccia grafica. Avrei gradito qualcosa di più orientato ai Developer visto che siamo a PDC ... comunque ecco degli appunti molto "brutali":

  • Sidebar: adesso c'è di nuovo
  • Gadget: sono plugin per la sidebar, sono sviluppabili anche da noi e sono carini anche se non fondamentali per le sorti del mondo :-)
    • Alcuni gadget funzionano anche con il PC spento usando display ad hoc (ci hanno mostrato una preview di un portatile ASUS che lo faceva) su device in genere, purché predisposti (pensate a mobile, smartphone, Media Center, ecc. con dei pannellini di controllo)
    • Un gadget per esempio è quello che aggrega gli RSS
  • Text command line da menu Start
  • WinFS sarà disponibile anche server-side e non solo client-side
  • Search ovunque e full-text search sui file
  • Internet Explorer 7
    • Tab sulle pagine aperte (era ora!) con qualche comoda view per gestire i vari tab a gruppi/favorites
    • Print preview con fit the paper
    • Anti-phishing basato su euristica e rete P2P di utenti
  • Automatic Defrag costante e in background
  • Superfetch
    • Ottimizza il sistema in base a ciò che viene effettivamente utilizzato
  • Usa le chiavette USB come memoria RAM accessoria e cripta i dati sulla chiavetta
    • Non è chiaro se lo fa solo per il superfetch o in generale per la RAM
  • Low integrity mode
    • Si possono creare sandbox intorno ad altre applicazioni, anche di terzi, lavorando sulla configurazione di Windows Vista
  • WPF/E = WPF Everywhere
    • Converte/Adatta XAML verso "qualsiasi" device (hanno mostrato PC classico, Tablet, Media Center, Smartphone HTC Universal ....)

 

Office Vista:

 

  • Improvements scenografici nella UI e nelle toolbar, molto WISIWYG
  • Infopath form via email per submission diretta da Outlook
  • RSS Subscriptions su Outlook
  • Outlook x ora è cambiato molto meno del resto come UI
  • Non hanno proprio parlato di Access 12... meditate gente ... meditate :-)

Second half 2006: Windows Vista + Office Vista + Sharepoint 3.0

Per fine anno 2006 potrebbe esserci una beta 2 di Windows Vista. Tra poco avremo i bit di tutto!!! Vado adesso a prenderli! :-)

Notiziona, come ha già detto RoB, è il fatto che mamma Microsoft ha praticamente regalato (149$ invece di 1100$ circa) a chi lo voleva un HTC Universal. Inutile dire che l'ho subito preso e che sto camminando ad un metro da terra :-) !

EBay si è comprato Skype
Come si legge nel blog di Robert Scoble, Skype è stato comprato da EBay!
Bella mossa! Il mercato del VoIP è in fermento in questo periodo ... tutti i colossi della rete ne stanno capendo il valore e stanno cercando di prendersi una posizione di rilievo... è bello assistere a queste fasi preliminari, perché secondo me il bello deve ancora venire tutto .... è meglio che le compagnie di telecomunicazioni tradizionali mungano le loro mucche :-) finché c'è ancora latte ....
Posted: set 12 2005, 05.42 by paolo | with no comments
Filed under:
Windows Sharepoint Services 3.0

Mi sono portato avanti con i compiti :-) e ho guardato le slide delle sessioni su WSS 3.0.

Salve errori, fraintendimenti e/o omissioni questo è quanto è emerso per ora:

  • Ci sarà il RecycleBin
  • Per-Item Permissions
  • Extended properties da file di definizione esterni, per leggerle dai file le metainformazioni
  • Eventi anche sulle liste standard
  • EventHandler multipli
  • Eventi Before e non solo After
  • Si possono creare tipi di dati custom
  • Autenticazione non Windows (per es. Forms Authentication di ASP.NET o SSO esterno)
  • Supporto pieno alle WebPart di WSS 2.0 e di ASP.NET 2.0

Dovrebbe arrivare insieme ad Office Vista (12). Domani vediamo che ci dicono ... per ora prendete tutto con il beneficio di inventario.

Windows Forms testing con Team System
In questo momento manca uno strumento nativo per eseguire test di interfacce utente Windows Forms. C'è un prodotto di terze parti per ora. Invece ci sono tool nativi per il testing del codice e delle applicazioni web, come già si sapeva.
More Posts Next page »