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