ePrometeusCorsoJavaJava
testi articoli
Testi Articoli  Download
Home | Eshop | Java | Tools | Web | 
CorsoJava è ora Video! Free for all!
Clicca Qui!

SERVLET
Server side programming con Java Servlet
Le Servlet
Supporto per le servlet
Panoramica
Programmare con l'HTTP
Le Servlet HTTP
Richieste e risposte
Un esempio
Conclusioni
Bibliografia
L'Autore

<<< Server side programming con Java Servlet >>>

di Michele Sciabarrà

La Web Programming è nata con la server side programming. Quelli che in origine erano statici documenti HTML, sono divenuti, grazie al server side programming, pagine dinamiche costruite on the fly per processare moduli e visualizzare i risultati di interrogazioni di database. Il primo linguaggio usato per rendere interattive le pagine Web è stato il Perl, sfruttando la rudimentale, limitata e inefficiente specifica nota come Common Gateway Interface. La CGI è rimasta per anni il principale strumento per la server side web programming. Anche se oggi gli script CGI sono abbastanza diffusi, sono da tempo comparse soluzioni tecnicamente più solide e pratiche per lo sviluppo di applicazioni Web di qualità professionale e respiro industriale. Citiamo ad esempio il Server JavaScript di Netscape, le Active Server Pages di Microsoft o l'IntraBuilder di Borland. Java deve gran parte del suo iniziale successo alle applet, che insieme ai plugin/ActiveX e al JavaScript/VBScript rappresentano la parte client side del web programming.

Tuttavia, sviluppare in ambiente Internet significa nella maggior parte dei casi dover gestire entrambe le parti, tanto il server quanto il client. Facciamo un esempio: supponiamo di dover generare un grafico utilizzando dei dati contenuti in un database. Una buona soluzione è generare una pagina HTML contenente i parametri per una applet che visualizza il grafico. La parte server quindi interroga il database e costruisce una pagina HTML contente la descrizione del grafico, ma la visualizzazione vera e propria viene gestita dalla applet che gira sul client.

Data la necessità di dover considerare entrambi le facce della medaglia, è naturale che molti sviluppatori desiderino utilizzare un solo linguaggio per lo sviluppo di applicazioni sia lato client che lato server. Chiunque abbia tentato di fare server side programming in Java avrà scoperto che sebbene Java è un ottimo linguaggio per molti usi, di per sé non si presta particolarmente allo sviluppo di applicazioni CGI, perché non fornisce nessuno supporto specifico. Anzi le CGI in Java sono goffe e inefficienti e presentano più problemi che in altri linguaggi. Oltre all'overhead considerevole dovuto al bootstrap dell'interprete e al caricamento di librerie non utilizzate per ogni richiesta, Java ha il difetto di non consentire l'accesso all'ambiente, che viene utilizzato dalla CGI per il passaggio di parametri. Per questo motivo si ricorre solitamente da un wrapper in C che invoca l'interprete Java passando l'ambiente sulla riga di comando e utilizzando lo switch standard -D che consente di impostare le System Property. Di conseguenza, ad ogni richiesta il principale fattore di inefficienza dell'interfaccia CGI, la necessità di creare un nuovo processo per ogni richiesta, è addirittura raddoppiata! Infatti occorre prima caricare il wrapper in C il quale poi manda in esecuzione l'interprete Java. Le CGI in Java sono molto lente, e questo difetto si vede ad occhio nudo anche richiamandole da una rete locale. Alle esigenze di rendere pratica la server side programming in Java, JavaSoft ha dato una eccellente risposta, per certi versi definitiva: le servlet.

ePrometeus s.r.l. - Web Software House & Open Source System Integrator
MILANO - SAN BENEDETTO DEL TRONTO(AP)
Contatti: info@eprometeus.com