la plataforma j2ee
DESCRIPTION
La Plataforma J2EE para programación de aplicaciones web.TRANSCRIPT
2
Retos Portability Diverse Environments Time-to-market Core Competence Assembly Integration
Tecnologias Clave
J2SE™
J2EE™
JMS Servlet JSP Connector
XML Data Binding XSLT
Productos App Servers Web Servers Components Databases Object to DB tools
Legacy Systems
Databases TP Monitors EIS Systems
Computacion Empresarial
3
Que es J2EE?
Plataforma estandar y abierta para desarrollar, implantar y manejar Aplicaciones empresariales de n-
capas, basada en Web, server-centricas, y basadas en componentes
4
La Plataforma Java™
High-End Server
Java Technology Enabled Desktop
Workgroup Server
Java Technology Enabled Devices
5
La Plataforma JavaTM
Optional Packages
Java 2 Enterprise
Edition (J2EE)
Java 2 Standard Edition (J2SE)
JVM
Java Card APIs
CardVM
Optional Packages
Personal Basis Profile
Personal Profile
Foundation Profile
CDC
MIDP
CLDC
KVM
Java 2 Platform Micro Edition (J2METM)
* Under development in JCP
6
Que partes componen J2EE? API y especificaciones Tecnologicas Plataforma de desarrollo e Implantacion Implementacion Estanda y con calidad de
produccion - Sun Java System App Server Platform Edition
8.1 as part of J2EE 1.4 SDK
Suit de Compatibilidad de Prueba (CTS) J2EE TM J2EE casos de estudio Ejemplos
7
Evolucion de Marco de la Aplicaciones Empresariales Monocapa Cliente-Servidor(Two tier) Tres Capas - Basados en RPC - RMI(Basados en Objetos Remotos)
Tres Capas (HTML browser and Web server)
Servidor de Aplicaciones Proprietario Servidor de Aplicaciones Estandar
8
Aplicaciones Empresariales Elementos de una Aplicacion
Empresarial - Logica de Presentation - Logica del Negocio - Logica de acceso a Datos (y modelo de datos) - Servicios del System
9
Mono-capa (basadas en mainframes)
Los terminales tontos se conectan directamente al mainframe
Modelo Centralizado La presentacion, logica del negocio y el
acceso a la data estan juntas una sola aplicacion en el mainframe
10
Mono-Capa: Pros & Cons Pros: - No se require de manejo alguno desde el lado
del cliente - Se logra facilmente la consistencia de datos
Cons: - La funcionalidad de la presentation, modelo
de datos y logica del negocio) estan entrelazados lo cual dificulta la escalbilidadd y el mantenimiento de la aplicacion
11
Dos-Capas(Cliente Servidor)
Clientes Gordos interactuando con la base de datos(back-end) - Envian sentencias SQL ,retorna datos
simples
La Presentacion,La Logica de Negocio y el modelo de procesamiento de datos residen en la aplicacion cliente
Database
SQL response
SQL request
12
Cliente-Servidor(Two-Tier)
Pros: - Independencia de la BD (comparado con el model mono-
capa)
Cons: - Presentacion, modelo de datos , logica del negocio estan en el lado
del cliente, difficultad para actualizaciones y mantenimieto - EL model de Datos esta estrechamente asociado a cada cliente si el
schema de la BD cambio todos los clientes se quiebran - Las actualizaciones deben ser implantada a todos lo cliente
haciendo el mantenimiento del sistema una pesadilla - La conexion con la BD debe hacerse para cada cliente lo cual
dificulta la escalabilidad - Los datos primitivos transferidos al cliente con el proposito de
procesamiento causa un alto trafico en la red.
13
Tres Capas (Web Server)
El Browser maneja la logica de presentation El Browser interactua con el Web server via
el protocolo HTTP La logica del Negocio y el modelo de datos
son manejados por tecnologias de “generacion dinamica de contenidos” (CGI, Servlet/JSP, ASP)
Database SQL request
SQL response
HTML response
WEB Server
HTML request
14
Tres Capas (Web Server based): Pros & Cons Pro: - Tipos de clientes ubicuos - Zero Manejo del cliente - Suporta varios aparatos clientes
J2ME-enabled cell-phones
Cons: - La Complejidad en la capa intermedia todavia
debe ser manejada
15
Tendencias Cambiar de aplicaciones de una o dos
capas a una arquitectura multicapas Cambiar del modelo monolitico a un
modelo basado en objetos Cambiar del modelo del cliente basado
en una aplicacion a un modelo de cliente basado en HTML.
16
Multi-capa
Multi-tier
No hay separacion entre la presentacion, la logica de negocios y la base de datos
Dificil de mantener
Separacion entre la presentacion,la logica de negocio y l a base de datos
Es mas flexible de cambiar i.e. la presentacion puede cambiar sin afectar las otras capas
Simple capa
17
Basado en Objetos
Object-based
Un archivo binario Recompilado,
reenlazado, reimplantado cada vez que existe un cambio
Partes conectables Reusable Permiten mejor
diseno Facil de Actualizar La implementation
puede ser separada de la interface
Monolitico
18
Problemas remarcables & Solucion Complejidad existente en la capa intermedia Sistema de servicio duplicados se necesitan
para la mayoria de la aplicaciones empresariales - Control de la concurrencia , Transacciones - Balance de la Carga, Seguridad - Manejo de recursos
Solucion - Compartir un container comun que maneja los
servicios del sistema ya mencionados - Proprietaria versus Abierta-Estandar
19
Solucion Propietaria Usa el modelo "componente y container" - Los componentes capturan la logica del
negocio - El Container proporciona los servicios del
sistema El contrato entre los componentes y el
container esta bien definida pero de manera propietaria
Problema con la solucion propietaria: Dependencia del Vendedor l
Ejemplos: Tuxedo, .NET
20
Solucion Abierta y Estandar
Tambien usa el modelo"componentes y container" en el cual el container proporciona servicios de sistema en un bien definida y como un estandar industrial
J2EE es este estandar y proporciona portabilidad del codigo porque esta basado en la tecnologia Java y el los APIS estandares de Java
21
J2EE 1.4 APIs y Tecnologias
J2SE 1.5 (improved) JAX-RPC (new) Web Service for
J2EE J2EE Management J2EE Deployment JMX 1.1 JMS 1.1 JTA 1.0
Servlet 2.4 JSP 2.0 EJB 2.1 JAXR Connector 1.5 JACC JAXP 1.2 JavaMail 1.3 JAF 1.0
23
Que es un Servlet?
Objetos de Java™ que extienden la funcionalidad de un servidor HTTP
Generacion de Contenido Dinamico Mejor alternativa que CGI, NSAPI,
ISAPI, etc. - Eficiente - Platforma and servidor independientes - Manejo de Sesiones - Java-based
24
Servlet vs. CGI
CGI Based
Webserver
CGI Based
Webserver
Request CGI1 Child for CGI1
CGI Based
Webserver
Servlet Based Webserver
JVM
Request CGI1 Child for CGI1
Request Servlet1
CGI Based
Webserver
Servlet Based Webserver
JVM Servlet1
Request CGI1 Child for CGI1
Request CGI2
Request Servlet1
CGI Based
Webserver Child for CGI2
Servlet Based Webserver
JVM Servlet1
Request CGI1 Child for CGI1
Request CGI2
Request Servlet1
Request Servlet2
CGI Based
Webserver Child for CGI2
Servlet Based Webserver
JVM Servlet1
Servlet2
Request CGI1 Child for CGI1
Request CGI2
Request CGI1
Request Servlet1
Request Servlet2
CGI Based
Webserver Child for CGI2
Child for CGI1
Servlet Based Webserver
JVM Servlet1
Servlet2
Request CGI1 Child for CGI1
Request CGI2
Request CGI1
Request Servlet1
Request Servlet2
Request Servlet1
CGI Based
Webserver Child for CGI2
Child for CGI1
Servlet Based Webserver
JVM Servlet1
Servlet2
Request CGI1 Child for CGI1
25
Que es la Tecnologia JSP ? Permite la separacion de la logica de
negocio de la presentacion - Presentacion se realiza en formade HTML o
XML/XSLT - La logica de negocio es implementada como
Java Beans or custom tags - Mejor mantenibilidad y reusabilidad
Extensible via custom tags Construida sobre la tecnologia Servlet
27
Que es la Tecnologia EJB ? Una tecnologia de componentes para
el lado del servidor Aplicacion basada en Java de facil
desarrollo e implantacion que es: - Transaccional, distribuida, multi-capa,
portable, escalable, segura, …
28
Porque la tecnologia EJB ? Libera los beneficios del modelo de
componentes-model en el lado del servidor Separa la logica del negocio del codigo del
sistema - El Container proporciona servicios de sistema
Proporciona un marco para componentes portables - Para diferentes servidores J2EE-compatibles
30
Enterprise JavaBeans Enterprise JavaBeans
Entity Bean Message-Driven Bean
Synchronous communication Asynchronous communication
Stateless Stateful
Bean managed Persistence
(BMP)
Container managed Persistence
(CMP)
Session Bean
33
JND
I
J2SE
JMS
RM
I/IIO
P
JDB
C
Database
App Client
App Client Container
HTTP/ HTTPS
J2SE
RMI
J2SE JN
DI
JMS
RM
I/IIO
P
JDB
C
JTA JavaMail
JAF JND
I
JMS
RM
I/IIO
P
JDB
C
JTA JavaMail
JAF
HTTP/ HTTPS
Applet Container
Applet JSP Servlet EJB
Web Container EJB Container
RMI
J2SE
J2EE Containers & Components
34
Components Manejan
Concurrencia Securidad Disponibilidad Escalabilidad Persistencias Transaccion Ciclo de Vida
Presentacion Logica del Negocio
Containers Manejan
35
Containers & Components
Containers hacen su trabajo invisiblemente – No son APIs complicados – Se controlan por interposicion
Containers que implementa J2EE – Mira a los mismos componentes – Los Vendedores que hacen los containers
tienen gran libertad para innovar
36
DB & EIS Resources
Browser
Stand-alone
Web Server EJB Server
Web Server EJB Server
Anatomia de una Aplicacion J2EE
37
Productos Compatibles para la Plataforma J2EE (TM) ATG Bea Systems Borland Computer
Associates Fujitsu Hitachi HP IBM IONA
GlassFish Macromedia NEC Oracle Pramati SilverStream Sybase Talarian Trifork