Está en la página 1de 26

Taller de Sistemas de

Información 2
Clase 2
Java EE
¿Que es Java EE?
 Suite de especificaciones para un conjunto
de APIs
 Una arquitectura distribuida de computación

 Definición estandarizada de componentes,


containers y servicios, que permiten crear y
desplegar aplicaciones distribuidas, en una
arquitectura multicapa

INCO - Facultad de Ingeniería – Montevideo, Uruguay 2


¿Que es Java EE?
 Definición de Sun Microsystems
o Java Platform, Enterprise Edition 5 (Java EE 5)
define el estándar para el desarrollo de
aplicaciones empresariales distribuidas, basadas
en componentes, utilizando un modelo de
múltiples capas

INCO - Facultad de Ingeniería – Montevideo, Uruguay 3


¿Que es Java EE?
 Orientado a la construcción de sistemas
empresariales
 Proporciona
o Un modelo de componentes
o Un modelo estandarizado,
o Un conjunto de servicios estandarizados
 Facilitan la tarea de construir una aplicación
empresarial

INCO - Facultad de Ingeniería – Montevideo, Uruguay 4


¿Cómo se relaciona con Java
SE?
 Basado en Java SE
o Java Platform, Standard Edition
 No es un reemplazo de Java SE
o Java SE proporciona el soporte de lenguaje
básico sobre el que Java EE ejecuta
o Es la base de cada componente y servicio
construido

INCO - Facultad de Ingeniería – Montevideo, Uruguay 5


¿Y para que Java EE?
 Se requiere una cierta infraestructura para
construir este tipo de aplicaciones
 Algunas tareas que deben hacerse…
o Procesar paquetes HTTP
o Generar una pagina HTML
o Conectarse a una base de datos para recuperar y
almacenar datos
o Procesar archivos XML
o Enviar mail

INCO - Facultad de Ingeniería – Montevideo, Uruguay 6


¿Y para que Java EE?
 Que sucedería si tuviésemos que armar una
aplicación, y no tuviéramos nada de esto?
 Podríamos…
o implementar toda esta infraestructura, cosa que
es bastante compleja
o Salir a buscar implementaciones para lo que
necesitemos, cosa que puede resultar compleja

INCO - Facultad de Ingeniería – Montevideo, Uruguay 7


El modelo de aplicación Java
EE
 Si pensamos en una aplicación empresarial típica,
encontramos tres conceptos fundamentales
o Capa de presentación
 Deplegar informacion al usuario
 Recoger informacion del usuario
o Capa de negocios
 Realiza el procesamiento de negocio de la aplicación
 Procesos y reglas de negocio
o Capa de acceso a datos
 Toda aplicación no-trivial, requiere alguna forma de
persistencia (leer / almacenar datos)

INCO - Facultad de Ingeniería – Montevideo, Uruguay 8


El modelo de aplicación Java
EE

INCO - Facultad de Ingeniería – Montevideo, Uruguay 9


El modelo de aplicación Java
EE
 Las aplicaciones Java EE se suelen distribuir
en tres lugares diferentes
o La máquina cliente
o La máquina servidor
 (Java EE Server)
o Base de datos o sistemas legados
 En realidad forma la parte persistente de la aplicación
 No contiene componentes Java

INCO - Facultad de Ingeniería – Montevideo, Uruguay 10


Independencia del proveedor
 La plataforma promueve la construcción de
sistemas independientes de la plataforma
o Heredado de Java
 La especificación es abierta, puede ser
implementada por cualquier proveedor
 Este deberá cumplir al pie de la letra dicho
estándar

INCO - Facultad de Ingeniería – Montevideo, Uruguay 11


Independencia del proveedor
 Un servidor de aplicaciones que sea Java EE
certificado, deberá proveer los servicios
definidos por la especificación
 Esta característica, permite que una
aplicación ejecutando en un servidor de
aplicaciones X, puede ejecutar en un
servidor de aplicación Y

INCO - Facultad de Ingeniería – Montevideo, Uruguay 12


Conceptos Java EE
 Clientes
 Servidores de aplicación

 Contenedor

 API

INCO - Facultad de Ingeniería – Montevideo, Uruguay 13


Clientes Java EE
 Web clients
o Código HTML generado dinámicamente por un
servidor de aplicaciones
o Un navegador web renderea el HTML devuelto
por el componente web
o Se denominan “clientes livianos”
o Delegan toda la lógica de negocios, al servidor
Java EE

INCO - Facultad de Ingeniería – Montevideo, Uruguay 14


Clientes Java EE
 Applets
o Aplicación Java (pequeña) que ejecuta en el
contexto del cliente, dentro de una JVM
embebida en el navegador web
o Estos componentes presentan un mecanismo
más rico para la construcción de interfaces
gráficas
o Poco uso en la vida real

INCO - Facultad de Ingeniería – Montevideo, Uruguay 15


Clientes Java EE
 Aplicaciones de escritorio
o Ejecutan en el contexto del cliente en forma
similar al applet, pero fuera del navegador web
o Son aplicaciones Java tradicionales
o En general se comunican con los componentes
de negocio para ejecutar funcionalidades
expuestas por la esta capa

INCO - Facultad de Ingeniería – Montevideo, Uruguay 16


Clientes Java EE

INCO - Facultad de Ingeniería – Montevideo, Uruguay 17


Servidores Java EE
 Representa el ambiente en el que ejecutan los
componentes Java EE
 Estos componentes se denominan componentes
server-side
 Pueden tomar la forma de
o Componentes web (JSP / Servlets / JSF)
o Componentes de negocio (EJB)
 Estos componentes ejecutan en un runtime
denominado contenedor

INCO - Facultad de Ingeniería – Montevideo, Uruguay 18


Servidores Java EE

INCO - Facultad de Ingeniería – Montevideo, Uruguay 19


Contenedores Java EE
 Los componentes web y de negocio, existen
y ejecutan dentro de contenedores
 Un contenedor permite invocar los servicios
brindados por el servidor de aplicaciones
o Seguridad
o Acceso a datos
o Transacciones,
o Acceso a recursos
o Comunicaciones

INCO - Facultad de Ingeniería – Montevideo, Uruguay 20


Contenedores Java EE

INCO - Facultad de Ingeniería – Montevideo, Uruguay 21


Componentes Java EE
 La plataforma Java brinda dos tipos de
componentes
 Componentes web
o Especializados en la generación de contenido
HTML dinámico
o Pensados para implementar la capa de
presentación de una aplicación empresarial
o Servlets / JSP / JSF

INCO - Facultad de Ingeniería – Montevideo, Uruguay 22


Componentes Web

INCO - Facultad de Ingeniería – Montevideo, Uruguay 23


Componentes Java EE
 Componentes de negocio
o Especializados en la implementación de lógica de
negocio y acceso a datos persistentes en forma
relacional
o Modelo de ejecución sincrónico y asincrónico
o Session beans / Message driven beans
o Java Persistence API

INCO - Facultad de Ingeniería – Montevideo, Uruguay 24


Componentes de Negocio

INCO - Facultad de Ingeniería – Montevideo, Uruguay 25


APIs de Java EE 5

INCO - Facultad de Ingeniería – Montevideo, Uruguay 26

También podría gustarte