View
224
Download
0
Category
Preview:
Citation preview
Introducción al Desarrollo de Aplicaciones Empresariales
Definición • Java 2 Enterprise Edition: plataforma de
desarrollo de aplicaciones para empresas, basado en EJBs.
• EJB (Enterprise Java Beans): especificación de componentes server-side.
• Nos permite escribir aplicaciones distribuidas escalables, fiables y seguras, sin tener que escribir el framework de objetos distribuidos uno mismo; ya se ha escrito para nosotros.
25/0
9/2
013
In
g. Y
im A
pes
tegui
F
2
Elementos • Java (J2SE)
• EJB 1.0, 1.1
• JDBC (Java Database Connectivity) 2.0
• JTA (Java Transaction Service) 1.0.
• CORBA.
• RMI/IIOP.
• Java Servlets 2.2
• JSP (Java Server Pages) 1.1
• JNDI 1.2
• JavaMail 1.1
• JMS (Java Messaging Service) 1.0: API.
• XML
25/0
9/2
013
In
g. Y
im A
pes
tegui
F
3
25/0
9/2
013
In
g. Y
im A
pes
tegui
F
4
Recordando… ¿Qué es un componente? • Es código que implementa un conjunto de interfaces
perfectamente bien definidas.
• No son aplicaciones enteras, sino piezas de puzzle.
• Para qué: • No se requiere tanta experiencia: caja negra.
• Ensamblado más rápido (gráfico...)
• Coste menor.
25/0
9/2
013
In
g. Y
im A
pes
tegui
F
5
Arquitectura de componentes
• Herramientas de creación.
• Contenedor de gestión de componentes desplegados (deployed): entorno runtime y conjunto de servicios comunes.
• Herramientas de despliegue y mantenimiento de componentes.
25/0
9/2
013
In
g. Y
im A
pes
tegui
F
6
Componentes en Java 1. Java Beans: son componentes de desarrollo.
2. EJBs: son componentes de despliegue.
1. Applets: desplegados en una web page, con el appletviewer como contenedor.
2. Servlets: desplegados en un web server, con el servlet engine del ws como contendor.
3. EJBs: desplegados en el application server, con el motor del servidor como contenedor.
Los dos primeros son client-side. El tercero es server-side.
25/0
9/2
013
In
g. Y
im A
pes
tegui
F
7
Arquitectura N-tier • Arquitectura en dos capas.
• En tres capas: • Capa de presentación.
• Capa de lógica de negocio.
• Capa de datos.
• En n capas: • Cuando la arquitectura 3-tier no tiene ninguna limitación física.
25/0
9/2
013
In
g. Y
im A
pes
tegui
F
8
Problemas de la 2-tier • Capa de presentación + capa de lógica de negocio:
• Costes de desarrollo altos: los drivers ODBC, JDBC, han de ser instalados en ambas capas.
• El cambio del driver de la bd implica cambios en todos los clientes y servidores.
• Migración de la lógica de negocio es cara: implica reinstalaciones en todos los clientes.
• Costes de conexión a BBDD son altos (uno por cliente).
• Prestaciones de red.
• Capa de lógica de negocio + capa de datos • Stored procedures: ¿qué pasa si cambio la bd?
25/0
9/2
013
In
g. Y
im A
pes
tegui
F
9
1. Ubicación de capas: Presentación: en el espacio de uno o más servidores web, vía ASPs, JSPs, servlets, etc.
Lógica de negocio: en uno o más servidores de aplicaciones.
Datos: en una o más bbdd, almacenando procedimientos.
2. Los costes son menores: los drivers en la parte servidora.
3. Modificación de bbdd menor: clientes no acceden a la bbdd.
4. Migración de la lógica de negocio es mínima: clientes independientes.
5. Se puede conseguir mayor seguridad mediante firewalls.
6. Recursos pueden ser reutilizados, y “pooled”.
7. Prestaciones: siguen sufriendo. Costes de mantenimiento altos.
25/0
9/2
013
In
g. Y
im A
pes
tegui
F
10
Entonces Tenemos:
Arquitectura JEE
25/0
9/2
013
In
g. Y
im A
pes
tegui
F
11
25/0
9/2
013
In
g. Y
im A
pes
tegui
F
12
Qué necesita una arquitectura en N capas • Muchos Componentes:
• Broker de petición de métodos.
• Resource pooling.
• Gestión del ciclo de vida de componentes.
• Gestión del balance de carga de cada capa.
• Entorno seguro.
• Gestión de redes y sistemas: monitorización y control.
• Autorización de usuarios.
• ...
• ¿Y si reutilizamos componentes ya creados?
25/0
9/2
013
In
g. Y
im A
pes
tegui
F
13
Opciones …. • Microsoft DNA (Distributed interNet Applications
architecture): producto.
• Oracle JEE: especificación.
• OMG CORBA: complementaria
• Oracle Internet Platform: complementaria...
• Microsoft .NET:
25/0
9/2
013
In
g. Y
im A
pes
tegui
F
14
Elementos de EJBs
• Bean provider: componentes reutilizables (as given, by customization, by extension).
• Container provider: runtime. • Server provider: lógica del app. Server. • Application assembler. • Deployer. • Administrador de sistemas.
25/0
9/2
013
In
g. Y
im A
pes
tegui
F
15
25/0
9/2
013
In
g. Y
im A
pes
tegui
F
16
Recommended