FucinaWeb.com/ Con ASP.NET il Web cambia

di A. Volpon. ASP.NET rappresenta un elemento chiave della piattaforma MS.NET e introduce diverse novità destinate a rivoluzionare lo sviluppo per il Web. Ecco di che si tratta e perché è bene darci un occhio


Roma – Il rilascio della piattaforma.NET sta accomunando sotto un unico tetto le tecnologie Microsoft legate allo sviluppo Internet e Windows. All?appuntamento non potevano mancare le Active Server Pages (ASP), che da questa versione sono compilate, scritte in un vero linguaggio orientato agli oggetti e con nuove funzionalità: una vera rivoluzione.

ASP.NET (chiamato in una prima versione ASP+) è più di un semplice upgrade di Active Server Pages, la soluzione Microsoft per la realizzazione di siti dinamici. Chi ha esperienza di sviluppo con questa tecnologia ne ha già ben chiaro i vantaggi e le lacune. A fronte di una elevata semplicità nella stesura del codice (un programmatore Visual Basic è produttivo con ASP dopo pochi giorni), esiste una difficoltà quasi cronica nella correzione degli errori (debugging). I documenti ASP, inoltre, sono tutt?altro che prestazionali, poiché richiedono l?esecuzione di un interprete di comando ad ogni accesso. Microsoft ha lavorato tre anni per questa nuova versione, riscrivendo completamente il codice originario di ASP: il risultato è una piattaforma di lavoro più efficiente e decisamente più orientata agli oggetti, tanto che in ASP.NET i tag possono essere generati lato server piuttosto che lato client.

Le Web Forms

Fino ad oggi, chi ha intrapreso la programmazione Web migrando da un ambiente di sviluppo tradizionale qual è Visual Basic, ha dovuto rinunciare a malincuore a molte opportunità. Come prima cosa, i tag HTML non sono dei veri controlli, e come tali non dispongono di un puro modello di programmazione ad oggetti. Inoltre, il codice HTML è molto spesso ?amalgamato? con il contenuto della pagina: una modifica alla struttura del sito comporta anche una ristrutturazione dell?informazione. Per ridurre questi effetti collaterali, Microsoft ha introdotto in ASP.NET una libreria di oggetti, chiamata Web Forms, con lo scopo di agevolare e rendere più chiara la stesura di codice all?interno di una pagina dinamica. L?idea è molto semplice. E? possibile specificare un tag nella forma:

<asp:textBox id=?txtName?
runat=?server? Text=?testo?></asp:TextBox>

Quando il processore ASP.NET incontra il tag, lo trasforma nel corrispettivo HTML. Il vantaggio è che questo controllo dispone di un certo numero di proprietà, metodi ed eventi che usano una nomenclatura coerente e modificabili da codice. Inoltre, nel generare la pagina, il processore ASP.NET è in grado di riconoscere il browser dell?utente: può di conseguenza generare una pagina HTML che ne utilizzi solo le caratteristiche supportate. Come ulteriore vantaggio, con questo modello ad oggetti è notevolmente semplificata la convalida dei dati provenienti dall?input degli utenti, che è così gestita sia lato client sia lato server. Con le Web Forms è anche possibile ?simulare? il mantenimento di stato tra le pagine, con le cosiddette ?postback form?.

Aumentano i linguaggi di sviluppo

La presenza del.Net Common Language Runtime consente allo sviluppatore l?utilizzo di una platea teoricamente infinita di linguaggi per la scrittura di pagine ASP.NET. Usare un linguaggio od un altro risulta indifferente, visto che si usano le classi presenti nelle librerie.NET. In questo modo è possibile adottare Visual Basic, C# oppure ad esempio Fortran: si userà il linguaggio con il quale si è più produttivi o quello che rappresenta lo standard aziendale. Il Common Language Runtime si comporta quindi da strato di interfaccia tra la complessità del sistema operativo (e delle sue API ? Application Program Interfaces) e il linguaggio. Con ASP.NET Microsoft dà inoltre l?addio a Visual Basic Script, che è sostituito da un pieno supporto per Visual Basic, un suo superinsieme. Come conseguenza, Visual Studio.NET (il successore di Visual Studio 6) non contiene due ambienti di programmazione, uno per Visual Basic e uno per la stesura di codice ASP (Visual Interdev), ma un solo strumento integrato di sviluppo per tutti i linguaggi.


L?unica soluzione all?inefficienza del codice interpretato è la sua compilazione. Una pagina ASP.NET è creata alla pari di una pagina ASP: quando è richiesta dall?utente viene processata dal parser di linguaggio. A differenza di ASP, però, dove la pagina è successivamente interpretata, con ASP.NET un compilatore si preoccupa della sua trasformazione in codice binario. Questa operazione è eseguita al primo accesso della pagina, oppure quando lo sviluppatore ne avrà alterato il contenuto. Tutti gli altri utenti della pagina ne riceveranno la versione già compilata, diminuendo di gran lunga i tempi di risposta, ma soprattutto il carico elaborativo. In caso di riavvio del server, la pagina non deve essere nuovamente compilata, giacché è memorizzata in una cache privata.

