Universidad de Guayaquil Facultad de Ciencias Matemáticas y Físicas 1 Carrera de Ingeniería en Sistemas Computacionales y Networking
SERVIDORES WEB CON REPOSITORIO SERVLETS JBOSS, TOMCAT, GLASSFISH
Integrantes : Angel Calvas, Josue Cardozo, Alexis Enriquez, Jorge Sanchez
I. INTRODUCCIÓN RESUMEN En este artículo se pretende considerar las En este documento se define de modo breve los alternativas tecnológicas disponibles para el distintos servidores de aplicaciones, incluye desarrollo de aplicaciones web y servidores de secciones donde se analiza las características y aplicación como lo es Glassfish, Tomcat y Jboss. funcionalidades de los diferentes aplicativos para Esto amplia el conocimiento del lector sobre dichas desarrollo de aplicaciones en servidores además de tecnologías para que identifiquen la utilidad de cada ejemplos básicos de cada tecnología y la estructura software y pueda realizar una elección acorde a sus que maneja cada recurso. proyectos. Tomcat, Jboss y Glassfish son servidores de Un servidor de aplicación es el software que aplicaciones que trabajan bajo estándares y permite el procesamiento de datos y peticiones de especificaciones como JEE y EJB que permiten la una aplicación cliente, trabajan a manera de bloques ejecución de lenguaje de programación en Java, los cuales se pueden desarrollar de forma arquitecturas distribuidas y componentes cliente- independiente y llaman funciones externas las servidor. cuales los hacen dinámicos y menos complejos. Universidad de Guayaquil Facultad de Ciencias Matemáticas y Físicas 2 Carrera de Ingeniería en Sistemas Computacionales y Networking
II. GLASSFISH Glassfish proviene de una versión comercial llamada el Sun Glassfish Enterprise Server esta es una contenedor de aplicaciones web para correr servlets y paginas JSP una de sus principaes orientación fue que trabaja con JavaEE (“Java Entreprise Editions”) pero también entre unas de sus mejoras es J2EE (“Java 2 Entreprise Editons”) en donde se dice que es un conjunto de especificaciones para APIs, una arquitectura de sitemas distribuida, y las definiciones para el paquete de componentes distribuidos para el desarrollo es un estandar definido para los servicios de desarrollar aplicaciones. En donde esta III. FUNCIONABILIDAD DE GLASSFISH plataforma se puede utilizar en multiples capas es decir tenemos multiples de herramientas para poder Funciona como un servidor de aplicaciones web realizar funcionabilidades mutuas en las dos es Modulares, Integrables, Extendibles en donde la decir este ambiente fue uno de los que entrudujo en arquitectura puede descargase e instalar solamente los sistemas distribuidos para ambiente web “multi- de los módulos que se necesiten para las APPS, lo nivel” La seguridad de este componente vital en las cual resta el tiempo de inicio, consumo de memoria aplicaciones empresariales para J2EE y y espacio en disco. Entre sus posible funciones es GLASSFISH es de que ofrece mecanismos ejecutar Glassfish dentro de una máquina virtual sin integrados de seguridad más seguros, que se puedan necesidad de disponer de instalar un servidor de añadir manualmente. J2EE proporciona aplicaciones.es decir Glassfish como una librería mecanismos de autentificación y autorización de más en la Java Virtual Machine, seleccionando solo acceso a los usuarios, así como recursos para el lo que se necesita y probando pequeñas aplicaciones acceso anónimo si se necesita. Es posible webs sin necesidad de correr todo el AppServer, especificar quien tiene acceso a cada método de un teniendo en cuenta las limitaciones del .Glassfish Enterprise Bean. pero este ambiente de desarrollo tambien nos permite subdividir nuestro servidores quiso mejorar en donde recluto a Java Server Page, de aplicaciones atravez de los dominios estos sirven Java Server Face, Entreprise JavaBeans etc.Para para agrupar apicaciones que pueden compartir: realizar aplicación complementarias hechas por su – Librerías mismo ambiente de desarrollo para aplicaciones – Logs web en onde existiría un soporte para cada uno de – Configuraciones ellos hecho por Glassfish. Universidad de Guayaquil Facultad de Ciencias Matemáticas y Físicas 3 Carrera de Ingeniería en Sistemas Computacionales y Networking
libros: Librerías compartidas entre las aplicaciones del dominio applications: Donde están almacenadas la Todos los dominios están almacenados en información de las aplicaciones. “glassfish_home/domains” todos los dominios tiene una “Clave maestra” que sirve para administrar el dominio, configurando como activados de manera independiente.
IV. LEVANTAMIENTO DE SERVIDOR GLASSFISH Para poder levantar un servidor en Glassfish tenemos una consola de administración con multiples de funciones. Los dominios mantienen una estructura de carpetas bien definida. De todas entre unas de las principales tenemos: config: Fichero de configuración del dominio
Debemos indicarle por consola que dominio queremos levanter para asi poder distirguir la omision de dominios en caso que exista uno levantado. Star-domain[
- Java Web Technologies (Servlet 2.5, JSP 2.1, JSF 1.2) - Metro Web Services Stack - .NET 3.0 Web Services Interoperability ● Dentro de la consola de administración es fácil - EJB 3.0 - JPA 1.0 (TopLink) - Grizzly (Java NIO) para un dominio GLASSFISH V3
Stop-domain[
La configuración del servidor se define mediante VIII. FUNCIONAMIENTO DE APACHE diversas propiedades. Estas propiedades están TOMCAT diseñadas para cubrir la mayoría de las variantes de uso de una forma fácil de configurar y, en la mayor Para poder realizar el funcionamiento de Tomcat parte de los casos, solamente hay que configurar con la licencia de Aparche es necesario tener en unas cuantas con valores no predeterminados.Para nuestro servidores un sistemas operativo de poder realizar un ejemplo de la aplicación Tomcat cualquier tipo y en tener el parquete instalodo Java realizaremos un desarrollo HOLAMUNDO Devolment Kit para realizar la utilización. Funciona mas como un servidor de paginas. El uso de las IX. HOLAMUNDO herramientas ANT y CVS no será abordado en esta ocasión, pero podemos decir que ambas son herramientas para descargar y compilar las Se creó un arreglo de los nombres de los integrantes versiones de código fuente de Tomcat Los servidor del grupo 7 para poder presentar en el navegador una página web con los nombres de cada uno de los Web basado es una máquina de Java Sun y Apache integrantes listados. Tomcat, un servlet de Java y un contenedor de A continuación se debe compilar el archivo páginas de JavaServer desarrollado. La HelloWorld.java pero para evitar tener errores en documentación principal de Tomcat se encuentra en tiempo de compilación se debe de agregar la opción tomcat.apache.org. Tomcat ofrece compatibilidad –classpath
Este proceso es necesario para indicarle en qué ruta se encuentra las librerías de Apache tomcat ya que si se lo compila sin hacer lo indicado saldrá error Donde: diciendo que no se ha encontrado la librería Servlet-name: es el nombre del servlet javax.servlet.* Servlet-class: indica el nombre del archivo que acabamos de compilar url-pattern: Se crea una ruta virtual para así poder acceder al servlet Y como paso final iniciamos el servidor web de Apache Tomcat para así poder ver en el navegador lo que se desea presentar.
Una vez hecho esto se debe de crear un archivo xml para así poder acceder al servlet sin que exista ningún problema Universidad de Guayaquil Facultad de Ciencias Matemáticas y Físicas 8 Carrera de Ingeniería en Sistemas Computacionales y Networking
X. CARACTERITICAS DE APACHE TOMCAT A partir de la versión 4.x Tomcat fue lanzado con el contenedor de servlets Catalina, con el contenedor HTTP "Coyote" y un motor para JSP llamdo "Jasper". Las principales características de estos tres componentes son Catalina donde este componente implementa las especificaciones de servlets y JSP. Para Apache Tomcat el elementos principal es una base de datos de nombres de usuarios, password y roles a estos usuarios permitiendo a Catalina integrarse donde ya existe información de autenticaciónes como describe la especificación de servlets.Mienstras que Coyote es un componente conector que admite el protocolo HTTP 1.1 para el servidor web y que escucha en un puerto TCP especificado por el servidor y envía la solicitud al motor Tomcat para que éste procese la solicitud y envíe una respuesta al cliente.Jasper analiza archivos JSP para compilar el código Java y, si se producen cambios, éste los vuelve a compilar. Desde la versión 5.x se usa Jasper 2 que es JavaServer para webs 2.0. Jasper 2 ha introducido las siguientes novedades:
Recompilación al producirse un cambio. Incorpora el compilador JDT de Java. Puesta en común de etiquetas JSP. Universidad de Guayaquil Facultad de Ciencias Matemáticas y Físicas 9 Carrera de Ingeniería en Sistemas Computacionales y Networking
Sus características y evolución del HTTPS producto y sus principales características Alojamiento compartido de cada una de las versiones han sido. CGI o interfaz de entrada común Tomcat 3.x que fue una de las primeras en distrbuise esta implementación a Servlets de Java partir de Servlet 2.2 y JSP 1.1 utiliza las SSI Recarga de servlets y tiene como unas Consola de administrador. de sus principales Funciones básicas de HTTP.
XI. EVOLUCION APACHE TOMCAT XII. JBOSS Es un servidor de aplicaciones de Java EE con Tomcat 4.x fue implementado a partir de licencia LGPL, compatible con cualquier sistema las especificaciones Servlet 2.3 y JSP 1.2 operativo para el que esté disponible la JVM.[1] es como un Contenedor de servlets únicamente un "EJB Container" y es por esto que rediseñado como Catalina.El motor JSP generalmente se utiliza en conjunción con un "Web- rediseñado con Jasper y el Conector Container", en nuestro caso Tomcat. Coyote.Java Management Extensions Este lenguaje es de codigo abierto donde puede (JMX), JSP y administración basada en realizarce en multiples sistmeas operativos sirve Struts. para el desarrollo y despliegue de la Tomcat 5.x fue implementado a partir de empresa Java aplicaciones, aplicaciones Web y los las especificaciones Servlet 2.4 y JSP servicios y portales . J2EE permite el uso de 2.0.Recoleccióno de basura reducida componentes modulares estandarizados y permite a capa envolvente nativa para Windows y la plataforma Java para manejar muchos aspectos de Unix para la integración de las la programación automáticamente.Es una aplicacion plataformas en el análisis rápido JSP. multiplataforma es muy felixible es decir muy Tomcat 6.x fue implementado de Servlet utilizados por lo pragramadores que an utilizado el 2.5 y JSP 2.1 como un soporte para lenguaje java para realizer aplicaciones web este Unified Expression Language 2.1 tambien lenguaje nos ofrece permiso de persistencia de Diseñado para funcionar en Java SE 5.0 y objeto y realciones aument el rendimiento de posteriors es un soporte para Comet a aplicaciones través de la interfaz CometProcessor. Tomcat 7.x fue implementado de Servlet 3.0 JSP 2.2 y EL 2.2 para unas de sus mejoras para detectar y prevenir "fugas de memoria" en las aplicaciones web y limpieza interna de código. Soporte para la inclusión de contenidos externos directamente en una aplicación web. Tomcat 8 como una de las principales características que soporta la última versión estable son:
Autenticación de acceso básico. Negociación de credenciales Universidad de Guayaquil Facultad de Ciencias Matemáticas y Físicas 10 Carrera de Ingeniería en Sistemas Computacionales y Networking
XIII. HISTORIA DE JBOSS Es la solución para la integración de data que permite a las organizaciones acceder a múltiples Marc Fleury empezó el proyecto Jboss en 1999, en recursos necesarios al tiempo requerido. el año 2004 fundo la empresa Jboss Inc. que Incluye una herramienta de diseño gráfico basado proporcionaba software middleware de código Eclipse. abierto en instalaciones o la nube para desarrollar, implementar y administrar aplicaciones Java. Competían con empresas líderes como las de IBM, BEA systems, Oracle, Sun MicroSystems. En abril del 2006, Red Hat realizo la adquisición de Jboss Web Server la compañía y en la actualidad se pueden considerar Servidor web basado en Tomcat, provee una los siguientes productos: plataforma de desarrollo para JSP (Java Server Pages), Java Servlets, PHP, and CGI. Red Hat Jboss Enterprise Application Platform
Ofrece una plataforma de alojamiento de aplicaciones que proporciona una arquitectura preparada para la nube con una potente gestión y automatización del sistema y una productividad del desarrollador de clase mundial. Jboss Web Server v3
Red Hat Jboss Web Server - Inclusión de Tomcat 8. - Actualización del Apache HTTP Un servidor web que combina el servidor Web Server v2.4. Apache y Apache Tomcat para proporcionar una - Actualización: versión de solución única para los sitios web de gran escala y Tomcat7. aplicaciones web ligeras de Java. - Actualización: versión de Hibernate. Red Hat Jboss Data Grid - Actualización de versión de mod_cluster. Una cuadrícula de datos en memoria para acelerar el - Soporte para Java 8. rendimiento de las aplicaciones, ofreciendo un - Adición del mod_security for acceso rápido distribuido de datos. Apache HTTP Server.
Red Hat Jboss Portal
Poderoso pero ligero portal para la construcción de Jboss Web Server v2.1 aplicaciones de alto impacto y auto servicio aprovechando al máximo el valor de sus sistemas - Soporte Java WebSockets existentes. comunicación full-duplex cliente-servidor Red Hat Jboss Fuse Service Works Plataforma de diseño, desarrollo e integración que permite a las organizaciones la transición y apertura Jboss Web Server v2 a las nubes hibridas. - Inclusión de Tomcat 7. Red Hat Jboss Data Virtualization - Inclusión de Hibernate. Universidad de Guayaquil Facultad de Ciencias Matemáticas y Físicas 11 Carrera de Ingeniería en Sistemas Computacionales y Networking
- Politicas SELinux para Apache Servicios de Middleware para cualquier objeto de HTTPD y Tomcat 6-7. java. - Versiones Actualizadas de Fácil integración con otros servicios desarrollados Apache HTTPD y Tomcat 6. en la plataforma de Java. - Actualización: versión de mod_cluster conector. Soporte completo para JVM. - Soporte para Solaris 11 Soporte completo para cualquier arquitectura de Máquina Virtual de Java.
Jboss Web Server v1 XV. CONCLUSION - Inclusion Apache Tomcat 5 – 6 - Soporte para Solaris 9 – 10 Con la profundidad de esta investigación se - mod_cluster (carga balanceada establece el conocimiento de las tecnologías para HTTP) desarrollo de aplicaciones web y aplicaciones con - Jboss Hibernate repositorio Servlets, las cuales están basadas en código abierto y multiplataforma. Tanto Glassfish, Tomcat y Jboss nos permiten desarrollar diversos servicios sobre aplicaciones web y servidores, pero las características propias como la administración, XIV. CARACTERÍSTICAS los servicios que se pueden manejar además de los estándares y complejidad de la programación es lo Software de licencia LGPL sin costo adicional. que nos lleva a la elección de dichas tecnologías Es un producto de licencia de código abierto (Lesser dependiendo de las necesidades y requerimientos de General Public License), que promueve la nuestros proyectos. distribución de software libre para todos los usuarios. XVI. AGRADECIMIENTO Cumple los estándares. Los autores agradecen la colaboración prestada del El sistema y los datos se conectan fácilmente, Ing. Antón por la revisión de este documento, por certificados Java EE. darnos de la motivación para realizar una investigación a fondo de las tecnologías Seguro y confiable a nivel de empresa. mencionadas y por trasmitirnos su interés por la Plataforma integral con servicios de seguridad para materia con sus experiencias y conocimientos claros nivel empresarial. del este tema.
GLOSARIO Incrustable, Orientado a arquitectura de servicios. Soluciones SOA (Arquitectura Orientada a Java EE Servicios) con una alineación directa a los procesos Java Platform, Enterprise Edition o Java EE de negocio. (anteriormente conocido como Java 2 Platform, Enterprise Edition o J2EE hasta la versión 1.4; Flexibilidad consistente. traducido informalmente como Java Empresarial), Innovación de servicios a clientes y una adaptación es una plataforma de programación—parte de la ágil ante cambios. Plataforma Java—para desarrollar y ejecutar software de aplicaciones en el lenguaje de Universidad de Guayaquil Facultad de Ciencias Matemáticas y Físicas 12 Carrera de Ingeniería en Sistemas Computacionales y Networking programación Java. Permite utilizar arquitecturas de N capas distribuidas y se apoya ampliamente en componentes de software modulares ejecutándose sobre un servidor de aplicaciones.[2]
EJB Los Enterprise JavaBeans son una de las API que forman parte del estándar de construcción de aplicaciones empresariales JEE) de Oracle. Su especificación detalla cómo los servidores de aplicaciones proveen objetos desde el lado del servidor.[3] XVII. REFERENCIAS [1] JSP Red Hat Inc. “Jboss Technology” [En línea]. Java Servlet Pages ' (JSP) es una tecnología que Disponible en:
LGPL Lesser General Public License es la licencia más ampliamente usada en el mundo del software y garantiza a los usuarios finales (personas, organizaciones, compañías) la libertad de usar, estudiar, compartir (copiar) y modificar el software. Su propósito es declarar que el software cubierto por esta licencia es software libre y protegerlo de intentos de apropiación que restrinjan esas libertades a los usuarios [5]