Objetivos del tema Propiedades de las aplicaciones empresariales El Modelo Cliente/Servidor Presentar la Plataforma Java Presentar Java EE y otras tecnologías horizontales Tema 1. Introducción a Java EE 1. Plataforma para desarrollo de Aplicaciones Empresariales Alternativas 2. Tecnología Java 3. Java Platform, Enterprise Edition Objetivos del tema Propiedades de las aplicaciones empresariales El Modelo Cliente/Servidor Presentar la Plataforma Java Presentar Java EE y otras tecnologías horizontales Tema 1. Introducción a Java EE 1. Plataforma para desarrollo de Aplicaciones Empresariales Alternativas 2. Tecnología Java 3. Java Platform, Enterprise Edition 1
Plataforma para desarrollo de Aplicaciones Empresariales Características: Heterogénea: Debe permitir múltiples plataformas, sistemas operativos y lenguajes de desarrollo. Fiable: Tiene que dar la confianza de que cumplirá su cometido. Segura: Debe controlar el acceso, la autorización y el transporte Robusta: Debe ser tolerante a fallos. Escalable: Tiene que facilitar la ampliación y modificación necesarias Alta disponibilidad: Debe ser fácil su adquisición, formación y actualización. Fácil mantenimiento: Debe ser fácil mantener el sistema mediante la actualización de sus componentes. Plataforma para desarrollo de Aplicaciones Empresariales Alternativas: CORBA (Common Object Request Broker Architecture ).NET (dot NET) Java Platform, Enterprise Edition (Java EE) 2
Plataforma para desarrollo de Aplicaciones Empresariales CORBA Ventajas Soporta múltiples plataformas y lenguajes de programación Dispone de una gran cantidad de servicios Definida por un organismo serio e independiente Inconvenientes Complejidad en el desarrollo Lentitud para adaptarse (burocracia) Pocas implementaciones libres Plataforma para desarrollo de Aplicaciones Empresariales.NET Ventajas Soporta múltiples lenguajes de programación Fácil proceso de desarrollo (Visual Studio.NET) Entorno Windows muy extendido Buen marketing Inconvenientes Exclusiva del sistema operativo Windows Propia de Microsoft Casi ninguna implementación libre 3
Plataforma para desarrollo de Aplicaciones Empresariales Java EE Ventajas Soporte para múltiples plataformas y sistemas operativos Avalado por múltiples empresas (SUN, IBM, ORACLE, etc) Competitividad Soluciones libres Inconvenientes Exclusivo para lenguaje Java Complejidad relativa en el desarrollo de aplicaciones No existe un entorno de desarrollo fijo Plataforma para desarrollo de Aplicaciones Empresariales Modelo Lógico: capas (layers) Gestor de Presentación (presentation manager): Muestra la interface de usuario. Lógica de Presentación (presentation logic): Establece que se debe mostrar al usuario. Lógica de la Aplicación (appplication logic): Funcionalidad de la aplicación. Lógica del Negocio (business logic): Funcionalidad de la empresa, común para todas las aplicaciones. Lógica de los (data logic): Definición lógica de los datos (tablas, vistas, tipos de datos, claves, etc.) Gestor de (data manager): Encargada de escribir y acceder a la base de datos. 4
Plataforma para desarrollo de Aplicaciones Empresariales Modelo Físico: capas (tiers) 1 capa (1-tier): Sistema Monolítico (No es realmente una aplicación C/S) BD Plataforma para desarrollo de Aplicaciones Empresariales Modelo Físico: capas (tiers) 2 capas (2-tiers): Cliente/Servidor tradicional BD 5
Plataforma para desarrollo de Aplicaciones Empresariales Modelo Físico: capas (tiers) 3 capas (3-tiers): Cliente Lógica Negocio BD Plataforma para desarrollo de Aplicaciones Empresariales Modelo Físico: capas (tiers) n capas (n-tiers): BD 6
Plataforma para desarrollo de Aplicaciones Empresariales. Tendencias Actuales Modelo de 3 capas Basado en Objetos Clientes: Aplicaciones propias Lógica de Negocio y de : Objetos distribuidos Basado en la WEB Clientes: Navegadores (browsers) Lógica de Negocio y de : Generación dinámica de contenidos en lenguaje HTML, XML, xhtml. Objetivos del tema Propiedades de las aplicaciones empresariales El Modelo Cliente/Servidor Presentar la Plataforma Java Presentar Java EE y otras tecnologías horizontales Tema 1. Introducción a Java EE 1. Plataforma para desarrollo de Aplicaciones Empresariales Alternativas 2. Tecnología Java 3. Java Platform, Enterprise Edition 7
Tecnología Java 1995: SUN libera un lenguaje Orientado a Objetos similar a C/C+, denominado Java. El producto se conocía como Java Development Kit (JDK). Las versiones 0.1, 1.0 y 1.1 1998: Se produce una actualización importante en el producto (versión 1.2), pasando el JDK a denominarse Java 2, Standard Edition (J2SE). Últimas versiones 1.3 y 1.4 Se introduce la arquitectura Java 2, Enterprise Edition (J2EE), para desarrollo de aplicaciones empresariales. Versiones 1.3 y 1.4 Se introduce el API Java 2, Micro Edition (J2ME), para el desarrollo de aplicaciones de dispositivos móviles. Actualmente: Estándar: J2SE 5.0 y (beta) Java SE 6 Empresarial. J2EE 1.4 y (beta) Java EE 5 Objetivos del tema Propiedades de las aplicaciones empresariales El Modelo Cliente/Servidor Presentar la Plataforma Java Presentar Java EE y otras tecnologías horizontales Tema 1. Introducción a Java EE 1. Plataforma para desarrollo de Aplicaciones Empresariales Alternativas 2. Tecnología Java 3. Java Platform, Enterprise Edition 8
Java Platform, Entreprise Edition Qué es Java EE? Java Platform, Enterprise Edition (antes J2EE, ahora Java EE) es un estándar para el desarrollo de aplicaciones empresariales (portables, robustas, escalables y seguras) usando tecnología Java. Java EE es una especificación, no un producto. Los productos que cumplen con la especificación son realizados por terceras empresas u organizaciones. SUN libera en el Java EE: Especificaciones de cada tecnología incluida. Test de compatibilidad (Compatibility Test Suite) Implementación de referencia. Para desarrollo de aplicaciones, pero de uso no libre. (Sun Java System Application Server Platform Edition..) Java Platform, Entreprise Edition Tecnologías Enterprise JavaBeans (EJB). Java Servlet JavaServer Page (JSP) JavaServer Pages Standard Tag Library (JSTL). JavaServer Faces Java Message Service (JMS). Java Transaction API (JTA). JavaMail API y JavaBeans Activation Framework (JAF). Tecnologías XML (JAXP, JAX-RPC, JAX-WS, JAXB, SAAJ, JAXR) JDBC API Java Naming and Directory Interface (JNDI) Java Authentication and Authorization Service (JAAS) 9
Java Platform, Entreprise Edition Java Platform, Entreprise Edition: Modelo 10
Java Platform, Entreprise Edition Modelo basado en la WEB HTTP Servlets JDBC Petición EJB JDBC Clientes Respuesta HTTP XML xhtml JSP JDBC Java Platform, Entreprise Edition Arquitectura JSP Model 1 HTTP Petición JDBC JSP Java Beans Respuesta Clientes HTTP XML xhtml 11
Java Platform, Entreprise Edition Arquitectura JSP Model 2: Model-View-Controller (MVC) HTTP Petición Servlets Controller Clientes Respuesta JSP View Java Beans Model JDBC HTTP XML xhtml 12