JEE y Tomcat

29

Click here to load reader

Transcript of JEE y Tomcat

Page 1: JEE y Tomcat

Ing. Aurelio Martín Obando Tá[email protected]

Lenguaje de programación ii

ARQUITECTURA JEE Y TOMCAT

Page 2: JEE y Tomcat

Los Temas Principales

2Contenedor Web / Aplicaciones

3Tomcat

1JEE

Page 3: JEE y Tomcat

TEMARIO

Arquitectura Java EE y el servidor web Tomcat

1

Page 4: JEE y Tomcat

2 CONTENIDO

Semana 01

Page 5: JEE y Tomcat

Java Enterprise Edition (JEE)

Page 6: JEE y Tomcat

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.

Page 7: JEE y Tomcat

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

Page 8: JEE y Tomcat

MO

DEL

O D

E AP

LICA

CIÓ

N JE

E

Page 9: JEE y Tomcat

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.

Page 10: JEE y Tomcat

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.

Page 11: JEE y Tomcat

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

Page 12: JEE y Tomcat

¿Qué ocurre cuando un navegador invoca una aplicación?

Page 13: JEE y Tomcat

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

Page 14: JEE y Tomcat

Diversos escenarios de aplicación

Page 15: JEE y Tomcat

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.

Page 16: JEE y Tomcat

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).

Page 17: JEE y Tomcat

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.

Page 18: JEE y Tomcat

Tomcat

Page 19: JEE y 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

Page 20: JEE y Tomcat

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:

Page 21: JEE y Tomcat

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.

Page 22: JEE y Tomcat

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.

Page 23: JEE y Tomcat

3 Resumen

Page 24: JEE y Tomcat

» 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

Page 25: JEE y Tomcat

» 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

Page 26: JEE y Tomcat

» Estructura de archivos:

RESUMEN

Page 27: JEE y Tomcat

» 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

Page 28: JEE y Tomcat

GRACIAS

Page 29: JEE y Tomcat

O también puedes encontrarla

en .

Saludos!

AULA VIRTUALEncuentra esta presentación en el