Lorenzo Pascucci
a- a+

Portabilità e integrazione

Portabilità di ASP

Abbiamo detto che ASP è stato introdotto da Microsoftnel 1997. E' quindi uno standard relativamente giovane elegato alla tecnologia della azienda di Redmond. Infatti,affinché il codice ASP possa essere interpretato,c'è bisogno che il Web server utilizzato, sia unserver Active X come ad esempio IIS o PersonalWeb Server (anche se per quest’ultimo ci sonoalcune limitazioni di utilizzo). Ultimamente (in particolaredalla Chili Soft con Chili!ASP) sono state realizzate ancheversioni per Netscape Enterprise, Lotus Domino, Solaris.Altre aziende stanno invece producendo moduli aggiuntivi,scritti in Java, per server Unix (Linux, Novell, Sun,Macintosh, HPUX, SGI, SCO,Dec Alpha, IBM OS/2, RS/6000,AS/400, S/390, Apache, FastTrack/Enterprise servers, SunWebServer, Java WebServer,IIS, WebSphere and Lotus Domino).In particolare Chili Software ha annunciato lo sviluppo diuna nuova tecnologia, Denominata Chili!Beans, checonsentirà di interfacciare applicazioni ASP ecomponenti JavaBean: ciò renderebbe ASP totalmenteesportabile e in grado di imporsi come standard. Altro fattoche fa pensare ad ASP come una soluzione di successo,è l’indirizzo architetturale dato ad alcuniambienti applicativi. Essi infatti, si ispirano direttamentea questa tecnologia, come nel caso dell’estensione ColdFusion Markup Language, che definisce un linguaggio di markupproprietario destinato all’interpretazione da parte dialcuni Web server. 

Ma l’esempio più clamoroso è costituitodalla Sun che ha scelto di emulare ASP utilizzando latecnologia Java direttamente all’interno di pagineHTML, con JSP (Java Server Pages).  

Integrazione

Il fatto che ASP, sia una tecnologia Microsoft, non precludeche questa tecnologia non possa essere utilizzata conprodotti non proprietari della stessa casa software.

ASP e COM

ASP è perfettamente integrato nell’Active ServerModel di Microsoft: esso rappresenta un ponte che mette incomunicazione il Web server e i componenti COM presenti sulserver. Un’applicazione ASP complessa può esserecostituita da una serie di componenti messi in relazione tradi loro e con il Web server mediante un linguaggio discripting. Questo comporta l’uso di tecniche note perla realizzazione di componenti o il riuso di componentipre-esistenti, purché questi non facciano uso dielementi visuali, come finestre, toolbar, ecc.

L’utilizzo di componenti esterni al Web serverconsente di estendere le funzionalitàdell’ambiente ASP e di costruire applicazioni complesseo interfacciare applicazioni esistenti con il Web. Un ruolofondamentale per l’aggancio dei componenti esterniviene affidato all’oggetto predefinito Server, chetramite il metodo CreateObject() crea una connessione adun’istanza di un oggetto ActiveX. La sintassi diCreateObject() è la seguente:

Server.CreateObject(progID)

dove progID è l’identificativo della classe oil tipo di oggetto da istanziare nel formatoAppName.ObjectType, con AppName il nome del componente eObjectType la classe. Una volta istanziato l’oggetto,è possibile utilizzarne tutti i metodi e leproprietà pubbliche.

Ad esempio, supponendo di avere a disposizione un componenteper la gestione di magazzino (Magazzino) che fornisce unoggetto per la gestione degli articoli (Articolo), èpossibile creare una sua istanza da un’applicazione ASPtramite l’esecuzione della seguente istruzione JScript:

ArtMag = Server.CreateObject("Magazzino.Articolo")

Da questo momento in poi è possibile invocarequalsiasi metodo dell’oggetto facendo uso dellaclassica dot notation, cioè la sintassiOggetto.Metodo.

ASP e BackOffice

L’integrazione di ASP nel modello COM si evidenziaparticolarmente nell’interfacciamento con i prodottiMicrosoft della famiglia BackOffice. Infatti, con la versionedi ASP fornita con IIS 4.0 è disponibile un oggettopredefinito (ObjectContext) per l’interazione con MSTransaction Server, una serie di componenti perl’interazione con MS Exchange Server e SMTP Server(Collaboration Data Objects for NT Server) e un insieme dicomponenti per dialogare con MS Message Queue Server.

