Download - JEE y Tomcat
Ing. Aurelio Martín Obando Tá[email protected]
Lenguaje de programación ii
ARQUITECTURA JEE Y TOMCAT
Los Temas Principales
2Contenedor Web / Aplicaciones
3Tomcat
1JEE
TEMARIO
Arquitectura Java EE y el servidor web Tomcat
1
2 CONTENIDO
Semana 01
Java Enterprise Edition (JEE)
JEEJava Enterprise Edition o Java EE (anteriormente conocido como Java 2 Enterprise Edition o J2EE hasta la versión 1.4), es una plataforma de programación—parte de la plataforma Java—para desarrollar y ejecutar software en Lenguaje de programación Java.
Java EE incluye varias especificaciones de API, tales como JDBC, RMI, Java-Mail, JMS, Servicios Web, XML, etc. y define cómo coordinarlos. Java EE también configura algunas especificaciones únicas para Java EE, como: Enterprise JavaBeans, servlets, portlets (siguiendo la especificación de Portlets Java), JavaServer Pages y varias tecnologías de servicios web.
Algunos de los beneficios añadidos son, por ejemplo, que el servidor de aplicaciones puede manejar transacciones, seguridad, escalabilidad, concurrencia y gestión de los componentes desplegados, significando que los desarrolladores pueden concentrarse más en la lógica de negocio de los componentes en lugar de tareas de mantenimiento de bajo nivel.
RAZO
NES
PO
R Q
UE
UTI
LIZA
R JE
E- Programación eficiente. Para conseguir productividad es importante que los equipos de desarrollo tengan una forma estándar de construir múltiples aplicaciones en diversas capas (cliente, servidor web, etc.).- Extensibilidad frente a la demanda del negocio. En un contexto de crecimiento de número de usuarios, es preciso la gestión de recursos, como conexiones a bases de datos, transacciones o balanceo de carga.- Integración. Los equipos de ingeniera precisan estándares que favorezcan la integración entre diversas capas de software.- Aplicaciones Empresariales requieren ser
Desarrolladas más rápidoCon menos recursos
- Las aplicaciones actuales requierenDistribuciónTransaccionalidadPortabilidadSeguridad
MO
DEL
O D
E AP
LICA
CIÓ
N JE
E
Nivel Intermedio
MO
DEL
O D
E AP
LICA
CIÓ
N JE
ENivel Cliente
Clientes Web
Applets
Clientes Standalone
Contenedor Web
Servlets
JPS’s
Facelets
Contenedor EJB
Session Bean
Entity
Message
Nivel de Sist. De Inf.
Empresarial
DBMS
ERP
Como se puede ver, un concepto clave de la arquitectura es el de contenedor.Algunos tipos de contenedores:· Contenedor Web, también denominado contenedor Servlet/JSP, maneja la ejecución de los servlets y páginas JSP. · Contenedor Enterprise JavaBeans, que gestiona la ejecución de los EJB.
JEE
API’s
La plataforma JEE incluye APIs para el acceso a sistemas empresariales:· JDBC es el API para accceso a base de datos desde Java.· Java Transaction API (JTA) es el API para manejo de transacciones a través de sistemas heterogéneos.· Java Naming and Directory Interface (JNDI) es el API para acceso a servicios de nombres y directorios.· Java Message Service (JMS) es el API para el envío y recepción de mensajes por medio de sistemas de mensajería empresarial como IBM MQ Series.· JavaMail es el API para envío y recepción de email.· Java Interface Description Language (JIDL) es el API para llamar a servicios CORBA.· Java Authentication and Authorization Service (JAAS) es una interfaz que permite a las aplicaciones Java acceder a servicios de control de autenticación y acceso.· Java Architecture for XML Binding (JAXB) es una interfaz que permite a las aplicaciones Java con esquemas XML, muy útil para Web Services.
CON
TEN
EDO
RES
JEE
Tipos de ContenedoresContenedor WEB, también concido como servidor Web o HTTP. Un ejemplo es el servidor Apache.Contenedor de Aplicaciones o contenedor Servlet/JSP. Un ejemplo, Tomcat (que incluye el servicio anterior sobre páginas).Contenedor EJB, que contiene aplicativos Java de interacción con bases de datos o sistemas empresariales. Un ejemplo es Jboss o Glassfish, que contiene a los anteriores (servidor de páginas web y contenedor de aplicaciones web).
Servicios ofrecidos por el contenedor EJBSeguridadManejo de transaccionesManejo de nombres y directorios (JNDI)Conectividad remotaWeb Services
¿Qué ocurre cuando un navegador invoca una aplicación?
CAPA
S D
E LA
ARQ
UIT
ECTU
RA
PRO
PUES
TA P
OR
JEE
Capa de cliente• también conocida como capa de presentación o de aplicación. Nos
encontramos con componentes Java (applets o aplicaciones) y no-Java (HTML, JavaScript, etc.).
Capa Web• Intermediario entre el cliente y otras capas. Sus componentes principales
son los servlets y las JSP. Aunque componentes de capa cliente (applets o aplicaciones) pueden acceder directamente a la capa EJB, lo normal es que Los servlets/JSPs pueden llamar a los EJB.
Capa Enterprise JavaBeans• Permite a múltiples aplicaciones tener acceso de forma concurrente a datos y
lógica de negocio. Un servidor EJB no es más que un servidor de objetos distribuidos. Un EJB puede conectarse a cualquier capa, aunque su misión esencial es conectarse con los sistemas de información empresarial.
Capa de sistemas de información empresarial
Diversos escenarios de aplicación
ESCE
NAR
IO D
ESD
E U
N
NAV
EGAD
OR
Es el escenario canónico, donde aparecen todas las capas, empezando en un navegador HTML/XML. La generación de contenidos dinámicos se realiza normalmente en páginas JSP. La capa EJB nos permite desacoplar el acceso a datos EIS de la interacción final con el usuario que se produce en las páginas HTML y JSP.
ESCE
NAR
IO D
ESD
E U
NA
APLI
CACI
ÓN
Podemos considerar que tenemos como cliente una aplicación stand-alone, que puede ser una aplicación Java o incluso un programa en Visual Basic. La aplicación puede acceder directamente a la capa EJB o a la base de datos del EIS (esto último por medio de JDBC).
ESCE
NAR
IO B
ASAD
O E
N L
A W
EB (w
eb-c
entr
ic a
pplic
ation
)La plataforma JEE no obliga a usar todas las capas en un sistema. Lo esencial es escoger el mecanismo adecuado para el problema. En este sentido, en ocasiones no hay (ni prevemos que haya) la complejidad como para requerir una capa EJB. Se denomina escenario web-centric porque el contenedor web es el que realiza gran parte del trabajo del sistema.
Tomcat
DEF
INIC
IÓN
Jakarta-Tomcat es un servidor web que extiende la funcionalidad del mismo. Por sí solo, un servidor web sólo puede mostrar páginas estáticas HTML. Tomcat extiende y mejora esta funcionalidad al permitir ejecutar componentes Java tales como JSP’s, Servlets, etc.
Tomcat no soporta Enteprise Java Beans (EJBs). Es básicamente un contenedor de Servlets y JSPs.
Ejemplos de otros servidores de aplicaciones que soportan Servlets y JSP’s son los siguientes:
· iPlanet· Jetty· JRun· Bluestone· Borland Enterprise Server
APLI
CACI
ON
ES W
EB E
N
TOM
CAT
Aplicación web:
“Una aplicación web es una colección de Servlets, páginas JSP, clases Java, archivos de descripción de la aplicación y documentos estáticos
tales como HTML, XHTML, imágenes, etc. “
Estructura de archivos:
PRIN
CIPA
LES
DIR
ECTO
RIO
S D
E U
NA
APLI
CACI
ÓN
WEB /
miwebapp
•Directorio raíz de la aplicación web en donde se colocan todos los archivos HTML, JSP, GIF, JPG que utiliza la aplicación. Se pueden crear subdirectorios adicionales para mantener cualquier otro recurso de tipo estático que forme parte de la aplicación web.
/miwebapp/WEB-INF
•Directorio que contiene todos los recursos relacionados con la aplicación web que no son de acceso directo para un cliente (browser). En este directorio, se coloca el archivo descriptor web.xml, donde se define la configuración de la aplicación web.
/miwebapp/WEB-INF/
classes
•Directorio que contiene todos los Servlets y cualquier otra clase de utilidad o complementaria que se necesite para la ejecución de la aplicación web. Por lo general, contiene solo archivos compilados .class.
ARCH
IVO
S IM
PORT
ANTE
S D
E U
NA
APLI
CACI
ÓN
WEB
web.xml
•Archivo de configuración.
•Conocido como archivo descriptor de la aplicación web, este archivo xml, ubicado dentro del directorio WEB-INF, contiene la descripción de la configuración correspondiente a la aplicación web.
•La información que contiene puede incluir lo siguiente: Configuración de la sesión, Definiciones de Servlets y Registro de Servlets, Registro de tipos MIME, Páginas de error, Páginas de bienvenida (tag <welcome-file-list>).
*.war
•Un archivo WAR (web Archive) es la representación de una aplicación web en una unidad única distribuible. Es el método estándar empleado para empaquetar una aplicación web y dejarla lista para su distribución y acceso a través de servidores web con soporte para Servlets y páginas JSP.
•No importa el número o tipo de recursos (Servlets, JSPs, HTMLs, etc.); un archivo WAR agrupa una aplicación web completa, en una única unidad de distribución, en un único archivo.
3 Resumen
» Modelo de Aplicación JEE
RESUMENNivel Intermedio
Nivel Cliente
Clientes Web
Applets
Clientes Standalone
Contenedor Web
Servlets
JPS’s
Facelets
Contenedor EJB
Session Bean
Entity
Message
Nivel de Sist. De Inf.
Empresarial
DBMS
ERP
» Tipos de Contenedores» Contenedor WEB, también concido como servidor Web o HTTP. Un ejemplo es el
servidor Apache.» Contenedor de Aplicaciones o contenedor Servlet/JSP. Un ejemplo, Tomcat (que
incluye el servicio anterior sobre páginas).» Contenedor EJB, que contiene aplicativos Java de interacción con bases de datos o
sistemas empresariales. Un ejemplo es Jboss o Glassfish, que contiene a los anteriores (servidor de páginas web y contenedor de aplicaciones web).
» Tomcat es un servidor web que extiende la funcionalidad del mismo, pero no soporta Enteprise Java Beans (EJB’s).
RESUMEN
» Estructura de archivos:
RESUMEN
» http://download.oracle.com/javaee/5/tutorial/doc/gfirp.html » Aquí hallará toda la especificación y ejemplos de la versión actual de JEE.
» http://sistemas.uniandes.edu.co/~isis3702/dokuwiki/lib/exe/fetch.php?media=principal:isis3702-jee5-intro.pdf
» De este documento se obtuvieron algunos conceptos para construir esta presentación.
» http://pdf.coreservlets.com/ » Aquí hallará todo lo referente a Servlets.
» http://www.slideshare.net/aobandot/presentations » Repositorio de presentaciones en donde encontrará información relevante no solo al
tema de hoy, sino también al curso.» http://www.programacion.com/articulo/tomcat_-_introduccion_134
» Aquí hallará una guía completa acerca de Tomcat.
REFERENCIAS
GRACIAS
O también puedes encontrarla
en .
Saludos!
AULA VIRTUALEncuentra esta presentación en el