Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
T)
Objetivos didcticos
Conocer qu se entiende por una aplicacin empresarial basada en componentes
Qu requisitos la diferencian de una tradicional Qu diferencias existen entre la programacin componentes y la tradicional basada en objetos basada en
Conocer las principales arquitecturas utilizadas a la hora de construir este tipo de sistemas, as como sus pros y contras
Cliente/Servidor, aplicaciones multi-capa tradicional, MVC y servidor de
ndice (1/2)
Bloque I: Introduccin
Escenario para el que se define J2EE Requisitos de las aplicaciones empresariales Programacin basada en componentes v.s programacin O-O Relacin entre componentes, modelos y entornos de ejecucin
ndice (2/2)
Bloque III: El servidor de aplicaciones
Servidor de aplicaciones: claves Elementos constitutivos de un servidor de aplicaciones Arquitectura de una aplicacin J2EE
Enterprise Java Beans Tipos de componentes en J2EE Tipos de contenedores Servicios J2EE Evolucin y historia de J2EE Elementos de la especificacin J2EE
Modelo negocio
Modelo componente
Aplicacin
Cada nivel cubre un rea de tareas y puede estar compuesto de una o varias partes La divisin en niveles es una abstraccin lgica
Arquitecturas cliente/servidor
Reparto funcional y fsico de la aplicacin en dos niveles
Elementos de un programa clsico: lgica de ejecucin, preparacin y presentacin de informacin, interaccin con el usuario
Cliente y servidor estn dbilmente acoplados y se comunican solamente mediante mensajes La solicitud de servicio (iniciacin de la comunicacin) proviene siempre del cliente. El servidor reacciona mediante una respuesta Gran parte de la aplicacin corre en el lado del cliente (Fat Client) modelo descentralizado
Arquitecturas cliente/servidor
Nivel Cliente Cliente Fat client Nivel Servidor
Servidor
Lgica de negocio
Datos
Costosa distribucin y actualizacin del software (cientos o miles de clientes) El diseador de la aplicacin precisa un conocimiento profundo de muchas reas crticas
Control de transacciones Modelo de seguridad Acceso a datos eficiente
Software de Comunicaciones I.T.T.T. Arquitecturas empresariales y Java EE Pg. 14
Cada nivel comunica slo con los niveles contiguos a travs de interfaces claramente definidas
Servidor
Datos Servicios
Datos
El problema de la web
Muchas arquitecturas han definido protocolos propietarios que son difciles de compaginar con los requisitos de la Web. Aunque ha habido soluciones particulares a este problema, mediante nuevos mdulos, an persisten el resto de problemas descritos.
SAP/R3 server
DBMS server
Servidor Web
Servidor Aplicacin
Cliente Web
Servlets, JSP
HTTP
RMI-IIOP JDBC
JCA
Web Container
EJB Container
JDBC
Los elementos constitutivos del servidor de aplicaciones se denominan tambin componentes y pueden instalarse y administrase de forma independiente Tareas de infraestructura:
Instanciacin de componentes Comunicacin Sincronizacin de acceso concurrentes Preparacin de un entorno seguro Disponibilidad Seguridad de transacciones
Software de Comunicaciones I.T.T.T. Arquitecturas empresariales y Java EE Pg. 25
Servicio de transacciones
Pooling conexiones
Seguridad
EJB
Nivel EIS
Bases de datos
EJB Container
Sistemas ERP
Enterprise JavaBeans
Enterprise JavaBeans (EJB) es una completa especificacin de arquitectura para componentes de servicio Permite el desarrollo en Java de aplicaciones multi-nivel, basadas en componentes y orientadas a transacciones, que se apoyan en servidores de aplicacin y otros productos middleware Objetivos de la arquitectura de componentes EJB:
Facilitar el desarrollo de aplicaciones, concentrndose en la lgica de negocio: desarrollo, aplicacin y aspectos de tiempo de ejecucin Independencia del proveedor de componentes mediante la especificacin de interfaces Independencia de la plataforma gracias al principio: Write Once Run Anywhere (WORA) y a su realizacin en Java Compatibilidad con Java-APIs existentes, con sistemas de servidor de terceros y con protocolos CORBA
Applets
Enterprise JavaBeans
Aplicacin J2EE
Containers (contenedores)
Ofrecen el entorno de ejecucin para todos los componentes de aplicacin Proporcionan una vista uniforme de los servicios solicitados en la especificacin Herramientas adicionales (Deployment Tools) para la instalacin y configuracin de componentes (tambin en tiempo de ejecucin) Las tareas principales de los componentes del lado del servidor son la gestin de recursos y del ciclo de vida
Applet Container Servlet/JSP Container
JSP Tools Applets Servlet Engine
JSP: JSP: JSP:
EJB Container
Enterprise JavaBeans
Servicios J2EE
Servicio de nombres: acceso a componentes y recursos mediante nombres lgicos
portabilidad y mantenibilidad Java Naming and Directory Interface (JNDI)
Servicios J2EE
Persistencia: almacenamiento persistente de objetos y estados de objetos, normalmente realizado en bases de datos relacionales
JDBC
Comunicacin: distintas tcnicas de comunicacin, proporcionadas por el proveedor de servicio de aplicacin o de containers
Comunicaciones Web: TCP/IP, UDP/IP, HTTP 1.0 y HTTPS (con SSL adicionalmente) Procesado de objetos distribuidos: RMI (Remote Method Invocation), basado en Java Remote Method Protocol (JRMP). Extensin a RMI que soporta adems el protocolo CORBA-IIOP para interoperabilidad entre J2EE y sistemas CORBA.
Servicios de configuracin y administracin: empaquetamiento, instalacin y configuracin flexible de componentes y la administracin de aplicaciones
descripcin mediante esquemas XML de las caractersticas de servidores, containers, aplicaciones, componentes y servicios.
Software de Comunicaciones I.T.T.T. Arquitecturas empresariales y Java EE Pg. 32
2006: Aparece la especificacin Java EE 5.0, desarrollada bajo el JSR 244. Cambia la denominacin de la tecnologa: de J2EE a JEE 2009: Aparece Java EE 6.0
Software de Comunicaciones I.T.T.T. Arquitecturas empresariales y Java EE Pg. 33