Dare una definizione esauriente di "applicazione" in campo informatico non
è semplice e, il compito non viene certo facilitato limitando l'osservazione alle sole "Web Applications". In ogni
caso, molti concetti possono essere chiariti osservando l'ambito e la struttura delle applicazioni sviluppate per poter
funzionare sotto la gestione di Tomcat.
Perchè una "Web Application" possa essere eseguita
correttamente dal Servlet Engine, è fondamentale posizionare i file da cui è composta mantenendo una
struttura precisa che sarà contenuta nella cartella "TOMCAT_ROOT/webapps"; per conseguire questo risultato è
possibile utilizzare differenti procedure, ma in questo capitolo descriveremo il sistema meno complesso, basato sul semplice
inserimento attraverso il copia/incolla dei file appartenenti all'applicazione nella corretta disposizione richiesta da
Tomcat
Il lavoro degli sviluppatori di "Web Applications" destinate a girare grazie a Tomcat,
è fortunatamente reso più semplice da una disposizione standardizzata dei file e delle cartelle necessari per il
funzionamento delle loro applicazioni; il loro ambito segue infatti un sistema gerarchico consolidato.
Si parte
naturalmente da una directory principale, detta anche "radice" o "root directory" che per le "Web Applications" è
convenzionalmente webapps. Se immaginiamo lo schema gerarchico delle applicazioni come un "albero", webapps ne
sarà appunto la radice e il percorso che porterà ad ogni "ramo" di questa pianta dovrà necessariamente
cominciare con il nome (context path) di questa directory.
All'interno della "root directory", avremo i
diversi tipi di files, distinguibili grazie alle loro estensioni: comuni ipertesti scritti in codice HTML; file ".jsp"
(Java Server Pages) preposti a produrre dinamicamente contenuti; immagini Gif e Jpeg. Il
loro scopo è quello di permettere l'interazione dei "client" utilizzati dagli utenti con i contenuti dei
server attraverso la mediazione di Tomcat. Non dimentichiamoci infatti, che è di Internet che
stiamo parlando e, le "Web Applications", sono finalizzate allo scopo più importante per il quale è stata creata la
Rete: consentire lo scambio di informazioni tra terminali sulla base del semplice meccanismo input/output, domanda e
risposta.
Addentriamoci ancora oltre nella struttura delle applicazioni per il Web: all'interno di webapps
avremo la cartella WEB-INF, destinata a contenere, tra gli altri, file non visualizzabili dai client per motivi
inerenti la sicurezza del sistema. Si pensi, per esempio al file di configurazione web.xml, un documento XML
(Extensible Markup Language) che permette a Tomcat di eseguire le Servlet per le "Web
Applications" descrivendone percorsi, argomenti necessari per l'inizializzazione, nomi/alias… Per questa sua funzione
di "consigliere" del Servlet Engine, web.xml è appunto definito come deployment descriptor.
All'interno della sub directory WEB-INF, troveremo altre due importanti sotto cartelle, utili per scopi
simili ma secondo procedure diverse. Innanzitutto abbiamo la cartella classes in cui dovranno essere copiati i file
dotati di estensione ".class", questi ultimi comprendono Servlet, classi Java e altri file necessari al loro
corretto utilizzo. Perchè i file ".class" assolvano il loro compito dovrà essere dichiarato il percorso che
porta ad essi; quindi una classe denominata "sitoweb.mysite.package.Servlet" dovrà corrispondere al percorso
"/WEB-INF/classes/sitoweb/mysite/package/Servlet.class".
Nel caso in cui le classi Java siano state
inserite all'interno di archivi Jar (Java Archive), come ad esempio i driver JDBC (Java
Database Connectivity), non dovranno essere posizionate nella sub directory classes, ma
nell'altra importante sotto cartella di WEB-INF denominata lib.
(Articolo concesso in esclusiva a
Mrwebmaster.it; ne è vietata la riproduzione senza il consenso
dell'autore e di Mrwebmaster.it.)