Download Apache Tomcat - Google Groups

Document related concepts
no text concepts found
Transcript
Apache Tomcat
Rafael Emmi
Christian Graffe
Agenda









Reseña histórica
¿Qué es Tomcat?
Conceptos Básicos
Instalación y Configuración de Tomcat para
windows.
Archivos .war
Diferencia entre Tomcat y otros Contenedores Web
Ventajas de utilizar contenedores
Conclusiones
Ejemplos
¿Qué es Apache Tomcat?
 Apache Tomcat es un contenedor de Servlet desarrollado por el Apache
Software Fondation (ASF). Tomcat implementa las especificaciones de Java
Servlet y JavaServer Pages (JSP).
 Su primera Versión fue liberada en 1999.
 Por la Página oficial de tomcat.apache.org es un Contenedor Web para la
implementación de los Java Servlets y la tecnología de Java Server Pages
(JSP).
 El desarrollo del Apache Tomcat, intenta que sea con la colaboración de los
mejores desarrolladores de todo el mundo.
3/28
¿Qué es Apache Tomcat?
 Apache Tomcat provee numerosos proyectos de grandes escalas, y tareas
críticas de aplicaciones web a lo largo de rango diverso de industrias y
organizaciones. Algunos de sus usuarios y otras historias están listados en
el siguiente hipervínculo http://wiki.apache.org/tomcat/PoweredBy.
 Tomcat no debería confundirse con el Apache web server, que es una
implementación en C de un Servidor HTTP estos dos no están uno
contenido en otro.
 Apache Tomcat incluye herramientas de configuración y manejo , pero
también puede configurar tomcat con la edición de archivos que son
formatos XML.
4/28
JNDI
Container
RMI-IIOP
Aplication
Client
Aplication
Client
Http Request
Http Response
JDBC
RMI-IIOP
JNDI
JMS
Demonio Http
Web
JSP
Java
Mails
JAF
J2SE
¿Qué es Apache Tomcat?
JTA
JMS
Servlet
JDBC
J2SE
DataBase
5/28
Reseña Histórica
 EL Proyecto de Apache Tomcat nace como un proyecto de
software de Sun Microsystem como una referencia de
implementación del Java Servlets y de la Especificación de Java
Serves Page(JSP).
 Liderizado por el arquitecto James Duncan Davidson.
 Posteriormente ayudó a hacer el proyecto open source y en
su donación a la Apache Software Foundation.
James Duncan Davidson
at the Web 2.0 Expo 2007
6/28
Versiones Apache Tomcat
Version
Release Date
Description
3.0.x. (initial
release)
1999
Merger of donated Sun Java Web Server code and ASF and Implements Servlet 2.2 and JSP
1.1 specifications.
4.1.31
October 11,
2004
Tomcat Implements Servlet 2.3 and JSP 1.2 specifications
5.0.x
October 9, 2002
Tomcat Implements Servlet 2.4 and JSP 2.0 specifications
5.0.28
August 28, 2004 Tomcat Implements Servlet 2.3 and JSP 1.2 specifications
5.0.30
August 30, 2004 Tomcat Implements Servlet 2.3 and JSP 1.2 specifications
5.5.x
August 31, 2004 Tomcat Implements Servlet 2.4 and JSP 2.0 specifications
5.5.26
February 2008
Tomcat Implements Servlet 2.4and JSP 2.0specifications
6.0.x
December 1,
2006
Tomcat Implements Servlet 2.5 and JSP 2.1specifications
6.0.18
July 31, 2008
Tomcat Implements Servlet 2.5 and JSP 2.1specifications
7/28
Concepto Básicos
Servlet:
Servlets son de la plataforma Java la tecnología de elección para la
ampliación y el mejoramiento de los servidores Web.
 Servlets proporcionar un componente de base, independiente de la
