Documentos de Académico
Documentos de Profesional
Documentos de Cultura
de componentes y a Java EE
Autores: Simon Pickin
Natividad Martínez Madrid
Pablo Basanta Val
Dirección: Departamento de Ingeniería Telemática
Universidad Carlos III de Madrid
España
Versión: 1.0
Software de
Comunicaciones
-
1
© Simon Pickin
Agradecimientos
Software de
Comunicaciones
-
2
© Simon Pickin
1
Contenidos
• Introducción
– desarrollo basado en componentes
– aplicaciones y arquitecturas empresariales
• Arquitecturas cliente-servidor y multi-tier
– conceptos básicos
– nivel de cliente
– nivel de presentación
– nivel de negocio
– nivel de datos
• La plataforma Java Enterprise Edition
– introducción
– la arquitectura y los contenedores de Java EE
– los componentes de Java EE
Software de
Comunicaciones – los servicios de Java EE
-
3
© Simon Pickin
Ojala tuvieramos
componentes software…
2
Definición de componente (1/5)
Software de
Comunicaciones
-
5
© Simon Pickin
3
Definición de componente (3/5)
Software de
Comunicaciones
-
8
© Simon Pickin
4
Definición de componente (5/5)
Software de
Comunicaciones
-
9
© Simon Pickin
Modelos de componentes
5
Entornos de componentes distribuidos
(1/2)
Software de
Comunicaciones
-
11
© Simon Pickin
6
Desarrollo basado en componentes (CBD)
Software de
Comunicaciones
-
13
© Simon Pickin
• Tienen en común:
– modularidad (bajo acoplamiento externo y alta cohesión interna)
– encapsulación/ocultación de información, abstracción,...
• Pero los componentes:
– tienen granularidad menos fina
– son elementos más asociados a la aplicación
• no tienen por qué corresponderse con elementos del mundo real
– hacen explícitas sus dependencias del contexto
• implementaciones actuales: no todas las dependencias
– interactúan vía protocolos de interacción bien definidos
– unidad de despliegue: pueden desplegarse de manera
independiente
Software de
Comunicaciones
– unidad de re-uso (¿y las bibliotecas de clases, no lo son?)
- en todo caso, deberían conducir a un reuso mucho mayor 14
© Simon Pickin
7
Aplicaciones empresariales: requisitos
(1/2)
Software de
Comunicaciones
-
16
© Simon Pickin
8
Contenidos
• Introducción
– desarrollo basado en componentes
– aplicaciones y arquitecturas empresariales
• Arquitecturas cliente-servidor y multi-nivel
– conceptos básicos
– nivel de cliente
– nivel de presentación
– nivel de negocio
– nivel de datos
• La plataforma Java Enterprise Edition
– introducción
– la arquitectura y los contenedores de Java EE
– los componentes de Java EE
Software de
Comunicaciones – los servicios de Java EE
-
17
© Simon Pickin
9
Arquitectura cliente/servidor: cliente gordo
Cliente
Servidor
Cliene gordo
Lógica de
negocio
Datos
Software de
Comunicaciones
-
19
© Simon Pickin
10
Arquitecturas multi-tier (multi-nivel) (1/2)
Software de
– a través de interfaces claramente definidas
Comunicaciones
-
21
© Simon Pickin
Lógica de
Cliente
Cliente delgado
negocio Servidor
Datos
Servicios
Software de
Comunicaciones
-
22
© Simon Pickin
11
Ventajas de las arquitecturas multi-nivel
Nivel Cliente
Nivel Medio Nivel Datos
Cliente delgado Lógica de negocio “Back End”
Windows Componente
cuenta cliente
Macintosh
SAP/R3
Presentación
Componente server
banco
Unix
Componente
Java movimiento
DBMS
Driver base de datos server
Browser
Conector
Sevicio transacciones
12
Arquitectura de aplicación Web Java EE
JCA
Cliente Web datos
Servlets, JSP
(EIS)
JDBC
Software de
Comunicaciones
-
25
© Simon Pickin
13
Nivel de cliente
Nivel medio
• Middleware:
– suele incluir software especializado para la realización de
determinadas tareas (servicios corporativos estándares) :
• monitores, sistemas de nombres, sistemas de colas de
mensajes, etc.
• e.g. CORBA y CORBA services
Software de
Comunicaciones
-
28
© Simon Pickin
14
Nivel medio: lógica de presentación
Software de
Comunicaciones
-
29
© Simon Pickin
15
Nivel de datos
Contenidos
• Introducción
– desarrollo basado en componentes
– aplicaciones y arquitecturas empresariales
• Arquitecturas cliente-servidor y multi-tier
– conceptos básicos
– nivel de cliente
– nivel de presentación
– nivel de negocio
– nivel de datos
• La plataforma Java Enterprise Edition
– introducción
– la arquitectura y los contenedores de Java EE
– los componentes de Java EE
Software de
Comunicaciones – los servicios de Java EE
-
32
© Simon Pickin
16
Platforma Java Enterprise Edition
17
Arquitectura de aplicación Java EE
Contenedor Cliente
Aplicaciones legado
Servlets, JSP Enterprise JavaBeans
Cliente Java
Software de
Comunicaciones
-
35
© Simon Pickin
Applets Servlets/
Java Server Pages
Enterprise
Componentes JavaBeans
cliente
JavaBeans JavaBeans
Aplicación Java EE
Software de
Comunicaciones
-
36
© Simon Pickin
18
Contenedores (containers)
Contenedor de applets
Contenedor Web Contenedor EJB
JSP Tools
Applets Enterprise JavaBeans
Servlet Engine
• Servlets:
– Java code: más fácil controlar el flujo de acciones
• JSP:
– lenguaje de marcado basado en etiquetas: más fácil representar
información
Software de
Comunicaciones
-
38
© Simon Pickin
19
Enterprise JavaBeans
20
Tipos de EJBs
Software de
Comunicaciones
-
41
© Simon Pickin
21
Servicios Java EE (2/2)
22