Introducción al Desarrollo de Aplicaciones...
Transcript of Introducción al Desarrollo de Aplicaciones...
![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](https://reader033.fdocument.pub/reader033/viewer/2022052713/5ba8ea0209d3f2810a8b5c57/html5/thumbnails/1.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052713/5ba8ea0209d3f2810a8b5c57/html5/thumbnails/2.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052713/5ba8ea0209d3f2810a8b5c57/html5/thumbnails/3.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052713/5ba8ea0209d3f2810a8b5c57/html5/thumbnails/4.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052713/5ba8ea0209d3f2810a8b5c57/html5/thumbnails/5.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052713/5ba8ea0209d3f2810a8b5c57/html5/thumbnails/6.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052713/5ba8ea0209d3f2810a8b5c57/html5/thumbnails/7.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052713/5ba8ea0209d3f2810a8b5c57/html5/thumbnails/8.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052713/5ba8ea0209d3f2810a8b5c57/html5/thumbnails/9.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052713/5ba8ea0209d3f2810a8b5c57/html5/thumbnails/10.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052713/5ba8ea0209d3f2810a8b5c57/html5/thumbnails/11.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052713/5ba8ea0209d3f2810a8b5c57/html5/thumbnails/12.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052713/5ba8ea0209d3f2810a8b5c57/html5/thumbnails/13.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052713/5ba8ea0209d3f2810a8b5c57/html5/thumbnails/14.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052713/5ba8ea0209d3f2810a8b5c57/html5/thumbnails/15.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052713/5ba8ea0209d3f2810a8b5c57/html5/thumbnails/16.jpg)
25/0
9/2
013
In
g. Y
im A
pes
tegui
F
16