Home Page Home Page News Windows 2003 e IIS 6.0 Preview

Windows 2003 e IIS 6.0 Preview

Una breve panoramica sulle più importanti novità introdotte da IIS 6.0, il web server di Microsoft, presente nel nuovo sistema operativo Windows 2003 che sarà reso disponibile prossimamente.
Novità di Windows 2003 e IIS 6.0
Lo sviluppo di Microsoft Windows .NET Server (nome definitivo "Windows 2003") è quasi al termine.
Si stanno apportando le ultime correzioni e modifiche per poi far uscire la versione definitiva che attendiamo fra il primo e il secondo trimestre 2003.
Molte novità sono state introdotte in questa major release, a partire dalla sicurezza che è stata fortemente migliorata, ai nuovi servizi disponobili (come un POP3 Server per le caselle di posta elettronica), ai nuovi wizard per il tuning e l'amministrazione del server molto più user-friendly, ecc.
La novità che però forse interessa maggiormente il mondo degli sviluppatori è la nuova versione del Web Server di casa Microsoft, Internet Information Server giunto ormai alla matura versione 6.0 (IIS 6.0).
Ecco qui di seguito l'evoluzione del prodotto dalle prime versioni fino alla più recente:

  • IIS 4.0 Windows NT

  • IIS 5.0 Windows 2000

  • IIS 5.1 Windows XP

  • IIS 6.0 Windows 2003


Il motore di IIS è stato in parte riscritto, per supportare innazitutto le nuove esigenze del .NET Framework, ma anche per supportare le applicazioni precedenti in modo da rendere indolori eventuali migrazioni.
IIS 6 mette a disposizione quindi due nuovi tipi di modalità di funzionamento:

IIS 5.0 Isolation Mode
E' in pratica simile a ciò che accadeva nella versione di Windows 2000 di IIS, cioè le applicazioni in-process (DLL, filtri ISAPI) giravano all'interno del processo inetinfo.exe mentre quelle out-of-process (eseguibili .EXE, componenti COM, ISAPI Extensions) giravano in un processo separato (chiamato MTX.EXE in Windows NT 4, DLLHOST.EXE in Windows 2000).
Questa modalità poteva causare a volte anche crash del processo stesso inetinfo,bloccando così anche eventuali altri siti web serviti dalla stessa macchina.
Alla peggio era necessario il riavvio della macchina.
Questa modalità di funzionamento viene offerta per mantenere la compatibilità con molte applicazioni scritte con tecnologie precedenti (ISAPI, COM, ASP, ecc.)

WorkerProcess Isolation Mode
E' questa la vera modalità innovativa di funzionamento. E' la modalità di funzionamento di default di IIS 6.0. In questa modalità tutte le risorse di ogni application vengono fisicamente separate in memoria in diversi processi in modo che un crash anche di un solo sito/web application non comporti il blocco totale degli altri siti o il riavvio della macchina.
Il nuovo driver kernel HTTP.SYS (spiegato in dettaglio nel paragrafo seguente) si occupa di dirigere le varie chiamate provenienti dall'esterno (come una specie di load balancing) ai vari processi in esecuzione delle nostre web applications. Il concetto di in-process è stato completamente abbandonato e quindi difficilmente incontreremo situazioni simili al passato. I vari filtri ISAPI e anche le extensions gireranno tutte nel proprio application pool indipendentemente dagli altri senza creare confusione in caso di malfunzionamenti.
Il motore di IIS 6 si accorge addirittura di quando qualche processo non risponde più a causa magari di un bug nel nostro software, e una volta superati certi indicatori (esempio il numero di threads massimo, quantità di memoria usata, numero di richieste), ricicla il processo (dealloca tutte le risorse, ripulisce la memoria e ricrea nuovamente il processo) e lo riavvia segnalandoci l'errore nell'Event Viewer di Windows.
In definitiva una gestione decisamente molto più granulare rispetto al passato che permette a sviluppatori e sistemisti di intervenire in dettaglio sulle funzionalità del server ed effettuare un tuning ottimale.
In più questa nuova architettura abbassa decisamente le cause di crash del sistema e con la gestione della memoria migliorata, permette una più duratura disponibilità e stabilità del server.
Quando questa modalità è attiva nell'albero di amministrazione di IIS 6.0 è visibile una nuova cartella chiamata "Application Pools" visible nell'immagine di seguito.

