Está en la página 1de 37

Servidores de Tecnologa JEE

Tipos de servidores
Como cada servidor afecta las
cualidades sistemticas del
entorno de las aplicaciones

Tipos de Servidores
Los servidores son elementos fundamentales de
un sistema de tecnologa JEE.
Tpicamente la tecnologa JEE esta compuesta
por los siguientes sistemas
Web Server Maneja los requerimientos
Aplication Server Provee servicios de software
Resourse Server - Permite la integracin de sistemas
flexibles, acceso a datos fiables, y el uso seguro

Web Servers
La funcin original, fue la de un simple servidor de
pginas estticas HTML.
Hoy en da, estos manejan ambientes dinmicos y
muchos proveen manejo de JSP y funcionalidades de
servlets.
Un Web Server debe manejar muchos requerimientos
concurrentes ya sea de pginas estticas o dinmicas.
Cada requerimiento y respuesta individual es un hecho
aislado
Cada vez mas se pasa un identificador de estado de la
conversacin, denominados cookies.

Web Servers
Las cookies son pequeos archivos que los
sitios web colocan en el disco duro del equipo
cuando los visita por primera vez.
Debido a la naturaleza esencialmente sin estado
del ciclo de solicitud y respuesta HTTP, la
conexin TCP / IP que lleva la peticin y la
respuesta es creada y destruida por cada
solicitud.
En las nuevas versiones del protocolo HTTP se
pude hacer que la conexin sea retenida (
llamada keepalive).
Son vulnerables a ataques.

Aplication Servers
Implementa un estructura que provee servicos
esenciales para el software que se ejecuta
dentro de l, como son:
Seguridad - Provee mecanismos de seguridad,
que no necesitan ser entendidos para ser
usados.
Manejo de transacciones Tiene un simple API
que se encarga del manejo de transacciones
Manejo de recursos Incrementa el desempeo
de un sistema mientras simplifica la codificacin
del mismo

Resource Servers
Provee acceso a recursos para aplicaciones de
tecnologa JEE.
Se puede comprar algunos servidores de
recursos como componentes disponibles en el
mercado, mientras que otros servidores de
recursos requieren un desarrollo de cdigo en la
casa.
Los tipo servidores de recurso son:
Servidores LDAP
Servidor de Seguridad
Legacy server (JDBC, Java Mail, CORBA)

Como seleccionar el servidor de


aplicacin
La decisin de usar un servidor de aplicacin es
una pregunta de anlisis de costo-beneficio.
Priorice sus necesidades y compare con las
prioridades futuras del servidor de aplicacin.
Incluya todos los costos, incluyendo costos
ocultos como: administracin, capacitacin,
mejoras, etc.
Examine caractersticas de tiempo de ejecucin
del servidor de contenedores y opciones de
conectividad.

Aplicaciones JEE Mult. capa


Los componentes de la capa Cliente se
ejecutan en la mquina cliente.
Los componentes de la capa Web se
ejecutan sobre el servidor J2EE.
Los componentes de la capa de Negocio
se ejecutan sobre el servidor J2EE.
La capa EIS (Enterprise Information
Server) se ejecuta sobre el servidor EIS.

Aplicaciones JEE Mult. capa

Servicios proporcionados por el


contenedor EJB
Un contenedor EJB envuelve y proporcionando una
capa de servicios aadidos. Los servicios ms
importantes son los siguientes:
Manejo de transacciones: apertura y cierre de transacciones
asociadas a las llamadas a los mtodos del bean.
Seguridad: comprobacin de permisos de acceso a los mtodos
del bean.
Concurrencia: llamada simultnea a un mismo bean desde
mltiples clientes.
Servicios de red: comunicacin entre el cliente y el bean en
mquinas distintas.
Gestin de recursos: gestin automtica de mltiples recursos,
como colas de mensajes, bases de datos o fuentes de datos en
aplicaciones heredadas que no han sido traducidas a nuevos
lenguajes/entornos y siguen usndose en la empresa.

Funcionamiento de los
componentes EJB

Funcionamiento de los
componentes EJB
En primer lugar, se puede ver que el cliente
realiza peticiones al bean y que el servidor que
contiene el bean puede estar ejecutndose en
mquinas virtuales Java distintas.
El cliente nunca se comunica directamente con
el enterprise bean, sino que el contenedor EJB
proporciona un EJBObject que hace de interfaz .
Por ltimo, el bean realiza las peticiones
correspondientes a la base de datos

Ejemplo del flujo de llamadas


Supongamos que tenemos una aplicacin
de bolsa y el bean proporciona una
implementacin de un Broker. La interfaz
de negocio del Broker est compuesta de
varios mtodos, entre ellos, por ejemplo,
los mtodos compra o vende.
Supongamos que desde el objeto cliente
queremos llamar al mtodo compra. Esto
va a provocar la siguiente secuencia de
llamadas:

Funcionamiento de los
componentes EJB
1. Cliente: "Necesito realizar una peticin de compra al
bean Broker."
2. EJBObject: "Espera un momento, necesito comprobar
tus permisos."
3. Contenedor EJB: "S, el cliente tiene permisos
suficientes para llamar al mtodo compra."
4. Contenedor EJB: "Necesito un bean Broker para
realizar una operacin de compra. Y no olvides
comenzar la transaccin en el momento de
instanciarlos."
5. Pool de beans: Busca una conexin disponible".
6. Contenedor EJB: "Ya tengo un bean Broker. Psale la
peticin del cliente."

Tipos de EJB Definicin


Un "Java Bean" es un componente utilizado en Java que
permite agrupar funcionalidades para formar parte de
una aplicacin.
Un "Enterprise Java Bean" tambin agrupa
funcionalidades para una aplicacin, sin embargo, a
diferencia de un "Java Bean" un "Enterprise Java Bean"
es un "deployable component", el trmino "deployable
component" implica que existe un ambiente de ejecucin
, ste ambiente es precisamente un "EJB(Enterprise
Java Bean) Container" parte de un java application
server .

