JEE Introducción a Java Enterprise Edition (JEE) y el modelo Enterprise Java Beans (EJB)

Slides:



Advertisements
Presentaciones similares
Desarrollo de aplicaciones en n- capas
Advertisements

2010Ing. de Sistemas II Persistencia en EJB3 Pasos para crear entity beans.
JEE (EJB3) Configuración Ambiente de Desarrollo
Web Services.
Programación Orientada a Objeto 1
Internet y tecnologías web
Red Social: “Un millón de Amigos”.
Empaquetado de Entity Beans
Programación Orientada a Objeto 1
Programación Interactiva Introducción a Java
J2EE – Java 2 Enterprise Edition
Arquitectura Web en Aplicaciones Empresariales Java/J2EE
Aplicaciones J2EE.
Capa de Persistencia Daniel Fernández Lanvin.
Universidad Nacional Autónoma de Honduras
Carlos Rojas Kramer Universidad Cristóbal Colón
INTRODUCCIÓN A JAVA.
Arquitectura, conceptos y ejemplos
"java del lado del servidor" Servlet y JSP Java Server Pages.
Unidad 6: EJB 3.0 David Rodríguez 1.
Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.
JEE – Java Enterprise Edition
Curso de Java y Aplicaciones Web
Investigación Servidor de Aplicaciones WebSphere
RMI Remote Method Invocation
Java 2 Platform Enterprise Edition
POR: Evelyn Zuleyma Quiroz Velásquez
JAVA Persistence API (JPA)
Enterprise Java Beans Rubén Trujillo Sept-Dic 2008.
JAVA. Introducción Que es java?  Código reusable  Multiplataforma.
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Aplicaciones Web con Oracle y XML 5 años de experiencias Universidad de las Islas Baleares Centro de Tecnologías de la Información Daniel López.
Tecnologías para el desarrollo de aplicaciones Web
Persistencia de Objetos. Definicion Persistencia : El la capacidad de un objecto to continuar existiendo despues que su creador (programa que crea este)
Desarrollo de Aplicaciones Utilizando Java Edición Empresarial – JEE6
Propósito: * Mostrar indicativos porcentuales de los diversos microorganismos con los que se alimentan el camarón en un manejo semi-intensivo aplicado.
Sistemas Distribuidos basados en la web
Una java servlet es un programa que se ejecuta en un servidor. Por lo general son aplicaciones Java que corren en un entorno de servidor web. Los Java.
Introducción a la Programación. Lenguaje de Máquina.
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
SPRING MVC.
J2EE Java Enterprise edition eilin chang Matthew pabon Gabriel vega.
Tutor: Ing. Juan E. Talavera Horn 2010 GWT – EJB Patrones de diseño e integración.
ASIGNACION DE LAS PARTES DE LA APLICACION DISTRIBUIDA EN JAVA PESENTA: LEVI MONROY MARTINEZ.
J2EE – Java 2 Enterprise Edition
Sistemas Cliente-Servidor Introducción. Sistemas cliente-servidor Servidor Cliente Petición Respuesta.
Enterprise Java Beans. EJBs Beans gestionados por un contenedor del servidor de aplicaciones para gestionar el acceso a recursos (bases de datos, colas.
J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.
Enterprise JavaBeans Arvelo, Yolife Ascanio, Eduardo Chacón, Johnny Quintana, Susana Unversidad Simón Bolívar Departamento de Computación y T.I Sistemas.
Programación I Aplicaciones Web
IS2Objetos Distribuidos - J2EE,RMI1 Ingeniería del software II Ingeniería Web.
Desacoplamiento de Capas
Contacta un Servlet o un JSP
INTRODUCCIÓN Presentación Personal
IS2Objetos Distribuidos - J2EE,RMI1 Ingeniería del software II Ingeniería Web.
Manual Desarrollo Flex – J2EE. Contenidos Análisis y Diseño 1 Implementación 2 J2EE 3 Pruebas 4.
Enterprise JavaBeans Distributed Component Object Model
1. Introducción a los Sistemas de Internet Gestión de Sistemas en Internet Universidad Antonio de Nebrija 2003/04 Justo N. Hidalgo Sanz.
Luis Ponce Cabello.  Primera Parte : JSF  Segunda Parte : Facelets  Tercera Parte : Icefaces.
Daniel Fernández Lanvin Desacoplamiento de Capas.
Capítulo 12. Tecnología y herramientas. Ricardo García Mataix
Arquitecturas de Integración Mensajería
Primeras versiones Windows N.T Server 3.1, 3.5, 3.51, 4.0 Versiones mas actuales Windows Server 2000, 2003, Small Business, Home server, 2008, 2012.
Integrantes Miguel Betancourt Alexis Tacuri.  Activiti es una plataforma para la formación de flujos de trabajo y procesos empresariales dentro del.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Diccionario/Directorio de Datos
Temario Java 2 Enterprise Edition Arquitectura Especificación Servlets Contenedores Cookies Sesiones.
1.  Tomcat es un contenedor web basado en el lenguaje Java que actúa como motor de servlets y JSPs.  Se ha convertido en la implementación de referencia.
 Tres tipos de aplicaciones ◦ Aplicaciones Web Java ◦ Objetos distribuidos EJBs ◦ Aplicaciones Empresariales.
Servidores de Aplicaciones Java Víctor Orozco
Transcripción de la presentación:

JEE Introducción a Java Enterprise Edition (JEE) y el modelo Enterprise Java Beans (EJB)

Arquitecturas Multi-capas Presentación, lógica de negocios y datos bien separados Servlet JSP Servidor Presentación Lógica Negocios Java Applet HTML Cliente Aplicación Otros PDAs, etc Desktop Browser Web Server Enterprise Information Systems (EIS) DB Contenedor EJB Plataforma JEE

Aplicaciones multi-capas Client-Tier Clientes gráficos o de consola Clientes web / Applets Web-Tier Web server Business Tier Application Server Contenedor / Componentes EIS Tier Servidores Base de Datos Aplicaciones Legacy

Qué es JEE? JEE es un conjunto de tecnologías para el desarrollo de aplicaciones multi-capas Es una especificación que se implementa en Servidores de Aplicación. Las aplicaciones desarrolladas en JEE pueden ejecutarse en diferentes Servidores de Aplicación, sin modificar el código. Define la interacción y API entre diferentes servicios de base como Directorios, Transacciones, Bases de Datos, Mensajería y otros sistemas empresariales. Elimina la necesidad de codificar los servicios de base dentro de la aplicación: Facilita el desarrollo Reduce el tiempo de desarrollo Evita la introducción de errores por estos servicios

Objetivos de JEE Define una plataforma para construir aplicaciones Servidor portables Las aplicaciones pueden ser instaladas en diferentes Servidores de Aplicación sin cambiar el código. Todos los Servicios comunes se acceden de una forma estándar: Transacciones Seguridad Directorio Mensajería Persistencia Concurrencia Ciclo de Vida Antes, las aplicaciones tenian que manejar esto en su propio código o usar mecanismos propietarios. Estandariza la forma de empaquetar aplicaciones e instalarlas Uso de Java Archive (JAR), Web Archive (WAR), Enterprise Application Archive (EAR) y otros. Favorece la configuración externa por sobre el código Descriptores en XML favorecen el cambio sin recompilación de código (versiones 1 y 2) Anotaciones en código fuente (versión 3)

Tecnologías usadas EJB Servlets, JSP, tags, JSF JMS Java Transaction Java Mail JAX (SAX, DOM, XSLT) Web Services (SOAP, WSDL) JDBC, JCA Java Persistence JNDI Otras …

El Modelo de EJB Desarrollo rápido de lógica en el Servidor. Delega todos los Servicios de base fuera de la aplicación de negocios Distribución: invocación remota o local Manejo Transaccional Manejo de Concurrencia Persistencia Seguridad

Desarrollo rápido de lógica en el Servidor No hay necesidad de codificar cuestiones de bajo nivel, solo lógica de negocio: Sin administración de concurrencia, un solo thread de ejecución por componente Sin código SQL, la persistencia es automática Sin código transaccional, semántica declarativa por método Sin código de seguridad, semántica declarativa Sin código de comunicación remota (RMI) Sin código de directorio y publicación

Qué es un Contenedor? Es el servicio que administra Componentes (EJBs) dentro de un Servidor de Aplicación: Instalación y configuración Ciclo de vida: creación y destrucción de instancias en memoria Ejecución: el thread de ejecución lo asigna el contenedor Acceso: todo el acceso de los clientes es a travez del contenedor Provee acceso a los Servicios de Base Directorio, Seguridad, Transacciones, etc.

Consideraciones del uso de Contenedores El modelo de EJB sólo puede ejecutarse sobre un Contenedor Para ejecutarse dentro del Contenedor, los componentes deben respetar una interface determinada Siempre el acceso de los clientes a un componente es a través del Contenedor Indirección Un componente no puede acceder directamente a otro, sólo a través del Contenedor

Los 3 tipos de EJB Session Beans Entity Beans – Java Persistence API Provee acceso a Servicios de negocio para los clientes. Pueden ser stateless (sin estado interno, compartidos) o stateful (con estado interno, uno por cliente). No tienen estado persistente en la BD. Entity Beans – Java Persistence API Representan objetos persistentes del módelo de negocios. Empleado, Factura, Producto, Pedido, etc. Compartido entre diferentes clientes, con acceso sincronizado. Message Driven Beans (MDB) Beans de ejecución asincrónica. Invocados por un mensaje, no por una llamada a un método.

Session Beans Una representación de un cliente en el Servidor Clientes ejecutando lógica de negocios. Pueden ser stateless o stateful Los Stateless beans no tienen un “conversación” abierta con el Servidor, ejecutan y terminan. Los Stateful beans mantienen la “conversación” (estado) del cliente en el Servidor. No tienen acceso compartido, pertenecen a un solo cliente por ejecución El acceso es sincronizado. Dos clientes no pueden llamar a la misma instancia de bean simultaneamente. No sobreviven una caída del Servidor Su estado solo se mantiene en memoria Pueden ser accedidos en forma remota o local

Stateless Session Beans Ejecutan el pedido de un cliente por vez. Ejecutan lógica que no mantiene estado entre invocaciones. Cuando un Stateless bean termina de servir a un cliente, puede atender el pedido de otro cliente Ej: AdministradorProductos.getPrecioProducto(codigo) No necesita más de una llamada para ejecutar su lógica Los Stateless beans son más escalables No mantienen estado del cliente, no consumen mucha memoria Se puede usar un poolvarias instancias reusadas entre muchos clientes 10 instancias pueden servir a 1000 clientes.

Stateful Session Beans Mantienen la conversación (estado) del cliente entre invocaciones y durante el tiempo. Son asignados a un cliente en particular No se puede reusar la instancia entre llamadas y clientes. Ej: CarritoCompra.sumarProducto(codigo) Necesita mantener todos los productos en memoria hasta ir a la caja y completar el pedido. Mayores posibilidades para lógica Se puede aplicar lógica interactiva (entre llamadas). Pasivación por el Contenedor El Contenedor puede “pasivar” las instancias no usadas a disco para liberar memoria. Los Stateful beans son menos escalables Mantienen estado del cliente, consumen más memoria.

Entity Beans – Java Persistence API Representan datos persistentes Se mantienen en almacenamiento persistente con un identificador (PK) El estado se persiste en la BD, por lo que sobreviven una caída del Servidor No están necesariamente asociados a un cliente Son compartidos entre diferentes clientes, con acceso sincronizado Existen independientemente de cualquier usuario y/o sesión Soportan lenguajes de consulta Para ubicar una instancia o varias

Descriptores Archivo XML Contiene información de configuración para el bean. Es estándar y funciona en cualquier Servidor de Aplicación. Se pueden hacer muchos cambios en este archivo, sin modificar y recompilar el código del componente. Opcional Se puede usar para complementar o reemplazar las anotaciones de la clase. Se pueden definir varios beans en el mismo descriptor. Incluye información de configuración como: Tipo de bean (session/entity). Nombres de las clases que implementan el componente. Nombres de las interfaces que publica el componente. Propiedades de entorno. Manejo Transaccional y de Seguridad.

Descriptores de Aplicaciones JEE ejb-jar.xml Describe EJBs. Información estructural del Bean. web.xml Describe componentes Web. Informacion de mapeo de URLs, Seguridad, etc. application.xml Describe la composición de modulos JEE. Informacion de ensamblado de la aplicación.

Empaquetado de Aplicaciones JEE app.ear classes META-INF application.xml app.war app.jar index. html Servlet1.class ejb-jar.xml vendor.xml Servlet2.class EJB1.class EJB2.class support.jar WEB-INF web.xml file.jsp lib

Referencia “The JEE Tutorial” java.sun.com