AlexFTPS 1.1

Su Codeplex è disponibile AlexFTPS 1.1, fresco di rilascio.

Si tratta di un'assembly .Net contenente un client FTP/FTPS sviluppato con l'obiettivo di superare i limiti di System.Net.FTPWebRequest in termini di supporto FTPS, permettendo di sfruttare appieno le feature FTPS (FTP + SSL/TLS) di IIS 7.x e di altri FTP server (FileZilla server, etc).

La precedente versione ha superato i 10.000 download, per cui si parte con una bella base di utenza. Finora il progetto ha avuto ottimi feedback, chi volesse contribuire è sempre ben accetto!

In questo post del 2009 e su ftps.codeplex.com sono disponibili ulteriori dettagli e link per il download.

AlexFTPS è disponibile anche come package nella NuGet gallery



Alessandro Pilotti
[ MVP ASP.Net / IIS ]

Technorati Tags: , ,

IIS Web Farms - PHP sessions in SQL Server

In ASP.Net è estremamente semplice configurare SQL Server per lo storage delle sessioni.
Questo permette una maggiore scalabilità delle applicazioni un una web farm, evitando soluzioni di client affinity.
In questo post non entro nel merito delle virtù dei dati in sessione. Tutti vorremmo request stateless, ma ahimè...

Venendo all'oggetto del post, PHP offre la possibilità di scrivere un propro session handler, slegandosi dalla soluzione file based presente di default. Con una veloce ricerca in rete, si trova parecchio in relazione a MySQL, ma ben poco per quanto concerne SQL Server.

Nell'ottica di facilitare l'integrazione di PHP nell'ecosistema Microsoft, potete trovare qui uno script che ho creato per il session management su SQL Server. Per utilizzarlo è sufficiente effettuare un include_once mssql_session_handler.inc nei vostri sorgenti PHP.

I parametri di connessione alla base dati: server, database, utente password, si trovano in cima allo script. Chiaramente conviene centralizzarne la configurazione altrove.

Le sessioni vengono salvate in una singola tabella con la seguente struttura:

CREATE TABLE Session
(
    sesskey varchar(32) PRIMARY KEY,
    expiry int NOT NULL,
    value varchar(max) NOT NULL
)

Infine, nel file PHP.ini, occorre specificare quale tipologia di session handler si intende utilizzare (di default è "files"):

session.save_handler = user

Per quanto concerne la configurazione non c'è altro. Per finire, le API per il session management restano invariate, il che significa che per le applicazioni si tratta di un'operazione trasparente.


Alessandro Pilotti
[ MVP ASP.Net / IIS ]

Technorati Tags: , ,

Integrare Drupal con AppFabric Cache

Drupal sta emergendo nel mondo PHP come un CMS particolarmente adatto a scenari che richiedono scalabilità ed elevate performance.

Microsoft ha fatto recentemente un ottimo lavoro nel rendere PHP un cittadino di primo ordine nell'ecosistema IIS. Si veda a riguardo ad esempio WinCache e l'ottima integrazione in IIS Manager.

Un tassello finora mancante nell'ecosistema Drupal è una soluzione di caching distribuito su Windows / IIS, come già avviene su Linux con soluzioni quali ad es.: memcache/memcached.

AppFabric Cache risponde di per se a questa esigenza, con l'unico limite che si tratta di una tecnologia .Net only.

Per risolvere il problema ho riasciato oggi un modulo open source per Drupal, basato su un assembly che funge da wrapper COM sul client di AppFabric ed il modulo PHP vero e proprio che implementa le Cache API di Drupal.

L'approccio utilizzato si presta naturalmente anche per altri applicativi: Joomla, etc


Alessandro Pilotti
[ MVP ASP.Net / IIS ]   
  
P.S.: Cercasi tester e dev di buona volontà :-)

Technorati Tags: , ,

ITCamp.ro - La mia prima conferenza in Romania

Venerdì scorso ho avuto l'opportunità di tenere una sessione sull'ottimizzazione di applicazioni in IIS 7.x a una splendida conferenza dal nome {it}camp tenuta a Cluj in Romania.

Vivo in questo paese da alcuni mesi, grazie all'avvio di una nuova azienda di colocation che gestiamo a Timisoara. Prima o poi scriverò a riguardo, per il momento posso assicurare che è un paese splendido ed estremamente lontano dagli stereotipi cui siamo abituati in Italia e questa conferenza ne è stata l'ennesima conferma.

La sessione che ho tenuto ha avuto come titolo "Optimizing ASP.Net and PHP Web Applications on IIS 7.5".
Qui potete trovare le slide PowerPoint.

Alessandro Pilotti
[ MVP / IIS ]  
 

[IIS 7.x] WPC / TechDays 2010 - Sessioni online

Innazitutto un grazie a tutto lo staff per un'altra splendida WPC / TechDays!

Potete trovare online le slide delle sessioni che ho tenuto quest'anno su IIS:


IIS 7.5 - Ottimizzare Applicazioni ASP.Net e PHP