Tipos de EJB
Entity beans
Session beans
Stateless Session Beans
Stateful Session Beans

Message-driven beans
Data Acces Objects
Transfer Objects
Session Beans facade

Entity Beans
Representan un objeto concreto que tiene existencia en
alguna base de datos de la empresa. Una instancia de
un Entity bean representa una fila en una tabla de la
base de datos.
Representan cosas: objetos del mundo real como
hoteles, habitaciones, expedientes, estudiantes, y
tambin puede representar cosas abstractas como una
reserva.
Es mucho ms fcil, por ejemplo, cambiar el nombre de
un estudiante llamando a student.setName() que
ejecutando un comando SQL contra la base de datos

Session beans
Estos representan sesiones interactivas con uno o ms
clientes.
Pueden mantener un estado, pero slo durante el
tiempo que el cliente interacta con el bean.
Los beans de sesin no almacenan sus datos en una
base de datos despus de que el cliente termina el
proceso. Por ello se suele decir que los beans de sesin
no son persistentes.
A diferencia de los Entity beans, stos no se comparten
entre ms de un cliente, sino que existe una
correspondencia uno-uno entre beans de sesin y
clientes. Por esto, el contenedor EJB no necesita
implementar mecanismos de manejo de concurrencia en
el acceso a estos beans.

Stateless Session Beans


Los mtodos que ponen a disposicin de las
aplicaciones clientes son llamadas que reciben datos y
devuelven resultados, pero que no modifican
internamente el estado del bean.
Un nico bean puede estar asignado a mltiples
clientes, ya que la asignacin slo dura el tiempo de
invocacin del mtodo solicitado por el cliente.
El contenedor EJB no tiene que mover sesiones de la
memoria a un almacenamiento secundario para liberar
recursos, simplemente puede obtener recursos y
memoria destruyendo las instancias.
Los Stateless Session Beans se usan en general para
encapsular procesos de negocio.

Stateful Session Beans


Almacenan el estado conversacional de un
cliente que interacta con el bean. Este estado
conversacional se modifica conforme el cliente
va realizando llamadas a los mtodos de
negocio del bean. El estado conversacional no
se guarda cuando el cliente termina la sesin.
Ejemplos
Un ejemplo tpico es un carrito de la compra, en
donde el cliente va guardando uno a uno los tem que
va comprando.
Un enterprise bean que reserva un vuelo y alquila un
auto en un sitio Web de una agencia de viajes.

Stateful Session Beans


Debido a que el bean guarda el estado conversacional
con un cliente determinado, no le es posible al
contenedor crear un almacn de beans y compartirlos
entre muchos clientes. Por ello, el manejo de beans de
sesin con estado es ms pesado que el de beans de
sesin sin estado.
Use un bean de sesin con estado si
El estado del bean representa la interaccin entre el bean y un
cliente especfico.
El bean necesita mantener informacin del cliente a lo largo de
un conjunto de invocaciones de mtodos.
El bean hace de intermediario entre el cliente y otros
componentes de la aplicacin.

Message-driven beans
Estos beans permiten que las aplicaciones
J2EE reciban mensajes JMS de forma
asncrona. As, el hilo de ejecucin de un
cliente no se bloquea cuando est
esperando que se complete algn mtodo
de negocio de otro enterprise bean.
Un nico bean dirigido por mensajes
puede procesar mensajes de mltiples
clientes

Cuando usar Servlets o JSP


Servlets
Los servlets son adecuados en las siguiente
situaciones:
Funciones de aplicacin de bajo nivel; por ejemplo
la generacin dinmica de datos binarios, tales
como imgenes
Una arquitectura bien diseada dejara las JSP
como vistas, los Servlets como controladores y
JavaBeans o EJBs para la capa de negocio.
Los Servlets solo saben el QUE HACER nunca el
COMO HACERLO

Cuando usar Servlets o JSP


Los JSP son usados en las siguientes
situaciones:
Centrados en la presentacin. Las
pginas JSP su codificacin es parecida a
las pginas HTML.
Manejan lgica de aplicacin a travs del
uso de componentes JavaBeans
Los Jsp hacen mas fcil la construccin
de pginas que los servlets.

Creando la arquitectura del


software
La arquitectura es la responsable de identificar
los componentes del sistema y sus relaciones,
para asegurar que el sistema cumple con los
requerimientos no funcionales.
Aqu se deben considerar tres modelos
Diagrama de despliegue de alto nivel
Diagrama de despliegue a nivel de detalle
Diagrama de niveles y capas de paquetes
DisplinaArquitectura.pdf (pag. 22)

Diagrma de Paquetes
Un paquete es un mecanismo de
propsito general para la organizacin de
elementos dentro de grupos.
Los paquetes se pueden anidar dentro de
otros paquetes.
Se puede colocar cualquier elemento de
UML en el paquete.

Diagrma de Paquetes

Diagrama de Componentes
Muestra la organizaciones y dependencias
entre los componentes
Los componentes fsicos incluyen
archivos, cabeceras, bibliotecas
compartidas, mdulos, ejecutables, o
paquetes
Contiene elementos de software
(componentes) y sus relaciones y
dependencias

Tipos de componentes

1.Ejemplo Diagrama de
Componentes

2.Ejemplo Diagrama de
Componentes

3.Ejemplo Diagrama de
Componentes

Ejemplo de un Diagrama de Deployment Detallado

Modelo de tres dimensiones

Capa de Cliente y Presentacin

Capa de Negocio

Capa de Integracin y Recursos

También podría gustarte