Active Server Pages

presentato dall' ing. R. Turco    E-MAIL: Rosario.Turco@tlsoft.it  


                                                                                                             

 Lezione n° 1 
     

    Requisiti del corso

    E' richiesta la conoscenza almeno dell'HTML. 

    Origini dell'ASP

    Qualche anno fa, in riferimento alle pagine Web, l'unico standard  
    esistente era l'HTML.  

    Tuttavia ogni grossa azienda aveva introdotto rispetto allo standard  
    HTML   anche dei TAG non riconosciuti dagli altri.  

    In verità in tale periodo nacquero anche ulteriori linguaggi interpretati da  
    utilizzare nell'ambito dell'HTML: VBScript, JavaScript, Java, Activex. 

    Il che faceva sì che un browser non necessariamente riuscisse a funzionare  
    bene  o, comunque, browser diversi davano output diversi per determinate  
    pagine Web. 

    Coloro che scrivevano pagine Web dovevano tener conto, per forza di cose,  
    dei vari browser esistenti sul mercato! 

    Oggi in verità i browser maggiori, come Netscape e Internet Explorer, sono  
    anche Java compatibili, poichè è stato introdotto uno standard per tale  
    linguaggio e si sta diffondendo anche un'altra tecnologia, la JSP  
    (Java Server Page). 

    Tuttavia negli anni intorno al 1994-95, Microsoft inventò la tecnologia  ASP  
    (Active Server Pages) che dava un metodo efficiente per superare molte  
    delle limitazioni precedenti. 
     

    Filosofia ASP

    Le ASP prevedono l'introduzione nell'HTML di nuovi TAG identificabili con 
    <% ..... %>. 

    I file prodotti hanno estensione ".ASP" e vengono posti sul server. 

    Quando un client attraverso il suo browser fa una richiesta, attiva l'ASP corrispondente. 

    Il server, indipendentemente dal linguaggio usato (VBScript, JavaScript,  
    Perl, etc.) trasforma il risultato (l'output) in HTML standard e poi lo invia,  
    con protocollo HTTP, al client. 

    Se riflettete bene su quello che ho appena detto, osserverete che i vantaggi 
    ottenibili sono essenzialmente: 
     

    • E' il Server ad interpretare l'output e non il client (indipendenza dal 
              browser),  con innegabili vantaggi anche per chi sviluppa; 
    • Nell'ASP possono collaborare tra loro diverse tecnologie:
              VBScript,  JavaScript, etc.; 
    • Le ASP, qui lo diciamo per la prima volta, operano ad oggetti!
     

    ASPita! Scusate se è poco!  
     

    Ambiente di funzionamento delle ASP

    Microsoft ha progettato le ASP appositamente per Windows NT. 

    Windows NT è distribuito nelle versioni WorkStation e Server; ovviamente  
    se vogliamo lavorare con le ASP occorre anche installare il Server. 

    In particolare come Server esistono due possibili soluzioni: 
     

    • Personal Web Server;
    • IIS (Internet Information Server).
     
    Inoltre occorre ricordarsi che la directory del server dove vengono poste  
    le ASP, solitamente \inetpub\wwwroot, deve avere i privilegi di "execute".  
    Altrimenti occorre, come nel caso di IIS, usare dei particolari tool, ad esempio 
    Script Mapper, per riuscire ad attivare .ASP in directory non con diritto di  
    "execute". 

    Tutti i file .ASP che si trovano nella directory wwwroot vengono considerati appartenenti all'applicazione. 

    Com'è fatta un'ASP

    Nel seguito vi riporto un esempio semplice di ASP. 

    Ricordate che se non avvisate l'ASP circa il linguaggio che intedete usare,  
    per default essa si aspetterà VBScript. 

    <HTML> 
    <BODY> 
    <TABLE> <% Call PrintDate %> 
    </TABLE> 
    </BODY> 
    </HTML> 
    <SCRIPT LANGUAGE=JScript RUNAT=Server> 

    function PrintDate() { 
       var x 
       x = new Date() 
    Response.Write(x.toString()) 

    </SCRIPT>   

    Nello stesso file .ASP, se necessario, si possono  anche chiamare routine  
    con linguaggi diversi, basta aggiungere in coda, varie sezioni come quella  
    vista nell'esempio: 

    <SCRIPT LANGUAGE= ..... RUNAT=Server> ..........</SCRIPT> 
     

    Gli oggetti delle ASP   

    Le ASP lavorano sui seguenti oggetti fondamentali: 
     
    • APPLICATION
    • REQUEST
    • RESPONSE
    • SERVER
    • SESSION
      
    L'oggetto APPLICATION serve per la condivisione/concorrenza delle  
    ASP fra  più client.  

    Fornisce i metodi di lock e unlock. 

    L'oggetto REQUEST serve sia a passare parametri fra ASP, sia a  
    ricevere richieste dai client. 

    REQUEST fornisce molti metodi, fra cui QueryString ad esempio. 

    Se il client fa la richiesta: 

    http://www.pippo.it/aspita.asp?Q=Jacopo&Q=TBprince 

    e l'ASP contiene: 

    <%  
        For each item In  
           Request.QueryString("Q") 
           Response.Write item & "<BR>" 
        Next 
    %> 

    Verranno stampati sul browser gli item passati con Q.  

    Oltre che conQueyString, i dati possono anche essere prelevati da form,  
    etc. 

    L'oggetto RESPONSE è usato per fornire l'output al client.  
    Il suo metodo usuale è Write, ma ne esistono anche altri come Redirect  
    che serve a  mandare l'output ad un altro URL. 

    L'oggetto SERVER, invece, è il più importante: permette di comunicare  
    anche  col Database, con tecnologia ADO. 

    Vi riporto un esempio: il db si chiama "stoProvando", mentre "Archivio" è  
    la Result table da noi creata per contenere il risultato della query. 

    <% Set OBJdbConnection =  
           Server.CreateObject("ADODB.Connection") 
           OBJdbConnection.Open "stoProvando" 
                  SQLQuery = "SELECT * FROM DIPENDENTI" 
                  Set Archivio = OBJdbConnection.Execute(SQLQuery) 
    %> 

    Se vogliamo mandarli su un browser, nell'.ASP, probabilmente, 
    aggiungeremo  le seguenti istruzioni: 

    <% Do While Not Archivio.EOF %> 
    <% Response.Write Archivio("Matricola") %> 
    <% Response.Write Archivio("Cognome") %> 
    <% Response.Write Archivio("Nome") %></B></TD> 
    <% Archivio.MoveNext Loop %> 

    L'oggetto SESSION tiene conto delle informazioni della sessione, ad 
    esempio: 

    <% Session("username") = "Jaqueline" %> 
    <% Session("age") = 20 %>. 

    Gli oggetti SESSION e APPLICATION, usati in combinazione,  
    permettono di tener traccia di tutte le richieste fatte da ogni client.  

    Struttura gerarchica dei vari oggetti

    - Application
      Contents
      StaticObjects
      Metodi disponibili: lock, unlock.
      Eventi: Application_OnStart, Application_OnEnd

    - ObjectContext
      Metodi disponibili: SetComplete, SetAbort
      Eventi: OnTransactionCommit, OnTransactionAbort

    - Request
      ClientCertificate
      Cookies
      Form
      QueryString
      ServerVariables
      Metodi disponibili: BinaryRead
      Proprieties: TotalBytes

    - Response
      Cookies
      Proprietes: Buffer, CacheControl, CharSet, ContentType, Expires,
                         ExpiresAbsolute, IsClientConnected, PICS, Status
      Metodi disponibili: AddHeader, AppendToLog, BinaryWrite, Clear,
                                      End, Flush, Redirect, Write
    - Server
      Proprieties: ScriptTimeout
      Metodi disponibili: CreateObject, HTMLEncode, MapPath, URLEncode

    - Session
      Contents
      StaticObjects
      Proprieties: CodePage, LCID, SessionID, Timeout
      Metodi disponibili: Abandon
      Eventi: Session_OnEnd, Session_OnStart
     

    Conclusioni

    Qualche anno fa le ASP erano il coniglio tirato fuori dal cilindro, dai maghi  
    della Microsoft, e che permettevano anche dei vantaggi attraverso una  
    soluzione elegante. 

    Il difetto di tutto risiede  nell'obbligo di dover usare per forza Windows NT. 
      
    Oggi esistono anche altre soluzioni Java-based, che eliminano tale obbligo. 
      

      
      
     
     

 
Fine Lezione n° 1 
 
 
 
Numero Visitatori Corso