Il nuovo concetto di sessione

Le sessioni di ASP sono un comodo strumento per guidare l?utente tra più pagine di un sito e portare con sé le informazioni inserite. Si pensi ad un sito di commercio elettronico dove l?utente può in ogni momento verificare il contenuto del carrello e provvedere al pagamento. Sfortunatamente, le sessioni ASP richiedono l?utilizzo di cookie per il funzionamento. Non solo: le sessioni non possono essere utilizzate in realtà di tipo ?Web Farm?, dove cioè più server si suddividono il carico elaborativo. Con ASP.NET l?oggetto sessione è eseguito al di fuori del processo che gestisce l?applicazione Web: il risultato è che è possibile utilizzare le sessioni tra più server, e memorizzarne il contenuto in fonti di dati esterne, quali un file di testo oppure un server SQL. In caso di arresto critico del server, inoltre, la sessione può essere mantenuta e ristabilita. Un?ulteriore miglioria consente la fruizione delle sessioni anche a browser che non gestiscono i cookies, aggiungendo le informazioni come ?querystring? nell?URL.

Cache

Con ASP.NET è possibile costruire una cache per velocizzare la comunicazione con il browser e ridurre il consumo di risorse da parte del server. In base ad un discriminante la pagina è memorizzata in un?apposita cache e restituita al browser fino al verificarsi di una condizione che impone l?eliminazione e ricostruzione della cache. È una caratteristica molto versatile e potente. Una pagina può risiedere in memoria ad esempio fino allo scadere di un intervallo stabilito o fino a quando non cambia un file da cui dipende.

Debugging e tracing

Fino ad oggi mancavano delle tecniche efficienti per la correzione degli errori e l?analisi del codice, se non utilizzando le estensioni lato server rese disponibili da Visual Interdev. ASP.NET include un vero debugger (una versione più completa è distribuita con Visual Studio.NET) che è possibile configurare con i breakpoint e gli watches, come se ci trovassimo in Visual Basic. Il file config.web (che si affianca a global.asax) può essere invece modificato per consentire il tracing del codice: informazioni rese disponibili sono tra le altre il dettaglio di richiesta della pagina, l?albero di generazione dei controlli, il contenuto delle variabili lato server e delle intestazioni HTTP.

Convivenza di ASP e ASP.NET

ASP e ASP.NET possono essere installati sullo stesso server senza che interferiscano le une con le altre. Per ASP.NET l?estensione da utilizzare è solitamente.aspx (a differenza di.asp utilizzato per i documenti.ASP). E? importante sottolineare che non è garantita la compatibilità 100% tra ASP e ASP.NET e che le due tecnologie non condividono lo spazio di memoria degli oggetti session e application: la comunicazione tra pagine ASP e ASP.NET sullo stesso serve deve basarsi su componenti scritti ad hoc o sul passaggio di parametri ?nascosti?.

Riscrivere il codice da zero

Se state valutando la possibilità di migrare un progetto ASP verso ASP.NET, dovete sapere che tutto il codice deve essere riscritto per poter sfruttare appieno le potenzialità di questa tecnologia. L?uso di controlli lato server e di form postback, unito alla possibilità di separare il codice dallo strato di presentazione, rende praticamente impossibile il riutilizzo del codice precedente.
Sarà improbabile che vengano realizzati in futuro dei tool di conversione automatici per la migrazione del codice (come invece è avvenuto con ?l?upgrade wizard? di Visual Basic): le differenze sono di concetto più che di sintassi.

Antonio Volpon
FucinaWeb.com

