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

Pietro Brambati Blog

Developer's stories

May, 2007

  • Pietro Brambati Blog

    Oggi al via il REMIX 07 ...

    • 0 Comments

     

    Oggi inizia a Milano, nella nostra sede di Segrate, il REMIX: la riedizione dell'evento tenutosi qualche settimana fa a Las Vegas e rivolto alle novità tecnologiche per il Web.

    L'evento è rivolto sia a Designer che a sviluppatori, molti i temi trattati dai colleghi americani: Silverlight, WPF, Windows Live, Microsoft Expression Studio, le novità su ASP.NET e Visual Studio e senza dimenticare lo sviluppo con AJAX e di Gadget per Windows Vista.

    Vi consiglio di dare un occhiata al blog "live" che verrà aggiornato in continuo anche nei prossimi giorni e che trovate qui.

    Non perdetevi quindi la possibilità di rimanere aggiornati sulle tecnologie Microsoft per il Web.

    -Pietro

  • Pietro Brambati Blog

    Una giornata al PHP Day (come speaker ..)

    • 3 Comments

    Sì forse non molti di voi ci crederanno, ma venerdì 18 maggio ho partecipato al PHP Day, svoltosi a Verona.

    E' stata un'esperienza interessante, non solo dal punto di vista tecnico, ma anche un interessante momento per lo scambio di opinioni con le persone della communità PHP.

    P5180009

    Nella foto mi vedete alle prese durante la mia sessione, alla quale hanno assisto circa 150 persone e altre 90, credo, hanno avuto modo di seguire l'intero evento da internet , dato che è stato trasmesso in streaming.

    Trovate qui il link al video della mia sessione, scusate mi sono mosso forse un po' troppo per le capacità di acquisizione usate, inoltre dato che lo schermo era inquadrato di 3/4 non sono completamente visibili le demo; ma ho in previsione di approfondire aluni argomenti trattati tramite una serie di webcast pianificati per giugno. Date un occhio al sito MSDN Italia, nella sezione webcast.

    Nel mio intervento ho toccato diversi argomenti, in particoalre:

    • FastCGI: una soluzione che permette di far girare un'applicazione PHP su Internet Information Server (5.x/6 e 7) in modo performante ed affidabile.
    • IIS 7: Internet Information Server 7, rilasciato con Windows Vista ed incluso anche nel prossimo Windows Server 2008, fornisce una serie di funzionalità che possono essere utilizzate per le applicazioni PHP: come l' Output Cache, con cui è possibile aumentare ulteriormente le performance di PHP su Windows, la possibilità di aggiungere meccanismi di Forms Authentication per proteggere le applicazioni, etc.
    • Phalanger: è un progetto che permette di usare la sintassi di PHP per realizzare applicazioni che usano ASP.NET, e non solo, e che  hanno acccesso alle classi che il .NET Framework mette a disposizione.
    • Nuove tecnolgogie: un rapido sguardo alla programmazione AJAX con le Microsoft AJAX Library e con Silverlight e di come utilizzarle dalle applicazioni PHP.

    Le slide sono disponibili qui.

    Prossimamente verrà arricchita dagli organizzatori anche la collezione di foto raccolte durante l'evento e che potete vedere qui.

    -Pietro
  • Pietro Brambati Blog

    Real Code Day 2 e Windows CardSpace

    • 2 Comments

    Ho avuto l'onore di partecipare alla seconda edizione dell'evento "Real Code Day", svotosi nella bellissima cornice della città di Firenze.

    L'argomento che ho portato nella mia presentazione è stat Windows CardSpace, in particolare ho seguito quello che ritengo essere uno scenario tipico di utilizzo CardSpace nelle applicazioni già esistenti. Quello cioè di fornire un metodo alternativo per l'utente di autenticarsi ad un sito web.

    Ma andiamo con ordine. WCS è una delle componenti del .NET Framework che si occupa della gestione delle identità digitali, vuole offrire all'utente un modo comodo e sicuro di autenticarsi ad un sito web, ma non solo. Infatti WCS può essere usato come meccanismo di autenticazione anche in presenza di applicazioni come Web Services ed applicazioni Windows Communication Foundation. Nel mio intervento mi sono però concentrato sulle applicazioni web.

    La prima cosa che serve per sviluppare con WCS è avere configurato IIS con un apposito certificato. La pagina che abilita l'Identity Selector, quel pannello da cui si scelgono le carte, deve essere infatti richiesta via HTTPS; perchè CS non solo vuole dare visibilità all'utente del certificato del server, ma anche ne utilizza la chiave pubblica per cifrare il token.

    L'applicazione che deve decifrare il token di sicurezza, ricevuto da WCS, deve quindi avere i diritti necessari per accedere alla chiave privata associata al certificato.

    Fortunatamente con IIS 7 in Windows Vista e Longhorn Server il processo di creazione di un certificato (SSL) di test e la configurazione dei permessi per la chiave privata è molto semplice. Dalla console di IIS 7 è possibile creare un certificato di test, qunidi usando l'MMC per la gestione dei certificati (della macchina) è possibile andare ad impostare i permessi sulla chiave privata, relativa all'utente che dovrà accedervi; nel mio caso l'utente "Servizio di Rete" che fa girare l'application pool. Nella figura seguente si dovrebbe capire come generare il certificato:image

    Aprendo invece la MMC con lo snap-in per la configgurazione dei certificati, selezionando  Certificate(Local Computer)->Personal->Certificates, selezionare il certificato appena creato, quindi All Task-> Manage Provate Key ... e quindi assegnare i permessi in lettura per l'utente desiderato.

    Qui sotto trovate le poche slides usate, era un evento, solo codice!

    Spero sia utile la sezione link con qualche utile riferimento, anche per chi non conosce WCS e vuole iniziare a lavorarci. Trovate anche il codice usato durante la sessione.

     

    Slides

    Codice

     

    -Pietro

  • Pietro Brambati Blog

    Microsoft Expression Media Encoder e Silverlight

    • 0 Comments

    Scarichiamo :

     

    Con Expression Media Encoder è possibile importare video e renderli disponibili per il web in un formato adatto a Microsoft Silverlight. ASP.NET Futures, mi sono serviti per vedere funzionare il mio filmato in una applicazione ASP.NET, che supporti appunto AJAX e Silverlight. In particolare ASP.NET Futures contiene oltre le Microsoft AJAX Library, le estensioni ad ASP.NET delle prossime versioni di ASP.NET e richiede che venga installato il .NET Framework 3.5, in Beta1, quest'ultimo verrà richiesto di scaricare durante la fase di installazione se non già presente. L'instazzione delle ASP.NET Futures è necessario solo se si vuole realizzare un progetto web ASP.NET con il filmato realizzato.

    Per prima cosa importiamo un video: File-> Import ... nel mio caso ho preso uno dei sample video che avevo sulla mia macchina Vista. Nel manuale trovate la lista completa dei formati audio/video supportati ed eventuali codec necessari non presenti.

    Ecco come appare il Media Encoder dopo l'import

    image

    Ora possiamo fare delle operazioni di editing del viveo importato, ad esempio crop, trim. Nel mio caso ho fatto una semplice operazione di trim spostando gli indicatori di inizio e fine del filmato, come si vede nella figura seguente:

    image

    Ora possiamo passare alla parte relativa alla codifica del filmato. Perchè? In questo modo ottimizzeremo il filmato per essere fruibile usando Silvelight. Quindi scegliamo il profilo che meglio si adatta alle nostre esigenze, che definirà il bit rate e la dimensione del video. Interessante a questo punto la possibilità di comparare, in modo visuale, la codifica dei due filmati: quello originale e quello nuovo, secondo il profilo di codifica scelto. Premendo infatti il tasto image , facilmente rintracciabile, il pannello con la preview del filmato si sdoppia in due parti per il confronto:

    image

    Nel pannello di Output sotto Job Ouput è possibile scegliere il template da usare, cioè la "cornice" che il nostro filmato avrà dopo la codifica. Ad esempio, nelle immagini seguenti sono usati due template differenti (Pilot e Classic):

    image image

    Ora premiamo Encode, tasto ben in vista, per  la codifica. Alla fine della codifica si aprirà  il browser con un file html che contiene il nostro filmato.

    image

    Se apriamo la directory che contiene il file html dell'esempio ci accorgiamo che è già predisposto un progetto ASP.NET, apriamolo usando ad esempio Visual Web Developer Express Edition, dopo aver installato le componenti aggiuntive che dicevo all'inizio ed ecco fatto un semplice esempio già fatto !

    image

     

     

    Se apriamo il progetto con Visual Studio noteremo innanzi tutto i nuovi controlli aggiunti dalle ASP.NET Futures: quelli relativi ad AJAX e quelli relativi alle nuove estensioni.

    Aprendo la pagina default.aspx è possibile vedere quali controlli sono stati utilizzati per realizzare la semplice pagina di esempio: il noto <scriptManager .../> con cui viene abilitato il partial-rendering della pagina, ovvero ciò che è alla base del comportamento asincrono della pagina web. Notiamo inoltre il controllo <asp:Media ..../> con cui è possibile inserire il contenuto multimediale nella pagina. In particolre punta ad un file xml che contiene i file da caricare: XAML, e gli scrip javascript, la size della finestra del filamato e il riferimeto al filmato stesso. Il file XAML contiene la cornice del filmato stesso: quella con il tasto play etc.

     

    -Pietro

  • Pietro Brambati Blog

    Uno sguardo a Silverlight

    • 9 Comments

    Microsoft ha da poco annunciato Silverlight. Una nuova tecnologia, precedente nota come WPF/E, per lo sviluppo di applicazioni web. Con Silverlight è possibile includere contenuti multimediali di natura diversa, offre supporto per grafica vettoriale 2D e molto altro ...

    Aprite questo link per farvi un'idea .. non necessariamente con IE.

    Cos'è?  Da un punto di vista architetturale Silverlight è un plug-in per il browser che offre una versione "ridotta" di WPF (Windows Presentation Foundation), che però è cross-browser e cross-platform e che quindi non richiede di avere sulla macchina installato il .NET Framework 3.0 e non richiede che sia usato solo Internet Explorer come browser. Infatti è possibile utilizzare come browser anche Firefox, Safari, Opera e può funzionare sia su piattaforma Windows che MAC.

    Attualmente sono disponibili due preview di Silverligh, la 1.0 (in versione Beta) e la 1.1 ( in alpha).

    Silverlight 1.0

    • plugindi circa 1.2 MB
    • si integra facilmente con le applicazioni AJAX, dato che con codice Javascript si può aggiornare sia HTML che il codice XAML
    • supporto per codec VMV, WMA, MP3 e VC-1, quest'ultimo permette di avere video di alta qualità (è lo stesso formato supportato da HD-DVD e Blueray DVD).
    • E' possibile scaricare una preview CTP di Expression Blend 2 e Expression Media Encoder se volete comincaire a realizzare un'applicazione con Silverlight e siete dei designer. Se siete invece più avvezzi all'uso di Visual Studio scaricate le ASP.NET Futures  (May CTP). Ad ogni modo trovate la lista completa di quello vi può servire per sviluppare con Silverlight qui, compreso il link per scaricare la Beta 1 di "Orcas", che contiene il template per un progetto Silverlight.

    Silverlight 1.1

    Con la versione 1.1 di Silverlight vengono aggiunge numerose altre funzionalità: in particolare il plug-in contiene un'implementazione del .NET Framework (CLR+BCL) e anche un DLR (Dynamic Language Runtime). Infatti è possibile sviluppare non solo usando i consueti linguaggi .NET (C#, VB), ma anche usando linguaggi dinamici come Python e Ruby. 

    • Il CLR è derivato direttamente da quello della versione completa di .NET Framework e include lo stesso sistema dei tipi, Garbage Collector, JIT etc
    • Include il supporto per una vasta serie di librerie: IO,Networking, LinQ, Generics
    • Managed HTML DOM API: cioè è possibile usare codice .NET per scrivere codice managed che interagisca con l'HTML della pagina
    • il tutto in soli 4MB di spazio!

    Ecco una visione d'insieme:

    Silverlight Architecture

    Per maggiori dettagli sull'architettura, consultate questo link.

    In sintesi Silverlight permette di usare in modo combinato sfruttando diverse tecnologie:

    • XAML per sfruttare tutta la potenza del 2D di WPF. La più grande differenza tra WPF e Silverlight è che, quest'ultimo non supporta il 3D, però permette una maggiore adozione essendo cross-broser e cross-platform.
    • JavaScript e alle estensioni a Javascript che permettono un maggior controllo della UI dell'applicazione web.
    • Integrazione con ASP.NET AJAX
    • Possibilità di utilizzare linguaggi managed e dinamici per lo sviluppo

     

    Da dove iniziare ? qui.

    -Pietro

  • Pietro Brambati Blog

    Slides evento UnyOnAir

    • 0 Comments

    Sabato scorso ho avuto modo di parteciapare a UnyOnAir, un progetto ideato da Radio 24 che aiuterà gli atenei italiani a creare la propria web radio.

    All'evento erano presenti ragazzi di diverse università italiane di tipo diverso, per la maggior parte, non informatici. Nel mio breve intervento non ho avuto modo di far vedere le slides con i riferimenti da cui scaricare gli strumenti che ho usato. Ecco quindi le slides che vogliono essere un punto di partenza per chi vuole incominciare a sviluppare applicazioni web.

    -Pietro

  • Pietro Brambati Blog

    IIS 7 Output Cache

    • 0 Comments

    Una delle funzionalità meno note di IIS 7 è la possibilità di usare un tipo particolare di Cache, detta Output Cache, attenzione a non confonderla con la Kernel Mode Cache.

    La Output Cache funziona in user-mode (IIS worker process) e fornisce funzionalità simili alla cache di ASP.NET, ma con una importante differenza: essendo integrata in IIS 7, fornisce queste funzionalità di cache non solo alle pagine ASP.NET, ma anche a contenuti dinamici di natura diversa, come le pagine ASP e PHP.

    Come funziona? Si basa sulla possibilità di riconoscere i deversi contenuti di una pagina usando la query string o gli header Http. Mi spiego meglio. Inanzitutto va ricordato che in IIS 7 possiamo avere dei file web.config per la configurazione del comportamento di IIS anche in una directory che contiene solo contenuti statici o non-ASP.NET. Immaginiamo di avere una applicazione web del tipo http://server/GetBike.asp?type=tipo1 . Il parametro type nella query string permette di distringuere quale tipo bicicletta visualizzare. Nel nostro web.config possiamo scrivere qualcosa del genere:

    <system.webserver>
    <caching>
     <profiles>
    <add varybyquerystring="*"location="Any" duration="00:00:01" policy="CacheForTimePeriod" extension=".asp">
     </profiles>
    </caching>
    </system.webserver>

    Questo permette di effettuare il caching della pagina asp, si noti il parametro extension, in base al variare della query string, parametro varbyquerystring. Il parametro CacheForTimePeriod definisce una delle modalità di invalidazione della cache, in questo caso per time-out.

    Prima ho parlato della Kernel Mode Cache (già presente in IIS 6); la prima differenza rispetto alla precedente è che questa lavora in modalità Kernel :-). Ci sono due differenze di base rispetto a questi due tipi di cache:

    • la Kernel Mode Cache non supporta il parametro varyByQueryString, che abbiamo usato in precedenza nell'esempio, ma solo il varyByHeaders.
    • la Kernel Cache ha delle limitazioni rispetto ai tipi di richiesta che può mettere in cache. Date un occhio a questo articolo della Knoledge Base per dettagli.

    Per approfondimenti ulteriori sulle modalità di uso dell' Output Cache vi consiglio di partire da qui (in inglese).

    -Pietro

Page 1 of 1 (7 items)