free hit counter
July, 2007 - Pietro Brambati Blog - Site Home - MSDN Blogs

Pietro Brambati Blog

Developer's stories

July, 2007

  • Pietro Brambati Blog

    Silverlight 1.0 RC1

    • 0 Comments

    Ok, per chi di voi se la fosse persa, dopo la beta 2 di VS 2008, potete scaricare anche la RC1 di Silverlight 1.0.  Avevo già messo in evidenza alcune delle differenze delle Beta con la RC in un precedente post: la versione RC1 non è 100% compatibile con la precende.

    Vi consiglio di andare direttamente alla pagina Get Started per avere i link a tutto quello che serve per sviluppare con Silverlight 1.0 RC1. Vi consiglio almeno:

    Per l'installazione della RC non c'è bisogno di disinstallare la beta precedente. Seguite direttamente il link del runtime.

    Oltre la RC1 della verisione 1.0 è stata anche rilasciata una versione di refresh della 1.1, attualmente in alpha. Come sapete la 1.0 supporta come linguaggio di programmazione il Javascript, mentre la 1.1 offre un modello di programmazione più evoluto baso sul .NET Framework (una versione ridotta che gira interamente nel browser). Se non consocete bene la differenza delle due versioni, che sono in sostanza versioni parallele leggete qui per chiarezza .

    Se siete interssati alla nuova XBOX 360 ELITE, guardate qui... ma prima scaricate Silverlight 1.0 RC1.

    image

    Ciao

    -Pietro

  • Pietro Brambati Blog

    Visual Studio 2008 e .NET Framework 3.5 Beta 2

    • 2 Comments

    Da poco è stata rilasciata la Beta 2 di VS 2008 e di .NET 3.5. A questo link potete scaricare la versione che preferite (Professional, Team System o la Express ) oppure una virtual machine.

    Molte le novità, tra cui:

    • supporto per la scelta del .NET Framework da utilizzare nei progetti : 2.0, 3.0 o 3.5
    • il designer per le applicazioni web permette ora di avere split-view, master-page nidificate, un editor dei CSS che consente facilmente di rendersi conto dello stile applicato al documento
    • ASP.NET AJAX integrato, supporto per l'intellisense ed il debugging per il JavaScript, nuovi controlli: come l' <asp:ListView> che consente di avere pieno controllo sul codice di markup generato
    • LINQ (Language Integrated Query) un nuovo modello di programmazione che consente di usare una sintassi alla SQL per operazioni su oggetti, XML e db relazionali. Supporto dell' IDE per mappare il nostro database verso gli oggetti che utilizziamo nelle applicazioni
    • Integrazione di un designer per WPF, supporto migliorato per lo sviluppo con Office, le novità dell' IDE per lo sviluppo mobile etc, etc.

    Qui trovate una piccola video demo in italiano:

    Visual Studio 2008 demo

     

    Insomma per chi sta andando in ferie, può essere una buona occasione per fare qualche prova :-)

    Con questo vi saluto per un po', perchè anch'io andrò a breve a godermi un po' di riposo. Al rientro non mancherà occasione di fare approfondimenti su VS 2008 e .NET 3.5.

    -Pietro

  • Pietro Brambati Blog

    Open Source at Microsoft

    • 0 Comments

    e-mailbackground.gif

    E' da poco live sul sito Microsoft un portale dedicato alle iniziative in ambito Open Source. Un punto di ingresso ai diversi progetti che già da tempo sono attivi e che sicuramente fanno bene in quelle realtà complesse, come spesso accade, in cui si trova sia software Open Source che Software commerciale.

    In particolare, il nuovo sito includerà risorse specifiche per categorie di audience, come ad esempio gli IT Pro, gli sviluppatori, gli enti governativi, le università e gli studenti, illustrando i filoni principali nei quali si articola l’approccio di Microsoft:

    • collaborare per Costruire Ponti (ok la traduzione italiana non è il massimo) tra Microsoft e le tecnologie open source che aiutino a raggiungere i propri scopi. Qui si parla ad esempio dell' accordo fatto con Zend.
    • creare Opportunità Economiche per fare business con il software, a prescindere dal metodo di sviluppo
    • fornire opportunità per Community, Creatività e Apprendimento per aiutare a costruire competenze ed innovare
    • supportare un Mondo di Scelta nel quale gli attori di mercato possano fare le proprie scelte.

    Il sito andrà in questo modo ad affiancarsi a Port 25, il sito web del Microsoft Open Source Software Lab.  Port 25 continuerà dunque ad essere la fonte di informazioni tecniche e dialogo con la comunità tecnica OSS. 

    Ad esempio  nella sezione Community, Creatività e Apprendimento si parla del ciclo di sviluppo utilizzato per realizzare l' AJAX Control Toolkit, il cui sviluppo è iniziato in casa Microsoft e dipente in modo sostanziale dai feedback ricevuti dalla community. Leggete se siete interessati il case study, in inglese. In questa sezione trovate riferimento anche ai programmi di Shared Source come il Windows Academic Program pensato per il mondo universitario e di cui ho recentemente parlato in un mio post.

    La sezione FAQ è molto interessante e risponde ad alcune domande che i più si staranno ponendo...

    Ciao, Pietro

  • Pietro Brambati Blog

    Windows Academic Program .... il kernel di Windows

    • 8 Comments

    Ciao, ho già fatto un post sull'argomento, ma in occasione dell' estate io e Mauro, new entry nel team, abbiamo deciso di parlarne più diffusamente.

    WAP è un programma per le università pensato per l'insegnamento del kernel di Windows nei corsi di sistemi operativi.  Si compone di tre parti:

    • Curriculum Resource Kit (CRK): slide per tenere un corso di sistemi operativi. Le slide sono divise in moduli, in modo da poter essere utilizzate anche solo in parte. Ci sono anche laboratori, quiz etc.
    • Windows Research Kernel (WRK): i sorgenti del kernel di Windows 2003 SP1 (x86,x64) e Windows XP(x64), con un ambiente di build per la compilazione e le istruzioni per l'installazione su una virtual machine con Virtual PC.  Scusate ... nel video ho sbaglio il nome del WRK .... ho proprio bisogno di ferie.
    • Project OZ: un semplice sistema operativo per fare esperimenti ...

    Nel video potete saperne di più... e vedere la compilazione del kernel di Windows incluso nel WRK!

    Video: Windows Academic Program

    Per i docenti è inoltre da poco attivo un sito web a loro dedicato: il Faculty Connection, dove possono recuperare materiale didattico sulle tecnologie Microsoft, compreso il WAP.

    Scusate per la scarsa qualità audio/video del filmato, ah... per la cronaca ... io sono quello con la maglietta nera Imagine Cup :-)

    -Pietro

  • Pietro Brambati Blog

    Windows Communication Foundation (WCF) ... qualche web-pillola

    • 5 Comments

    Sì, spero di fare cosa gradita iniziando una serire di "web-pillole" su quest' argomento. Nel post trovate riferimenti alle pagine della documentazione ufficiale, dove trovare approfondimenti. Iniziamo con la prima e fatemi sapere se volete che ne scriva altre sull'argomento. 

    Windows Communication Foundation, WCF per gli amici, è una delle novità introdotte da .NET Framework 3.0, rilasciato con Windows Vista. Come penso sapete le altre componenti del .NET Framework 3.0 sono Windows Presentation Foundation (WPF), Windows Workflow Foundation (WF) e Windows CardSpace (WCS). Il runtime del .NET Framework 3.0 è anche disponibile per Windows XP SP2 e Windows 2003 SP1 .

    Quindi in estrema sintesi .NET 3.0 = WCF + WF + WPF + WCS. Se volete qualche informazione in più potete scaricare qualcuna delle mie vecchie presentazioni qui.

    WCF è nato con almeno i seguenti obiettivi:

    Soffermiamoci sull'ultimo punto: fino a prima di WCF, eravamo abituati a usare diversi modi di programmare, per modi intendo API e modelli di programmazione: diverso è se dobbiamo creare un'applicazione che usa .NET Remoting, Web Services, Enterprice Services, COM+ o MSMQ; questo per diverse ragioni: basti pensare che molte di queste tecnologie sono nate in momenti storici diversi. Con WCF possiamo usare un unico modello di programmazione quello di WCF e utilizzare tutti i paradigmi di programmazione prima menzionati. Tanto per fare un esempio pensiamo di scrivere con WCF un servizio, che implementa semplici funzionalità di somma, sottrazione etc. Vedremo meglio tra breve, cosa si intende per servizio, e di "esporlo" come un Web Service via http. La cosa interessante di WCF e del suo modello di programmazione e che fatto tale servizio, cambiando semplicemente i file di configurazione del client e del server, potremmo ad esempio esporre il nostro servizio,via HTTP come Web Service, ma anche via TCP/IP. In uno scenario in cui vogliamo usare i Web Service per offrire interoperabilità tra piattaforme diverse, magari esterne alla nostra azienda, e offrire al tempo stesso maggiori performance ai client che sono interni al nostro dominio aziendale WCF è sicuramente di aiuto. Con WCF il nostro servizio, sarà implementato una volta, ma il "contenitore" del servizio, lo esporrà usando due distinti trasporti. Attenzione ho detto contenitore, non ho parlato solo di IIS, ma ritornerò presto su questo.

    Quindi usiamo WCF per realizzare applicazioni distribuite, usando un paradigma di programmazione serviced-oriented.

    Ok, capito questo, vediamo come addentrarci in WCF, introducendo i concetti di EndPoint, Address, Binding e Contract. Farò riferimento, anche in seguito, agli esempi che trovate nell' SDK di Windows, che sono scaricabili anche separatamente come samples per WCF e WCS qui.

    In generale abbiamo un Client ed un Server, che comunicano usando dei messaggi: ricordate si parlava di architetture SOA … per fissare le idee, inizialmente, ma solo inizialmente, pensate a quello che sappiamo dal mondo dei Web Service.

    L'Host, cioè chi contiene il nostro servizio (e.g. libreria matematica che espone funzioni base ), lo espone  attraverso quello che viene definito come Endpoint. Endpoint = Address+Binding+ Contract (detti l'ABC di WCF!). E il client ? Anche quest'ultimo parlerà con il servizio in questione usando lo stesso Endponit. In breve:

    • Contract: interfaccia del servizio che vogliamo rendere fruibile. (Cosa posso fare?)
    • Binding: è fatto da più elementi, detti binding elements, che rappresentano il tipo di trasporto utilizzato, ad esempio TCP/IP, più altre funzionalità più specifiche che riguardano ad esempio la sicurezza, la possibilità di supportare una sessione condivisa tra client e server o il sistema di codifica utilizzato. (Come comunicare con il servizio?)
    • Address: è l'indirizzo, condiviso tra client e server per la comunicazione, specificato usando un URI, che identifica anche il trasporto usato. Ad esempio HTTP://cohowinery:8005/ServiceModelSamples/CalculatorService. (Dove posso trovare il servizio ?)

    Nell'immagine seguente è espressa una vista di insieme, spero chiara:

    SnagIt   

    Aggiungo un'importantissima considerazione: il contenitore del servizio, come l'ho definito fin'ora, l' host può essere non solo IIS, ma anche una console application, una Windows Form, un pacchetto COM+, un'applicazione WPF etc.  

    Nella figura il nostro servizio espone l'interfaccia ICalc che viene utilizzata per definire il contratto, tale contratto è utilizzato per definire due Endpoint, uno che usa un binding che internamente usa come trasporto TCP/IP e un secondo che usa come trasporto HTTP e che permette di esporre il servizio come Web Service. In entrambi i casi sono definiti due Address distinti che devono essere conosciuti dai client. I client infatti usano WCF e usano i due distinti endpoint. Il client che consuma il servizio esposto come Web Service potrebbe essere anche un client non-WCF, ad esempio un'applicazione Java su altra piattaforma.

    Nel prossimo post vedremo un esempio di codice sia di un client che un servizio.

    A questo link trovate il sito community sul .NET 3.0 e in particolare su WCF: trovate esempi, blog, etc. Interessante la sezione resources con articoli interessati. 

    Buona lettura e fatemi sapere ..

    -Pietro

  • Pietro Brambati Blog

    Silverlight ... aspettando la RC

    • 1 Comments

    imagePenso che tutti sappiate cosa sia Silverlight, ma in breve potrei definirlo come: un plug-in per diversi browser: Internet Explorer, Firefox, Safari, Opera, che gira su piattaforma Windows e MAC per sviluppare applicazioni web ad elevato contenuto multimediale ed interattivo: 2D, Animazioni, giochi etc. Ne ho già parlato un precedente blog, che vi consiglio di leggere se siete interessati a saperne di più.Se volete vedere qualche esempio di utilizzo di questa nuova tecnologia, potete partire dal sito Community, dove trovare numerosi esempi e materiale per sviluppatori. Se non avete ancora scaricato il plug-in, necessario per vedere le demo, potete farlo da questo link.

     

    Leggendo il blog di Tim Sneath, trovate qualche informazione sul prossimo rilascio della RC di Silverlight della versione 1.0, che attualmente è in Beta, mentre è in Alpha per la versione 1.1. Tim puntualizza su alcune breaking changes introdotte nella prossima versione e pubblica una preview dell' SDK per Silverlight. Se qualcuno sta già lavorando con la beta consiglio di scaricare l'SDK, che non contiente ovviamente la RC, ma un documento con le novità introdotte e le differenze con la versione beta.

     

    Nel documento in questione trovate questi paragrafi per le differenze:

      • Remove "javascript:" in event handlers
      • Remove "Sys."
      • Use the latest Silverlight.js
      • All Downloads are now Asynchronous
      • Glyph element FontURI is Resolved Asynchronously
      • Remove Visibility.Hidden
      • Extra check on ASX Tags Resulting in MediaFailed Event
      • New Parser Error on Invalid Double Values like "Auto"
      • OnLoad, OnError, OnResize, OnFullScreenChange are now Function Pointer Based Rather than String Based
      • Elements in <*.Resource> blocks must be named
      • The MediaElement Position property value can be greater than the MediaElement NaturalDuration property value
      • Additional Animation Run-Time Errors
      • Can No Longer Use ’\’ in URIs
      • All Shaped Transform Members are now of Type Transform instead of TransformGroup
      • Remove IsFilled Property
      • AddEventListener now Returns a Token to be Passed to removeEventListener to Un-Register Event Handlers
      • Replace Version Property in Plug-in with isVersionSupported method

     

    Nell' SDK trova inoltre il template per Visual Studio 2005 ( serve aver installato la SP1 o il supporto per Web Application Projects) per svilppare con Silverlight 1.0. Nel file readme, trovate le semplici istruzioni su come installare il template.

  • Pietro Brambati Blog

    Uno sguardo al nuovo Visual C++ in Visual Studio 2008 ('Orcas')

    • 0 Comments

    Oggi mi sono imbattutto in un articolo molto interessante e sintetico sulle novità del Visual C++ nel prossimo Visual Studio 2008(in inglese), che per chi di voi è interessato vi consiglio di leggere.

    Due le aree trattate:

    1. Supporto per lo sviluppo di applicazioni in Windows Vista. Applicazioni che vogliono avere il "look" di un'applicazione alla Windows Vista e applicazioni che interagiscono con lo User Account Control (UAC)
    2. Supporto per lo sviluppo di applicazioni C++ che interagiscono con il CLR: marshaling di tipi nativi e tipi CLR, etc

    Oggi se si vuole realizzare un'applicazione con il look di Vista e non si vogliono utilizzare direttamente le API native del sistema operativo, si ha la possibilità di utilizzare "Vista Bridge", che si trova nel Windows SDK e che, in buona sostanza, è una serire di Wrapper, di esempio, su alcune delle nuove API che sono, così, rese disponibili al mondo .NET. Per chi è interessato può dare uno sgurdo a questa presentazione e a questo post, in cui in parte parlo di Vista Bridge. Il nuovo VC++ ha esteso le MFC per aggiungere il supporto ai nuovi elementi della User Interface(UI) e ai temi di Vista: Common File Dialog, Windows trasparenti, Common Link Control, etc.  La cosa interessante è che se creiamo, ad esempio, una FileDialog su Vista viene visualizzata con il nuovo look, mentre se la stessa applicazione viene fatta girare su un'altro sistema operativo, come 2000, viene visualizzata nel "vecchio modo". Un'applicazione già compilata con la versione precedente delle MFC, invece, presenta la Dialog tradizionale anche su Vista. Così è comunque possibile usare le nuove MFC e forzare il look tradizionale anche su Vista, impostando un opportuno parametro ( i dettagli li trovate nell'articolo segnalato).

    Una delle maggiori nuovità per la sicurezza in Vista rigurada lo UAC, che consente alle applicazioni di girare con i privilegi minimi richiesti, anche se l'utente che si è loggatto alla macchina, e il cui account sta facendo girare l'applicazione, appartiene al gruppo degli amministratori. Una applicazione che vuole a pieno sfruttare l'UAC e funzionare nel modo più consono all'applicazione stessa deve avere un manifest opportuno. In Visual Studio 2008 esiste un nuovo switch per il linker che permette la generazione automatica del manifest. Il comportamento di default impostato nel manifest è "As-Invoker", cioè l'applicazionie gira con i privilegi (token di sicurezza) del processo che l'ha lanciata.

    image 

    Per chi ha avuto modo di utilizzare il C++ "mixando" tipi nativi e tipi CLR, usando ad esempio il C++/CLI in Visual Studio 2005, o le precendenti Managed Extensions for C++, si sarà sicuramente imbattuto nelle problematiche di marshaling tra tipi nativi e tipi CLR, in particolare per le stringhe. Guardate i file marshal*.h in "C:\Program Files\Microsoft Visual Studio 9.0\VC\include\msclr". In Visual Studio 2008 è stata aggiunta una libreria di marshaling per i tipi più comuni di stringhe. Nell'articolo che vi ho segnalato vengono poi puntalizzate altre novità per chi sviluppa usando il CLR dal VC++.

    Buona lettura.

  • Pietro Brambati Blog

    TechEd Developer 2007 ...

    • 0 Comments

    TechEd 2007

    L'estate è il momento migliore per pianificare cosa fare l'anno successivo. Magari qualcuno di voi sta approfittando di questo momento di calma(?) per pianificare la sua formazione per il prossimo anno .... sì, aimè, per noi sviluppatori le cose da sapere non finiscono mai.

    Volevo quindi segnalarvi che è possibile iscriversi al TechEd Developer 2007. Penso che chi lo conosce abbia già avuto modo di apprezzare la qualità delle sessioni tecniche trattate, per chi non lo conosce: è uno degli eventi tecnici più importanti dell'anno e che quinidi merita la vostra considerazione. 

    Ve lo segnalo perchè chi si iscrive entro il 31 Luglio ha la possibilità di risparmiare un po' di soldi e quindi ...

    A questo link trovate la lista dei percorsi (track) che verranno affrontati, in breve sono:

    • Architettura: scegliere la giusta tecnologia per indirizzare i problemi che la vostra applcazione vuole risolvere.
    • Business Applications: si parla delle tecnologie, prodotti e soluzioni legate a Microsoft Dynamics.
    • Business Intelligence: sulla piattaforma BI di Microsoft
    • Connected Systems: NET Framework 3.0, in particolare Windows Communications Foundation, Windows Workflow Foundation e Windows CardSpace, ma anche BizTalk Server 2006 R2 e i BizTalk Services e di come queste tecnologie si inquadrano nella visione di "Software as A Services" and "Software + Services"
    • Database Development: sviluppo su SQL Server 2005 e su "Katmai", la prossima versione di SQL Server.
    • Designer: chi utilizza la suite di prodotti Microsoft Expression
    • Infrastructure for Developers: Ciò che uno sviluppatore deve sapere per realizzare applicazioni per Windows Server 2008, Microsoft Virtual Server R2 SP1, Windows Server Virtualization, Terminal Services, Server Clustering.
    • Mobile & Embedded: per chi sviluppa con Windows Mobile 6, Windows Embedded CE 6.0, il .NET Micro Framework, Windows XP Embedded e .NET Compact Framework 2.0
    • Office System: per chi sviluppa con Microsoft Windows SharePoint Services, Microsoft Office SharePoint Server 2007, Microsoft Office client suites , Visual Studio Tools for Office STO SE, Visual Studio 2005 Extensions for SharePoint, Open XML File Formats e Windows Workflow Foundation e per chi è interessato a creare applicazioni "Office Business Applications" (OBA)
    • Security: Security Development Lifecycle (SDL), Cryptography, Windows Vista Security (e.g. User Account Control), Windows CardSpace, Active Directory Federation Services (ADFS).
    • Tools & Languages: ADO.NET Entity Framework e.NET Language Integrated Query (LINQ) e Windows Presentation Foundatio (WPF).
    • Web Development: IIS 6.0/7.0, ASP.NET 2.0, ASP.NET AJAX Library, ASP.NET 2.0 AJAX Extensions, ASP.NET AJAX Control Toolkit, RSS, IE7, Windows Live™ Platform ed Expression Studio.
    • Windows and Frameworks: sviluppo di codice managed ed unmaged

    Qui qualche sessione di esempio.

    Non dimenticatevi di iscrivervi.

  • Pietro Brambati Blog

    Channel 9 anche in italiano

    • 1 Comments

    image Qualcuno di voi si è mai chiesto: ma ci sono italiani che lavorano a Redmond? Chissà .... cosa fanno?  Chi sono?

    Bene vi segnalo questa simpatica  e utilile iniziativa che Vittorio Bertocci ha aniziato su Channel 9. Vittorio, per chi non conosce il suo blog, ha lavorato prima in Microsoft Italia e ora è a Redmond e si occupa per lo più di Windows Communication Foundation(WCF) e CardSpace. 

    Qui trovate la prima puntata delle interviste agli italiani in Redmond.  La prima è a Mauro Ottaviani ... che ci racconta di Windows Communication Foundation (WCF) in termini di performance, errori comuni di programmazione e tool da utilizzare .... non voglio aggiungere altro.

    Quindi .. tenete un occhio  http://channel9.msdn.com/tags/Italia!

    -Pietro 

Page 1 of 1 (9 items)