La tua email sarà utilizzata per comunicarti se qualcuno risponde al tuo commento e non sarà pubblicato. Dichiari di avere preso visione e di accettare quanto previsto dalla informativa privacy

  • Anonimo scrive:
    Haker tour ......
    Tutti con i portatili in macchina a cacciadi reti wireless da crackare ..........SIIIIIIIfacciamo impazzire il forno e il televisore digitale del vicino di casa ......con un attacco DOS la parola ERGONOMIA gli informatici non sanno cosa significhi MurphyNon esiste problema complicato ....che se considerato nel giusto modo ....non diventi ancora piu' complicato !!!!!!!
  • Anonimo scrive:
    il buco nelle orecchie
    Quando ero bambina (anni '70) rimproveravo a mia madre di avermi fatto fare i buchi nei lobi delle orecchie da neonata, senza aspettare che potessi esprimere il mio parere. Alle elementari mi vergognavo non poco delle mie orecchie bucate (all'epoca non era affatto di moda!). Poi negli anni '80 tutte le mie amiche correvano a farsi fare i buchi e io che ce li avevo gia' godevo a vederle terrorizzate dall'idea di sottoporsi a quella tortura: ho dovuto riabilitare la saggezza di mia madre! Adesso scopro che quei due bei buchetti mi serviranno tra breve anche per indossare il telefono cellulare e dunque non ne avrei potuto fare a meno!E' proprio vero che le mamme hanno sempre ragione...
    • Anonimo scrive:
      Re: il buco nelle orecchie
      manco t'asportassero un orecchio! Alla fine un buco non fa mai male! :)NE abbiamo già tanti naturali!
      • Anonimo scrive:
        Re: ...Redazione ... Censuratelo !!!
        E' TROPPO TROLL- Scritto da: cul
        NE abbiamo già tanti naturaliil tuo e' ottuso:)
        • Anonimo scrive:
          Re: ...Redazione ... Censuratelo !!!
          Scusatemi, sono andata certamente off-topic, ma da qui ad arrivare alla censura... certo voi altri maschietti potete essere troll quanto volete se si tratta di far gara a "il mio OS ce l'ha piu' lungo del tuo"... o sbaglio?Forse la cosa piu' grave qua e' di essre una donna... mi sa che voi vedete piu' monitor che ragazze, :-)State tranquilli, d'ora in poi postero' solo su alfemminile.com...- Scritto da: Pino Pallino
          E' TROPPO TROLL

          - Scritto da: cul

          NE abbiamo già tanti naturali

          il tuo e' ottuso

          :)
          • Anonimo scrive:
            Re: ...Redazione ... Censuratelo !!!
            - Scritto da: Mariella
            Scusatemi, sono andata certamente off-topic,
            ma da qui ad arrivare alla censura... certo
            voi altri maschietti potete essere troll
            quanto volete se si tratta di far gara a "il
            mio OS ce l'ha piu' lungo del tuo"... o
            sbaglio?
            Forse la cosa piu' grave qua e' di essre una
            donna... mi sa che voi vedete piu' monitor
            che ragazze, :-)
            Il tuo post andava bene ...e' cul l'ottuso che andava cesurato ...oltre che volgare ... non rispettoso della netiquette ....con un nik cosi' deve avere una gran faccia !!!saluti
          • Anonimo scrive:
            Re: ...Redazione ... Censuratelo !!!
            Ti chiedo scusa Pino Pallino, avevo frainteso... ti ringrazio per l'appoggio morale!Io sono comunque contraria alla censura: che ognuno si prenda le responsabilita' di cio' che scrive... e uno con un nick del genere che perde tempo a scrivere volgarita' si qualifica gia' da se' come un imbecille. Poveretto, peggio per lui.- Scritto da: Pino Pallino

            Il tuo post andava bene ...

            e' cul l'ottuso che andava cesurato ...
            oltre che volgare ...
            non rispettoso della netiquette ....
            con un nik cosi' deve avere una gran faccia
            !!!

            saluti
  • Anonimo scrive:
    Re: non c'e' gia' abbastanza inquinamento elettromagn.
    ricorda che è una questione di potenza: a radio maria le potenze erano elevate ma per comunicazione tra chip (ovvero tra dispositivi che distano pochi cm) le potenze necessarie sono bassissime... a dimenticavo non asciugarti mai i capelli con il phon altrimenti....
  • Anonimo scrive:
    C'è già...
    il fornello nei chip Intel c'è già: non esiste che un chippaccio da PC si beva 80 watt e scaldi come un fornello elettrico!
  • Anonimo scrive:
    IL CELLU NELL'ORECCHINO
    e che me ne faccio hehehesentite questa:Ad un congresso di industriali in prima fila ci ono tre personaggi di spicco.Due sono eleganti e ben vestiti da alta finanza (non le fiamme gialle) e quello in mezzo con la faccia un po' da paesanotto ma con gli stessi migliardi degli altri due,chiamiamolo Piero.Ad un certo punto Piero sente in parte a lui un telefonino che suona e vede il tizio in parte che fa con le dita il gesto della cornetta e parla:compra compra vendi vendi.Piero stupito domanda cosa stava facendo; il tizio mostra un microfono sotto le unghie e un telefonino wireless nel taschino : Minchia pensa Piero.Ad un certo punto si sente adall'altra parte un altro squillo e il tizio in parte si mette da solo a parlare Cazzo!Piero si gira e pensa questo ha l'auricolare!M si sporge e non vede niente.Curioso domanda e l'altro: apre la bocca e mostra un bel impianto nel molare con un cellulare impiantato. e continua dicendo:
    Minchia due volte pensa Piero io ho ancora il motorola 8700.A questo punto Piero si piega leggermente da un lato sollevandosi dalla sedia e molla una scoreggia che trema la poltrona. Gli altri due si girano schifati e piero fa:Ho mandato un fax!va beh non e'bellissima ma non avevo un cazzo da fare.spero che il telefonino non lo facciano a supposta.
  • Anonimo scrive:
    ah la technologia...
    ma il mondo e pronto per tutte queste "meraviglie" ???mah...
    • Anonimo scrive:
      Re: ah la technologia...
      - Scritto da: blah
      ma il mondo e pronto per tutte queste
      "meraviglie" ???
      mah...Il mondo sicuramente si, ma il mio portafoglio mica tanto!!
      • Anonimo scrive:
        Re: ah la technologia...

        Il mondo sicuramente sinon ci giurerei...;-0)
        , ma il mio
        portafoglio mica tanto!!ma va ???;-0)poi imagine la sicurezza di un chip con una wireless always on dentro...che fikata...
Chiudi i commenti