Tecnologia di Internet
 
Scripting Server Side 2: ASP, Lasso, SSJ
Continuiamo la rassegna delle tecnologie di scripting server-side trattando in questa pagina di
  • Active Server pages
  • Lasso
  • Server-Side Java
Active Server Pages
Active Server Page (ASP) è la soluzione di Microsoft per lo scripting server-side. Per usare pagine ASP è necessario utilizzare un web server Microsoft, in particolare Internet Information Server 3.0 o superiore (ma esistono prodotti terze parti che consentono di utilizzare ASP su server non Microsoft). ASP consente agli sviluppatori di creare i propri tag in VBScript o JSscript. Questi tag vengono interpretati da IIS prima che la pagina venga spedita al browser.

Una pagina ASP è un file di testo il cui nome termina con .ASP e che contiene tag HTML e script. Gli script, usualmente inVBscript, ma anche in JScript e PerlScript, consentono di incorporare in un file HTML istruzioni che verranno interpretate dinamicamente nel momento in cui la pagina HTML passa attraverso il server web. Inoltre ASP consente anche l’accesso agli oggetti server side (un componente COM). Il risultato è comunque sempre una pagina di normale codice HTML che viene trasferita al browser.

Esempio di pagina ASP

La prima istruzione di un script ASP indica il linguaggio utilizzato.

    <HTML>
    <HEAD>
    <TITLE>Test ASP</TITLE>
    </HEAD>
    <BODY>
    <% @Language = "VBScript" %>
    <% Response.Write("Ciao a tutti") %>
    </BODY>
    </HTML>

Visual Basic

Visual Basic è un linguaggio di programmazione e un ambiente di sviluppo sviluppato da Microsoft nel 1990 e basato sul linguaggio BASIC. Visual Basic è stato uno dei primi prodotti a fornire un ambiente di sviluppo grafico ed una metafora pittorica per sviluppare programmi. Invece di preoccuparsi della sintassi, il programmatore Visual Basic scrive istruzioni trascinando controlli, come pulsanti e box di dialogo e definendone aspetto e comportamento. Questo approccio è ora comune anche ad altri linguagggi di programmazione come C, C++, Pascal, and Java.

COM e ActiveX

La vera potenza di ASP deriva dalla architettura COM (Component Object Model) di Microsoft. COM funziona creando oggetti che hanno una interfaccia standard in modo che possano essere utilizzati da ogni programma che lo supporta. Così, utilizzando COM, lo sviluppatore web può chiedere ad Excel di visualizzare un grafico, ad Outlook di spedire una mail, a Explorer di interpretare XML.

Negli anni 80 l’architettura di Microsoft era centrata sulle applicazioni: ogni applicazione lavorava indipendentemente e salvava i dati in un proprio formato. Era impossibile inserire un foglio elettronico in un pagina di word processor. Negli anni 90 Microsoft ha modificato la propria strategia portandola ad essere centrata sui dati e non sulle applicazioni. Un documentoi può contenere qualunque oggetto (testo, suono, animazione, foglio elettronico).

ActiveX è l’implementazione di questa filosofia sul web. ActiveX era nata anni fa con il nome DDE (Dynamic Data Exchange), una tecnologia che consentiva alle applicazioni di comunicare tra loro (cioè di scambiare dati) e forniva un metodo mediante il quale le applicazioni potevano eseguire comandi nelle altre applicazioni. DDE era lento, difficile da usare e limitato. Poco dopo Microsoft pubblicò la prima versione di OLE (Object Linking and Embedding) che definiva il documento composto e specificava il modo standard con cui una applicazione poteva lavorare con un documento composto. Una applicazione può visualizzare un documento costituito di diversi oggetti e l’utente può fare doppio clic su un oggetto per editarlo nell’applicazione nativa. OLE era solo il primo passo. La vera architettuta centrata su dati si ebbe con la seconda versione di OLE, basata su COM che nella versione web si chiama ActiveX.

Collegamento con database

Il codice ASP può essere collegato ad un database (SQL, Access, Oracle, Informix, od un qualunque database che supporta ODBC) e dinamicamente può inserire i dati nella pagina HTML. Ciò porta possibilità molto interessanti tra cui il commercio elettronico, siti customizable, data entry/retrieving e altre.

Per l’accesso a database viene usato SQL (Structured Query Language). L’accesso al database si effettua utilizzando ActiveX Data Object (ADO). Molte delle funzioni di ASP sono fornite usando componenti ActiveX dalla parte del server.

ADO per l’accesso al database e CDO (Collaborative Data Object) per e-mail sono due esempi di componenti che devono essere utilizzati per avere certe funzionalità che non sono parte del built-in object model di ASP.

Riferimenti online

Lasso