Come cambiare la modalità di esecuzione di IIS 6.0
Come cambiare la modalità di esecuzione di IIS 6.0


N.B. Per poter camibare la modalità di funzionamento e scegliere quella precedente (IIS 5.0 Isolation Mode) è sufficiente aprire la console di amministrazione di IIS 6 premere con il tasto destro su "Web Sites" e scegliere proprietà. Apparirà una finestra (rappresentata anche'essa nella screenshot qui di seguito), selezionate la linguetta "Service" e vedrete l'opzione "Run Web Service in IIS 5.0 Isolation Mode".

HTTP.SYS
La gestione delle richieste che passano sulla porta 80 e sul listener sono ora gestite da questo driver che gira a livello di kernel e non più a livello di user come succedeva precedentemente.
Come evidenziato nel paragrafo precedente HTTP.SYS smista e instrada le richieste provenienti dai client direttamente verso i vari processi in memoria, eliminando passaggi intermedi presenti in passato e aumentando quindi le prestazioni generali delle applicazioni e del servizio.

Metabase in XML
Il metabase non è altro che il file di configurazione di IIS 6.
Nelle versioni precedenti è sempre stato un file di tipo binario. Dalla versione 6.0 è stato trasformato in linguaggio XML e si trova nella cartella Inetsrv nella System di Windows.
Naturalmente il primo vantaggio dalla trasformazione in XML è la possibilità di modificare il file con un semplice editor, quando prima invece era un'impresa abbastanza difficile e riservata a pochi.
Ma i vantaggi non si fermano solo qui, è più semplice effettuare dei backup trattandosi semplicemente di un file.
E' possibile effettuare un recovery del sito web semplicemente ripristinando quel file dall'ultimo backup. Inoltre IIS 6 mantiene una storia (history) dei file metabase; ogni qual volta viene modificato il metabase principale nella cartella History ,all'interno della cartella Inetsrv indicata poco fa, vengono accodate le diverse versioni.

Logging
Altra novità importante, il Logging.
La versione 6 di IIS non solo mantiene le modalità precedenti di logging ma ne introduce una completamente nuova e centralizzata (Centralized Binary Logging), che scrive i file di log in formato binario (estensione .ibl) e non più in formato testo (etensione .log).
E' centralizzata perchè viene creato un unico file in cui vengono scritte le richieste provenienti da tutti i siti web presenti sulla macchina, riducendo l'overhead creato dal logging tipico su più file di testo (nel caso di più siti web).
Anche l'elaborazione dei file di log cambia, perchè non essendo più file testuali, anche la lettura risulterà alquanto difficoltosa.
Ci viene in aiuto in questo caso il Resource Kit di IIS 6.0 con un utilità per parserizzare ed estrapolare il contentuo dei file.

IIS 5 -> IIS 6 ... solo un cambio di nome?
Per tutti quelli che sostengono sempre che i prodotti di casa Microsoft non cambiano di molto quando escono le versioni successive!
Pare che questo prodotto sia veramente ottimo e abbia poco a che vedere con il suoi fratelli minori. Dal punto di vista delle performance alcuni test hanno dimostrato che riesce a servire contemporaneamente un numero di pagine web estremamente elevato se poi utilizzato in coppia con SQL Server ancora di più.
Il supporto al .NET Framework è ormai completo e anche la sicurezza non è stata per niente trascurata.
A voi i commenti.

News Collegate


Non è presente nessuna news collegata. Torna all'elenco news 
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5