Apache Tomcat

Da Wikipedia, l'enciclopedia libera.
Apache Tomcat
Logo
Apache-tomcat-frontpage-epiphany-browser.jpg
Sviluppatore Apache Software Foundation
Ultima versione 7.0.54 (22 maggio 2014)
Sistema operativo Multipiattaforma
Linguaggio Java
Genere Server web
Licenza Licenza Apache 2.0
(Licenza libera)
Lingua Multilingua
Sito web tomcat.apache.org

Apache Tomcat (o semplicemente Tomcat) è un application server nella forma di contenitore servlet open source sviluppato dalla Apache Software Foundation. Implementa le specifiche JavaServer Pages (JSP) e Servlet, fornendo quindi una piattaforma software per l'esecuzione di applicazioni Web sviluppate in linguaggio Java. La sua distribuzione standard include anche le funzionalità di web server tradizionale, che corrispondono al prodotto Apache.

In passato, Tomcat era gestito nel contesto del Jakarta Project, ed era pertanto identificato con il nome di Jakarta Tomcat; attualmente è oggetto di un progetto indipendente.

Tomcat è rilasciato sotto la Licenza Apache, ed è scritto interamente in Java; può quindi essere eseguito su qualsiasi architettura su cui sia installata una JVM.

Storia[modifica | modifica sorgente]

Tomcat iniziò come implementazione delle specifiche servlet da parte di James Duncan Davidson, che lavorava come ingegnere del software alla Sun Microsystem. Successivamente Davidson ha aiutato a rendere il progetto open source e a rendere possibile la donazione del codice sorgente da parte di Sun alla Apache Software Foundation.

Davidson fin dall'inizio sperava che il progetto diventasse open source. Per il nome si ispirò agli animali sulle copertine dei libri O'Reilly dedicati ai progetti open source. Venne fuori il nome Tomcat (gatto maschio), un animale in grado di mantenersi e sfamarsi da solo. Il suo sogno era destinato ad avverarsi, quando finalmente uscì un libro di O'Reilly dedicato a Tomcat con un felino in copertina.[1]

Sviluppo[modifica | modifica sorgente]

Tomcat è sviluppato in gran parte su base volontaria, con il necessario supporto della Apache Software Foundation. La natura libera del codice sorgente consente a chiunque di visionarlo e apportare modifiche. La prima versione ad apparire sul mercato è stata la 3.x, per arrivare alla 8.x, che implementa le specifiche di servlet 3.1.

Componenti[modifica | modifica sorgente]

Tomcat versione 4.x è stato rilasciato con Catalina (il contenitore di servlet), Coyote (il connettore HTTP) e Jasper (il motore JSP).

Catalina[modifica | modifica sorgente]

Catalina è il contenitore di servlet Java di Tomcat. Catalina implementa le specifiche di Sun Microsystems per le servlets Java e le "JavaServer Pages (JSP, Pagine JavaServer). In Tomcat un elemento del Reame rappresenta un database di usernames, passwords e ruoli (analoghi dei gruppi di UNIX) assegnati a quegli utenti. Differenti implementazioni del Reame permettono a Catalina di essere integrato in ambienti dove tali informazioni di autenticazione sono già state create e supportate, e poi gli permettono di utilizzare tali informazioni per implementare una cosiddetta "Container Managed Security" come descritto nelle Specifiche delle Servlet.[2]

Coyote[modifica | modifica sorgente]

Coyote è il componente "connettore HTTP" di Tomcat. Supporta il protocollo HTTP 1.1 per il web server o per il contenitore di applicazioni. Coyote ascolta le connessioni in entrata su una specifica porta TCP sul server e inoltra la richiesta al Tomcat Engine per processare la richiesta e mandare indietro una risposta al client richiedente.

Jasper[modifica | modifica sorgente]

Jasper è il motore JSP di Tomcat. Tomcat 8.x utilizza Jasper 2, che è un'implementazione delle specifiche 2.3 delle Pagine JavaServer (JSP)[3]. Jasper analizza i file JSP per compilarli in codice Java come servlets (che verranno poi gestite da Catalina). Al momento di essere lanciato, Jasper cerca eventuali cambiamenti avvenuti ai file JSP e, se necessario, li ricompila.

Note[modifica | modifica sorgente]

  1. ^ http://oreilly.com/catalog/9780596003180/preview
  2. ^ Realm Configuration HOW-TO
  3. ^ Jasper 2 JSP Engine How To

Altri progetti[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]