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