plataforma para la construcción de aplicaciones basadas en Web, sin las
limitaciones de rendimiento de los programas CGI.
Hoy servlets son una opción popular para la construcción de aplicaciones
Web interactivas.
8/28
Concepto Básicos
Contenedores Web o Contenedores de Servlet:
Un contenedor Servlet es un componente especializado que apoya la ejecución
de Servlet y JSP.
Servlets individuales están registrados dentro de un contenedor Servlet,
promoviendo información al contenedor acerca de la funcionalidad que
ofrecen, y qué otras URL o localizador de recursos utilizará para identificarse a
sí mismos.
Algunos contenedores Web:
GlassFish (open source).
Caucho's Resin Server. (open source)
Java System Web Server, from Sun Microsystems.
Jboss (open source).
9/28
Concepto Básicos
JavaServer Pages (JSP):
La tecnología de JavaServer Pages permite a los desarrolladores y
diseñadores Web una mayor eficacia al desarrollar y mantener aplicaciones
web que son ricos en información y además contienen elementos dinámicas
que aprovechen los sistemas empresariales existentes.
Beneficios:
•Use la tecnología JSP, sin tener que aprender el lenguaje Java
•Ampliar el lenguaje JSP
•Fácil de escribir y mantener página
10/28
Instalación y Configuración
¿Cómo Instalar la Versión Binaria de Tomcat 6.0 para windows?
1.
2.
3.
4.
Antes hay que tener instalado la máquina virtual de Java(jdk1.6.0_10).
Descargar el fichero Windows Service Installer desde
http://tomcat.apache.org/download-60.cgi
Desempaquetamos el fichero en algún directorio. Esto debería crear
un archivo installer llamado apache-tomcat-6.0.18.
Java ubicación: El instalador utilizará el registro o la variable de
entorno JAVA_HOME para determinar la base de un camino de la JRE
de J2SE 5.
Ahora veremos pasos por paso las ventanas del installer.
11/28
Instalación paso por paso
1.
2.
Ventana Principal
Aceptación de la Licencia
12/28
Instalación paso por paso
3. Instalación de Componentes.
Para instalar los ejemplos hay que hacer click en la casilla.
4. Directorio a donde va a ser instalado.
13/28
Instalación paso por paso
5. Configuración básica, puerto, username y password.
6. Seleccionas el directorio donde esta instalado el JDK de Java.
7. Install.
14/28
Ficheros de Configuración
La configuración de Tomcat se basa en dos
ficheros:
server.xml - El fichero de configuración global
de Tomcat.
web.xml - Configura los distintos contextos
en Tomcat.
15/28
Ficheros de Configuración
server.xml es el fichero de configuración principal de Tomcat. Sirve para
dos objetivos:
Proporcionar configuración inicial para los componentes de Tomcat.
Especifica la estructura de Tomcat, lo que significa, permitir que Tomcat
arranque y se construya a sí mismo ejemplarizando los componentes
especificados en server.xml.
16/28
Ficheros de Configuración
web.xml
Hay una pequeña característica de Tomcat que está relacionada con
web.xml.
Tomcat permite al usuario definir los valores por defecto de web.xml
para todos los contextos poniendo un fichero web.xml por defecto en
el directorio conf.
Cuando construimos un nuevo contexto, Tomcat usa el fichero web.xml
por defecto como la configuración base y el fichero web.xml específico
de la aplicación (el localizado en el WEB-INF/web.xml de la aplicación),
sólo sobrescribe estos valores por defecto.
17/28
Estructura de los Directorios
Nombre de
Descripción
Directorio
bin
Contiene los scripts de arrancar/parar
conf
Contiene varios ficheros de configuración incluyendo server.xml (el
fichero de configuración principal de Tomcat) y web.xml que configura
los valores por defecto para las distintas aplicaciones desplegadas en
Tomcat.
doc
Contiene varia documentación sobre Tomcat (Este manual, en Inglés).
lib
Contiene varios ficheros jar que son utilizados por Tomcat. Sobre
UNIX, cualquier fichero de este directorio se añade al classpath de
Tomcat.
logs
Aquí es donde Tomcat sitúa los ficheros de diario.
src
Los ficheros fuentes del API Servlet. ¡No te excites, todavía! Estoa son
sólo los interfaces vacíos y las clases abstractas que debería
implementar cualquier contenedor de servlets.
webapps
Contiene aplicaciones Web de Ejemplo.
18/28
Estructura de los Directorios
Para hacer una aplicación
en Tomcat hay que crear
varios ficheros donde
estarán los archivos del
proyecto.
19/28
Archivos .WAR
 Toda aplicación en Tomcat se encuentra agrupada en WARS ("WebArchives"), la estructura de un WAR es definida por Sun (el creador de Java)
