Download Objetos Enterprise Java Beans

Document related concepts
no text concepts found
Transcript
Enterprise Java Beans
JBoss AS
Ronier Rodríguez
06-40233
Enterprise Java Beans. Preludio
-
En los 60, grandes maquinas usadas por organizaciones gigantes.
-
En los 70, Minicomputadores y Timesharing. Aún centralizadas.
-
En los 80, primeros computadores personales. Islas de información.
-
Modelo Cliente-Servidor. Datos Centralizados o particionados, pero con
facilidades de control y consistencia de datos.
-
Aplication Servers: cliente recibiendo peticiones de tareas. Débiles por
problemas de versiones.
Enterprise Java Beans. Preludio
-
Nacimiento de la industria del Middleware.
- Monitores de procesamiento de transacciones.
- Proveedores de protocolos de comunicación y transacciones.
-
Sistemas n-capas, que empezaron a ver la red como un pool de servicios.
-
Lenguajes orientados a objetos. Entra en juego la solución CORBA.
-
Nace Enterprise Java Beans como aplication server orientado a objetos.
- Proveer un framework para componentes que puedan ser agregados
a un servidor, extendiendo su funcionalidad.
- Alta compatibilidad con CORBA.
Objetivos del Enterprise Java Beans.
-
Diseñado para que los desarrolladores puedan crear aplicaciones, libres
de los detalles de las capas inferiores, como manejo de transacciones,
hilos, balanceo de carga, etc. Los desarrolladores de aplicaciones pueden
concentrarse en la lógica de negocio. Departamentos separados de
desarrollo de aplicaciones.
-
Las responsabilidades del cliente, servidor, y conexiones individuales
quedan bien definidas, como un contrato.
-
Apunta a convertirse en el standart de las aplicaciones Cliente/Servidor.
Provee posibilidad de que aplicaciones desarrolladas por diferentes
vendors se puedan acoplar. El acoplamiento no requiere recompilar la
aplicación, por lo que posee una gran ventaja sobre soluciones
especificas a plataformas.
Composición del Enterprise Java Beans.
Enterprise Java Beans esta formado por dos elementos base:
Enterprise JavaBeans Componentes: es una clase Java, escrita por un
desarrollador EJB, que implementa la lógica de negocio. Todas las demás
clases soportan acceso de cliente o proveen servicios (como verificación y
persistencia) a las clases componentes.
Enterprise JavaBeans Contenedores: Los contenedores es donde las clases
componentes habitan. Proveen los servicios para manejo de transacciones,
versiones, recursos, y escalabilidad. Múltiples componentes suelen existir
en un mismo contenedor, y de agregar suficientes, cualquier cliente puede
convertirse en servidor, he allí la idea de la escalabilidad de Enterprise Java
Beans.
Funcionamiento Enterprise Java Beans.
Objetos Enterprise Java Beans
Un contenedor EJB puede contener objetos de dos tipos
principales, a saber, Session Beans y Message Driven Beans. Los de sesión
son todas las funciones que definen la lógica de negocio, desde pequeñas a
grandes operaciones, con o sin control de persistencia. Los de mensajes son
los pasan objetos a través de los componentes.
Los Session Beans se dividen:
- Stateful Session Beans
- Stateless Session Beans
- Singleton Session Beans
-
Message driven Beans.
Ejecución Enterprise Java Beans.
Cada Enterprise Java Beans desplegado provee una clase de
especificaciones y dos interfaces que definen la firma para los métodos
remotos. En cada contenedor encontraremos:
-
Clase especificadora del contenedor.
- Objetos EJB.
- Required deployment descriptor.
- Annotations para las características de conexión y seguridad.
-
Home Interface.
-
Remote Interface.
Ejecución Enterprise Java Beans.
Servidores de aplicaciones
Servidores privados:
- WebLogic de Oracle
- WebSphere de IBM
- EAServer de sybase Inc.
Servidores Libres:
- JOnAS de ObjectWeb
- JBoss AS de RedHat
- Geronimo y tomEE de Apache
- GlassFish de Oracle
Definición de JBoss
JBoss es un servidor de aplicaciones J2EE de código abierto
implementado en Java puro. Al estar basado en Java, JBoss puede ser
utilizado en cualquier sistema operativo para el que esté disponible Java.
Los principales desarrolladores trabajan para una empresa de servicios,
JBoss Inc., adquirida por Red Hat en abril del 2006, fundada por Marc Fleury,
el creador de la primera versión de JBoss. El proyecto está apoyado por una
red mundial de colaboradores. Los ingresos de la empresa están basados en
un modelo de negocio de servicios.
Ventajas de JBoss
•
•
•
•
•
•
•
•
•
•
•
•
JBoss fue el primer servidor de aplicaciones de código abierto.
Cumple los estándares.
Incrustable, orientado a arquitectura de servicios.
Flexibilidad.
Servicios del middleware para cualquier objeto de Java.
Ayuda profesional 24x7 de la fuente.
Soporte completo para JMX.
Implementa la especificación de EJB.
Agrupamiento en clúster
Equilibrio de carga.
JNDI (Java Naming and Directory Interface).
Integración con Hibernate (para programación de persistencia; JPA)
Funcionamiento general de JBoss
Se trata de un Middleware, por lo que configura aplicaciones para
facilitar su invocación. Posee alta compatibilidad con EJB, opera con las
declaraciones de los contenedores. Es un servidor de aplicaciones web, sus
funcionalidades están definidas en torno a ello.
JBOSS automáticamente implementa aplicaciones Web de un
volumen de contenido montado localmente o de un sistema de archivos de
red accesible a través del terminal fs. Hay disponibles varios entornos de
ejecución preconfigurados, derivados de las configuraciones de JBoss
estándar. La ruta a los documentos de aplicación es configurable, de modo
que el mismo volumen se pueda compartir entre varios servidores Web u
otros dispositivos que sirvan contenido diferente.
Funcionamiento general de JBoss
JBOSS tiene tres terminales de salida genéricos pensados para
acceder a servicios externos: el terminal db sirve para acceder a varias bases
de datos; el terminal fs sirve para acceder un sistema de almacenamiento
de archivos compartido (con NFS); y el terminal aux para enviar mensajes de
correo electrónico a un servidor SMTP.
El terminal de registro se puede usar para conectar JBOSS a un
sistema de archivos compartido donde JBOSS puede almacenar archivos de
registro.
El servidor se configura mediante propiedades. Estas propiedades
están diseñadas para cubrir la mayoría de los usos de una forma fácil de
configurar y, en la mayor parte de los casos, solamente hay que configurar
unos cuantos con valores no predeterminados.