Un sistema simile a ASP è Lasso, molto utilizzato su piattaforma Macintosh e Windows. Sia ASP che Lasso consentono ad uno sviluppatore di accedere, manipolare e pubblicare database sul Web. Entrambi lavorano con database ODBC (Lasso anche con FileMaker).

Lasso lavora con una sintassi basata sui tag LDML, che mettono a disposizione dello sviluppatore le funzioni di pubblicazioni/manipolazione. Questo tag consentono funzioni come la creazione di link per i precedenti/prossimi risultati, aggiunta, modifica e creazione di record e così via.

Ambedue consentono di aggiungere logica server-side alle applicazion web. Lasso lo fa mediante lo stesso linguaggio LDML che viene usato per accedere e manipolare i database. ASP usa una combinazione di JScript e VBScript e gli oggetti buil-in di ASP. Lasso consente di programmare in JavaScript (server-side javascript) e XML (Extensible Markup Language)

Server-Side Java
Un’altra alternativa all’uso di CGI, SSI o ASP consiste nel creare servizi sulla macchina server capaci di ricevere input dal web, elaborarlo e ritornare i risultati al browser attraverso il server. Uno dei linguaggi preferiti a questo scopo è Java (altri sono C++ e VisualBasic).
Java
Introdotto dalla Sun alla fine del 1995, Java (in americano vuol dire caffè) è un linguaggio di programmazione ad oggetti. I linguaggi di programmazione ad oggetti sono quelli che si focalizzano non sulle procedure ma sui dati e i metodi che manipolano tali dati. In un linguaggio ad oggetti una classe è una collezione di dati e metodi che operano su questi dati. Presi assieme, dati e metodi descrivono lo stato e il comportamento di un oggetto. Le classi sono organizzate in gerarchie, in modo tale che una sottoclasse possa ereditare il comportamento dalle classi superiori. Una gerarchia di classe ha sempre una root class, una classe con comportamento molto generale.

Java ha una estesa serie di classi, sistemate in pacchetti. Per esempio ci sono classi che creano componenti di interfaccia grafica (pacchetto java.awt), classi che trattano l’input/output (java.io) e classi che supportano le funzionalità di rete (java.net). La classe Object (java.lang) serve come root della gerarchia di classi. Java è simile a C++, ma di questo sono state eliminate le parti più difficili e meno adatte alla rete, creando un linguaggio molto adatto al web. Al contrario di C++ Java è stato progettato per essere orientato agli oggetti fin dall’inizio. Quasi tutto in Java è un oggetto (esclusi i tipi primitivi booleani, carattere e numerici). Anche se Java è progettato per avere lo stesso aspetto di C++, rimuove molte delle complessità di quel linguaggio.

Java è un linguaggio interpretato: il compilatore Java genera codice per la Java Virtual Machine, invece di codice in linguaggio macchina. Per eseguire un programma Java si usa l’interprete Java che esegue il codice compilato, che è indipendente dalla piattaforma. I programmi Java possono girare su qualunque piattaforma che ospiti JVM (l’interprete e run-time).

Esempio

    public class HelloWorld {
    public static void main(String[] args) {
    System.out.println(“Ciao a tutti”);
    }
    }

Java Server
Uno dei modi per eseguire servizi applicativi sul server consiste nell’implementare un Java Server. La cosa è molto semplice perché Java è stato progettato proprio per la rete. Essenzialmente si creano socket per ogni client e si processano i dati.

Java Servlet

Un altro modo di implementare server-side con Java consiste nell’usare servlets. Questi consentono di incorporare un servizio Java Server attraverso il web server (naturalmente se il web server supporta i servlets). I servlets sono sostanzialmente degli applet dalla parte del server. Un web server carica ed esegue servlets così come un web browser carica ed esegue applet.

  • Il browser fa una richiesta HTTP, specificando il servelt da usare per trattare la richiesta
  • Il web server passa la richiesta al servlet; se il serrvlet non è stato ancora caricato in memoria, il web server lo carica (e lo lascia caricato)
  • Il servlet risponde spedendo i dati al browser via server

Il funzionamento è simile a CGI e ASP. La differenza più grande con CGI è che Java servlet è persistente e quindi più veloce: una volta caricato rimane in memoria e può rispondere a richieste multiple. Invece, un programma CGI scompare dopo aver soddisfatto la richiesta. Inoltre i servlets sono indipendenti dalla piattaforma ed estremamente estensibili.

Poiché i servlets girano sul server, c’è il vantaggio che le tipiche restrizioni relative alla sicurezza degli applet non si applicano (i servlets non hanno Java sandbox).

Riferimenti online

   
Home | Commenti a Mauro Boscarol | Ultimo aggiornamento 22 dicembre 2000