Está en la página 1de 38

Programacion de Aplicaciones Web

La plataforma J2EE

Profesor: Ing Msc. Eddy MirandaV.


1

Computacion Empresarial
Retos
Portability
Diverse
Environments
Time-to-market
Core Competence
Assembly
Integration

Tecnologias
Clave

Productos
App Servers

J2SE

Web Servers

J2EE

Components

JMS

Databases

Servlet

Object to DB
tools

JSP
Connector
XML
Data
Binding
XSLT

Legacy
Systems
Databases
TP Monitors
EIS Systems
2

Que es J2EE?
Plataforma estandar y abierta para
desarrollar, implantar y manejar
Aplicaciones empresariales de ncapas, basada en Web, servercentricas, y basadas en componentes

La Plataforma Java

Java Technology
Enabled Devices

Java Technology
Enabled Desktop

Workgroup
Server

High-End
Server

La Plataforma JavaTM
Java 2 Platform Micro Edition
(J2METM)

Optional
Packages
Optional
Packages

Java 2
Enterprise
Edition
(J2EE)

Java 2
Standard
Edition
(J2SE)

Personal
Basis Profile

Personal
Profile

Foundation Profile
CDC

JVM

MIDP
CLDC
KVM

* Under development in JCP

Java
Card
APIs
CardVM

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

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

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

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
9

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
10

Dos-Capas(Cliente Servidor)
SQL request

Database

SQL response

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

11

Cliente-Servidor(Two-Tier)

Pros:
-

Independencia de la BD (comparado con el model monocapa)

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.
12

Tres Capas (Web Server)


HTML request
HTML response

WEB
Server

SQL
request

Database

SQL
response

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)
13

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
14

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.
15

Multi-tier
Simple capa

No hay separacion
entre la
presentacion, la
logica de negocios y
la base de datos
Dificil de mantener

Multi-capa

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
16

Object-based
Monolitico

Un archivo binario
Recompilado,
reenlazado,
reimplantado cada
vez que existe un
cambio

Basado en Objetos

Partes conectables
Reusable
Permiten mejor
diseno
Facil de Actualizar
La implementation
puede ser
separada de la
interface
17

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


18

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
19

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
20

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

21

22

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

23

Servlet vs. CGI


Request
RequestCGI1
CGI1
Request
RequestCGI2
CGI2
Request
RequestCGI1
CGI1
Request
RequestServlet1
Servlet1
Request
RequestServlet2
Servlet2
Request Servlet1

Child
Childfor
forCGI1
CGI1

CGI
CGI
Based
Based
Webserver
Webserver

Child
Childfor
forCGI2
CGI2
Child
Childfor
forCGI1
CGI1

Servlet
Servlet Based
Based Webserver
Webserver
JVM
JVM

Servlet1
Servlet1
Servlet2
Servlet2

24

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
25

26

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,

27

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


28

Arquitectura EJB

29

Enterprise JavaBeans
Enterprise JavaBeans

Synchronous communication
Session Bean

Stateless

Entity Bean

Asynchronous communication
Message-Driven Bean

Stateful

Bean managed
Persistence
(BMP)

Container managed
Persistence
(CMP)

30

J2EE Arquitectura de N-Capas

31

32

J2EE Containers & Components


Web Container

JavaMail
JAF

JDBC

JTA

JAF

JMS

JavaMail

JNDI

JTA

JMS

App Client
Container
App
HTTP/
HTTPS
Client

JNDI

J2SE

EJB

RMI

RMI/IIOP

Servlet

JSP

JDBC

HTTP/
HTTPS

Applet

EJB Container

RMI/IIOP

Applet Container

J2SE

J2SE

JDBC

RMI/IIOP

JMS

JNDI

RMI

J2SE

Database
33

Containers
Manejan

Concurrencia
Securidad
Disponibilidad
Escalabilidad
Persistencias
Transaccion
Ciclo de Vida

Components
Manejan

Presentacion
Logica del Negocio

34

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

35

Anatomia de una Aplicacion J2EE


Web Server

EJB Server
DB & EIS
Resources

Browser

Web Server

EJB Server

Stand-alone

36

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

37

Resumen

J2EE es la plataforma de eleccion


para el desarrollo e implantancion de
aplicaciones empresariales basada en
y componentes
J2EE esta basada en una arquitectura
estandar
J2EE es abierta
J2EE evoluciona de acuerdo a las
necesidades de la industria.
38

También podría gustarte