Ottimizzare applicazioni web è un'arte, ma fortunatamente IIS 7.5 fornisce una serie di strumenti in grado di migliorare le performance e la scalabilità dei vostri siti ed applicazioni con semplicità. Wincache Extension 1.1, FastCGI, Caching, Advanced request Routing, Smooth Streaming, ottimizzazione dell'uso di ViewState e sessioni sono gli argomenti che affronteremo nel corso della sessione.



IIS 7.5 - Come sfruttarlo al meglio

IS è territorio di confine, comune sia a sistemisti che a sviluppatori. Nello scrivere ed distribuire applicazioni web è estremamente utile conoscere le sue eccezionali feature. Partiremo da una panoramica sulla sua architettura, pipeline, moduli e handler. Successivamente vedremo alcune delle principali estensioni disponibili: URL rewrite, Advanced request Routing, FTPS, Smooth Streaming etc. Avremo inoltre modo di mostrare come automatizzare il deployment di applicazioni e siti web con WebDeploy e automatizzarne la configurazione mediante PowerShell.


Technorati Tags: , ,

AppFabric e WCF / WF - Webcast su BE.IT


Pubblicato su Microsoft BE.IT un mio webcast: AppFabric: Hosting di servizi WCF e WF

Technorati Tags: , ,

Champagne?

Il jailbreak di un iPhone è da oggi perfettamente legale negli USA.

Maramao, Steve :-)

http://blog.iphone-dev.org/post/862193913/getting-out-of-jail-is-free

IE 9 vs Firefox 4.0 - GPU

Sia Internet Explorer 9 che Firefox 4 implementano l'accelerazione grafica grazie a Direct2D / DirectWrite su piattaforma Windows (da Vista in poi). Per curiosità ho fatto qualche prova comparativa tra Internet Explorer 9 preview 3 e Firefox 4.0 beta 1, basate sugli "speed demos" di Microsoft.

Si tenga presente che al momento in Firefox 4 l'accelerazione hw è una funzionalità sperimentale, presente dalla versione 3.7, da abilitare con alcuni semplici step:

digitare about:config nella barra degli indirizzi

filtrare le preferenze con "render"

impostare gfx.font_rendering.directwrite.enabled a truemozilla.widget.render-mode a 6

riavviare Firefox

Personalmente sono scarsamente interessato a scoprire chi sia il browser più veloce del west, trovo piuttosto più interessante vedere il livello di compatibilità raggiunto in questa fase pre-release. Da qui si potrà iniziare a pianificare come scrivere siti ed applicazioni nei prossimi anni.

Il risultato delle prove è decisamente interessante, l'esecuzione della quasi totalità dei test in Firefox 4.0 dà risultati compatibili con le esecuzioni in IE9, sia in termini prestazionali (fps) che comportamentali. 

Le eccezioni che ho trovato sono solo le seguenti:

  • FishIE Tank che in Firefox evidentemente non attiva adeguatamente l'accelerazione hw
  • Qualche problemino di compatibilità Javascript in Amazon Shelf
  • window.msPerformance chiaramente non funzia in FF trattandosi di funzionalità specifiche di IE

Alcuni test, come Flickr Explorer sono impressionati, da provare!

Gli stessi test, eseguiti in Chrome, Safari, Opera e IE8, privi di accelerazione hw, sono naturalmente troppo lenti per apprezzarne le funzionalità.

Dopo HTML5 (con tutte le problematiche del caso), potrebbe essere uno step importante verso la potenziale unificazione di applicazioni web tradizionale e RIA. Aspettiamo che gli altri browser si aggiungano alla lista e poi staremo a vedere. Non trascuriamo infine il fatto che Direct2D non è supportato su Windows XP, il che allungherà i tempi, data la scarsa propensione all'upgrade che si vede in giro.   

Technorati Tags: , ,

 

Alessandro Pilotti [ MVP / IIS ]

U7DKPHTHPCM9

HTML5 vs Flash - La posizione di YouTube

Interessante nota ufficiale da parte di YouTube sul dibattito HTML5 vs Flash, in particolare in relazione al supporto video.

Sostanzialmente ritengono (a ragion veduta) che le feature di cui hanno bisogno siano ben lungi dall'essere presenti nel futuro standard e nelle implementazioni dei browser. L'assenza di un codec standard (H.264, VP8, etc) è solo uno dei problemi che ne emergono. 

YouTube ha già approntato, a livello sperimentale, un player HTML5

Alessandro Pilotti [ MVP / IIS ]

 

ASP.Net - Infragistics 2010.2 compatibile con Mono!

Con la release della versione 2010 volume 2, Infragistics ha finalmente annunciato la compatibilità con Mono per quanto riguarda la propria suite di controlli ASP.Net.

La stessa scelta è stata fatta in passato anche da Telerik, che tra le altre offre un sample browser basato su Mono.

Peccato che il divario tra le necessità delle community open source e le scelte in termini di proprietà intellettuale di Microsoft non stiano portando ad un reale diffusione del mondo managed su Linux, Mac OS X e dintorni.

Per stare in tema, la recente sostituzione sia in Ubuntu che in Fedora di F-Spot, gestore di foto sviluppato in .Net, con il più "allineato" Shotwell, indica che non tira aria buona per la diffusione di .Net nel mondo open source.

 

Alessandro Pilotti

[MVP / IIS]