Download SEMINARIO DE PROGRAMACION WEB (TECNOLOGIA JAVA)
Document related concepts
no text concepts found
Transcript
J2EE Enterprise JavaBeans Arquitectura Web en Aplicaciones Empresariales Java/J2EE www.dflanvin.com/docencia/arquitectura EJBs: Introducción Tecnología por excelencia para el desarrollo de componentes en la parte servidora con la plataforma J2EE Deben de conformar a la especificación de J2EE y sólo se pueden ejecutar en un contenedor de EJBs Última especificación EJB 2.1 disponible en: http://java.sun.com/products/ejb/docs.html Los contenedores de EJBs son lo que hacen a esta tecnología tan atractiva, ya que ofrecen soporte para: Transacciones Seguridad Persistencia Arquitectura Web en Aplicaciones Empresariales Java/J2EE www.dflanvin.com/docencia/arquitectura Beneficios de EJBs Aplicaciones basadas en EJBs son difíciles de desarrollar (tecnología difícil de asimilar), sin embargo: Aplicaciones basadas en EJBs nos permiten concentrarnos en la lógica de negocio, sin preocuparnos de transacciones y connection pooling provista por contenedor Los EJBs son componentes REUTILIZACIÓN Clara separación entre desarrollo, explotación y administración de una aplicación EJB El contenedor de EJBs gestiona transacciones, detalles de manejo de estado, multi-threading, connection pooling, seguridad y otros detalles de bajo nivel que el desarrollador no necesita conocer. Arquitectura Web en Aplicaciones Empresariales Java/J2EE www.dflanvin.com/docencia/arquitectura Puesto de EJB container en una aplicación de empresa Web Container Browser Web Application EJB Container Enterprise Bean Database Arquitectura Web en Aplicaciones Empresariales Java/J2EE www.dflanvin.com/docencia/arquitectura La gran pregunta: ¿Cuando usar EJBs? No siempre, para simples aplicaciones web con servlets y JSPs sobra. Son una posible solución para alta disponibilidad y escalabilidad. Cuando el sistema debe manejar transacciones distribuidas Arquitectura Web en Aplicaciones Empresariales Java/J2EE www.dflanvin.com/docencia/arquitectura Categorías de EJBs 3 tipos de Enterprise JavaBeans: Entity Beans: representan entidades de negocio y proveen acceso a datos a través de métodos. Se basan en la idea del mapeo objeto/relacional Session Beans: pensados para modelar procesos de negocio que son accedidos de manera síncrona Message-driven Beans: pensados para modelar procesos de negocio que son accedidos de manera asíncrona, permiten el uso de JMS desde EJBs Arquitectura Web en Aplicaciones Empresariales Java/J2EE www.dflanvin.com/docencia/arquitectura Entity EJBs Dos tipos: BMP (Bean Managed Persistence) Se delega en el desarrollador las tareas de persistir, buscar y recuperar las entidades. CPM (Container Managed Persistence) La persistencia la gestiona el contenedor de forma que el desarrollador no se preocupa de las sentencias SQL de inserción, recuperación, etc. Un Entity EJB representa en cada momento a una entidad en base de datos. Muy académicos Presentan problemas de rendimiento. Arquitectura Web en Aplicaciones Empresariales Java/J2EE www.dflanvin.com/docencia/arquitectura Session EJBs Dos tipos: Stateful (Con estado) El contenedor garantiza el mantenimiento del estado del componente entre distintas invocaciones (se serializan y deserializan) Stateless (Sin estado) El contenedor de EJBs no garantiza que un mismo EJB guarde su estado entre dos invocaciones del mismo cliente. Son “pooleables” y más ligeros que los Stateful Arquitectura Web en Aplicaciones Empresariales Java/J2EE www.dflanvin.com/docencia/arquitectura Message Driven Beans Incorporados en la especificación 2.0. Pensados para mensajería asíncrona. Funcionan sobre JMS (manejo de colas de mensajes, publish & subscribe/p2p, etc.) Interesantes para integración de sistemas. Arquitectura Web en Aplicaciones Empresariales Java/J2EE www.dflanvin.com/docencia/arquitectura Contenedores de EJBs JBoss: http://www.jboss.org Contenedor más popular en el mundo y open source Download: http://prdownloads.sourceforge.net/jboss/jboss3.2.3.zip?download Documentación: http://www.jboss.org/modules/html/docs/jbossj2 ee.pdf Otros muy conocidos y muy usados comercialmente: Bea WebLogic, IBM Websphere o Oracle9i Arquitectura Web en Aplicaciones Empresariales Java/J2EE www.dflanvin.com/docencia/arquitectura Referencias • • • • www.javasoft.com www.theserverside.com Transparencias de Diego López de Ipiña: http://paginaspersonales.deusto.es/ dipina Java Server Programming J2EE Edition (Wrox) Arquitectura Web en Aplicaciones Empresariales Java/J2EE www.dflanvin.com/docencia/arquitectura