L’insieme di questi componenti consentono direalizzare applicazioni robuste ed efficienti con pocosforzo. Per fare un esempio, è possibile effettuaredei trasferimenti di articoli da un magazzino ad un altro,affidando la gestione della transazione a MS TransactionServer. Con i Collaboration Data Objects for NT Server(CDONTS), è possibile realizzare sistemi di gestionedi messaggi e posta elettronica su Web veramente sofisticati,sfruttando le potenzialità di MS Exchange Server eSMTP Server e ottimizzando l’invio di informazioniasincrone tramite i componenti di MS Queue Server.

ASP e database

Un ruolo senza dubbio rilevante di ASP è quello dimediatore tra Web server e un sistema di gestione didatabase. Questo è infatti l’uso piùcomune di questa tecnologia, un uso che ne hasenz’altro favorito il successo. Grazie ad ActiveX DataObject (ADO) è possibile accedere a qualsiasi databaseODBC o OLEDB compatibile, usufruendo dei vantaggi che questatecnologia offre, tra i quali la semplicità di accessoai dati e l’indipendenza dell’applicazione daltipo di database. 

Tramite ADO, la gestione di un database non presentaparticolari difficoltà. ASP supportaun’efficiente gestione delle connessioni ad un databasesfruttando la funzione di connection pooling di ODBC 3.5.Questa funzione consente la condivisione di una connessionetra richieste provenienti da utenti diversi, evitando dicreare nuove connessioni, operazione che riduce leprestazioni del database, e riducendo il numero diconnessioni inattive.

Supporto dei linguaggi di scripting

Un linguaggio di scripting non è un vero e propriolinguaggio di programmazione: con un linguaggio di scriptingè possibile effettuare elaborazioni e gestire lerisorse messe a disposizione da un ambiente ospite, ma nonè possibile realizzare applicazioni complete edautonome. ASP consente di utilizzare un linguaggio discripting all’interno del Web server. In realtà,è possibile utilizzare più linguaggi discripting all’interno di un’applicazione ASP eaddirittura all’interno di un file ASP.

ASP supporta in modo nativo due linguaggi di scripting,VBScript e JScript. Se non diversamente specificato, ASPinterpreta il codice script che trova all’interno deimarcatori <% e %> come codice VBScript, il linguaggiopredefinito. E’ possibile comunque modificare illinguaggio predefinito sia a livello di Web server,cioè per tutte le applicazioni ASP gestite da IIS, chea livello di singola applicazione, cioè per tutte lepagine che compongono un’applicazione. E’comunque da tener presente che impostare un linguaggiopredefinito può portare problemi dicompatibilità con altri Web server non adeguatamenteconfigurati: infatti, portando un’applicazione ASP daun Web server con JScript come linguaggio predefinito su unWeb server con VBScript predefinito è evidente che lasua esecuzione causa problemi di interpretazione sul serverdi destinazione.

Tramite la direttiva @ LANGUAGE è possibilespecificare il linguaggio da utilizzare all’interno diuna determinata pagina ASP. Così, ad esempio, se unapagina ASP contiene come prima linea la direttiva

<% @ LANGUAGE = "JScript" %>

il motore ASP interpreterà il codice contenutoall’interno di quella pagina come codice JScript.

Inoltre, all’interno di una pagina possono essereutilizzati linguaggi di scripting diversi, potendo sfruttareal massimo le caratteristiche proprie di ciascuno di essi.Utilizzando una versione arricchita del tag <SCRIPT>è possibile specificare che un blocco di codice deveessere interpretato secondo un determinato linguaggio:

<SCRIPT LANGUAGE="VBScript" RUNAT="Server" >Codice script</SCRIPT>

L’attributo RUNAT specifica a che livello deve essereinterpretato lo script; se non viene impostato, lo scriptè destinato all’interpretazione da parte delbrowser.

Oltre a VBScript e JScript, è possibile utilizzare unqualsiasi linguaggio di scripting il cui scripting engine siastato installato sul Web server. Uno scripting engineè un interprete di un determinato linguaggiorealizzato come oggetto COM secondo lo standard ActiveXScripting (www.microsoft.com/management/wsh.htm). Gliscripting engine di VBScript e JScript sono installatiinsieme a IIS; tuttavia è possibile installare unoscripting engine anche per altri linguaggi, come REXX, Perl,Python. Un esempio di scripting engine Perl èPerlScript di Activeware. In genere l’installazione diuno scripting engine non è un’operazionecomplessa; occorre tuttavia effettuare alcune modifichemanuali al registro di sistema quando si installano scriptingengine di linguaggi che non supportano la dot notation perl’accesso ai metodi di un oggetto.



Ti potrebbe interessare anche

commenta la notizia