la cual debe ser implementada en cualquier producto de "Servlet
Engine"(Web-Container).
 Este tipo de estructura permite portabilidad a las diversas aplicaciones que
son desarrolladas .
 Cuando se lleva acabo la ejecución de Tomcat éste inspecciona y
automáticamente descomprime cualquier archivo WAR que se encuentra
bajo el directorio webapps.
 Su creacion se hace por medio de la consola de windows/linux (jar cv0f
myWebApp.war . ) un IDE ("Integrated Development Environment") o
mediante Ant (considerado el MAKE de java).
20/28
Estructura de directorios
para las aplicaciones web
•Nombre_de_la_aplicación (Nombre especifico)
(*.html *.jsp *.css )
META-INF (Meta data)
WEB-INF (Aquí incluimos el archivo web.xml)
classes (para guardar los archivos
compilados .class)
src (opcional, para guardar las fuentes)
lib (contendrá los .jar externos. )
Esto se incluye en la carpeta “Webapps” de Tomcat
21/28
Estructura de directorios
para las aplicaciones web
21/28
Archivo web.xml
<?xml version="1.0" encoding="ISO-8859-15"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>prueba</servlet-name>
<servlet-class>HolaMundo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>prueba</servlet-name>
<url-pattern>hola</url-pattern>
</servlet-mapping>
</web-app>
22/30
Ventajas de utilizar
contenedores
 En tiempo de ejecución, el Contenedor Web no tiene que hacer ningún
trabajo extra, por que el fichero ya ha sido incluido con anterioridad.
 Manejo de la seguridad usando el descriptor XML
 Soporte para múltiples peticiones que recibe un servidor
multithreading).
 Soporte para la realización de páginas dinámicas JSP.
 Sin un contenedor web tendríamos que programar a bajo nivel para
crear un socket de conexión con el servidor web.
23/28
Diferencias con otros
contenedores (Resin)
Tomcat es completamente Open Source, libre de costos.
Resin tiene la versión Profesional y una versión libre Resin Open
Source.
En Resin la validación xml es menos estricta: esto quiere decir que el
web.xml que trabaja perfectamente en Resin, puede fallar en tomcat.
Para servlets y clases relacionadas, solo hace falta el código fuente en
Resin. Compilación/recompilación se hace automático.
24/28
Diferencias con otros
contenedores (Resin)
Resin permite montaje rutas de mapeo externas. Esta característica es
usada, por ejemplo para localizar JSP's por fuera del .war. Tomcat, en
su versión 6 recibió un parche que permitía hacer lo mismo, pero este
fue vetado por que iba en contra de la especificación oficial.
Si tu o tu empresa utiliza la versión paga de Resin, puedes obtener
completo soporte del staff técnico de Resin. Tomcat solo provee de un
foro de discusión.
25/28
Conclusiones
Tomcat es una gran alternativa open source
 No es por nada que tomcat es uno de los contenedores web mas
populares y utilizados .
Herramienta Multiplataforma
Portabilidad de las aplicaciones web
26/28
Ejemplos
http://localhost/prueba/cags
http://localhost/examples/servlets/
http://localhost/examples/jsp/
Nota: Los vínculos anteriores solo funcionan si tienes instalado Tomcat en el
puerto 80 en tu computadora.
27/28
Links de interés
http://tomcat.apache.org/
http://www.webperformanceinc.com/library/reports/ServletReport/index.h
tml
http://www.programacion.com/tutorial/tomcatintro/
http://wiki.apache.org/tomcat/
http://www.digitalsanctum.com/2007/08/18/20-tips-for-using-tomcat-inproduction/
http://www.jcp.org/en/jsr/detail?id=39
http://en.wikipedia.org/wiki/Comparison_of_web_servers
28/28
Gracias