introducción al desarrollo de aplicaciones...

16
Introducción al Desarrollo de Aplicaciones Empresariales

Upload: vothu

Post on 24-Sep-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducción al Desarrollo de Aplicaciones Empresarialesbiblioteca.uns.edu.pe/saladocentes/archivoz/curzoz/semana1_topicos... · basado en EJBs. •EJB (Enterprise Java Beans): especificación

Introducción al Desarrollo de Aplicaciones Empresariales

Page 2: Introducción al Desarrollo de Aplicaciones Empresarialesbiblioteca.uns.edu.pe/saladocentes/archivoz/curzoz/semana1_topicos... · basado en EJBs. •EJB (Enterprise Java Beans): especificación

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

Page 3: Introducción al Desarrollo de Aplicaciones Empresarialesbiblioteca.uns.edu.pe/saladocentes/archivoz/curzoz/semana1_topicos... · basado en EJBs. •EJB (Enterprise Java Beans): especificación

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

Page 4: Introducción al Desarrollo de Aplicaciones Empresarialesbiblioteca.uns.edu.pe/saladocentes/archivoz/curzoz/semana1_topicos... · basado en EJBs. •EJB (Enterprise Java Beans): especificación

25/0

9/2

013

In

g. Y

im A

pes

tegui

F

4

Page 5: Introducción al Desarrollo de Aplicaciones Empresarialesbiblioteca.uns.edu.pe/saladocentes/archivoz/curzoz/semana1_topicos... · basado en EJBs. •EJB (Enterprise Java Beans): especificación

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

Page 6: Introducción al Desarrollo de Aplicaciones Empresarialesbiblioteca.uns.edu.pe/saladocentes/archivoz/curzoz/semana1_topicos... · basado en EJBs. •EJB (Enterprise Java Beans): especificación

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

Page 7: Introducción al Desarrollo de Aplicaciones Empresarialesbiblioteca.uns.edu.pe/saladocentes/archivoz/curzoz/semana1_topicos... · basado en EJBs. •EJB (Enterprise Java Beans): especificación

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

Page 8: Introducción al Desarrollo de Aplicaciones Empresarialesbiblioteca.uns.edu.pe/saladocentes/archivoz/curzoz/semana1_topicos... · basado en EJBs. •EJB (Enterprise Java Beans): especificación

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

Page 9: Introducción al Desarrollo de Aplicaciones Empresarialesbiblioteca.uns.edu.pe/saladocentes/archivoz/curzoz/semana1_topicos... · basado en EJBs. •EJB (Enterprise Java Beans): especificación

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

Page 10: Introducción al Desarrollo de Aplicaciones Empresarialesbiblioteca.uns.edu.pe/saladocentes/archivoz/curzoz/semana1_topicos... · basado en EJBs. •EJB (Enterprise Java Beans): especificación

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:

Page 11: Introducción al Desarrollo de Aplicaciones Empresarialesbiblioteca.uns.edu.pe/saladocentes/archivoz/curzoz/semana1_topicos... · basado en EJBs. •EJB (Enterprise Java Beans): especificación

Arquitectura JEE

25/0

9/2

013

In

g. Y

im A

pes

tegui

F

11

Page 12: Introducción al Desarrollo de Aplicaciones Empresarialesbiblioteca.uns.edu.pe/saladocentes/archivoz/curzoz/semana1_topicos... · basado en EJBs. •EJB (Enterprise Java Beans): especificación

25/0

9/2

013

In

g. Y

im A

pes

tegui

F

12

Page 13: Introducción al Desarrollo de Aplicaciones Empresarialesbiblioteca.uns.edu.pe/saladocentes/archivoz/curzoz/semana1_topicos... · basado en EJBs. •EJB (Enterprise Java Beans): especificación

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

Page 14: Introducción al Desarrollo de Aplicaciones Empresarialesbiblioteca.uns.edu.pe/saladocentes/archivoz/curzoz/semana1_topicos... · basado en EJBs. •EJB (Enterprise Java Beans): especificación

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

Page 15: Introducción al Desarrollo de Aplicaciones Empresarialesbiblioteca.uns.edu.pe/saladocentes/archivoz/curzoz/semana1_topicos... · basado en EJBs. •EJB (Enterprise Java Beans): especificación

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

Page 16: Introducción al Desarrollo de Aplicaciones Empresarialesbiblioteca.uns.edu.pe/saladocentes/archivoz/curzoz/semana1_topicos... · basado en EJBs. •EJB (Enterprise Java Beans): especificación

25/0

9/2

013

In

g. Y

im A

pes

tegui

F

16