Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MIDDLEWARE: Arquitectura
para Aplicaciones Distribuidas
Dr. Vctor J. Sosa Sosa
vjsosa@tamps.cinvestav.mx
Contenido
Middleware: Introduccin
Definicin
Genealoga
Aplicaciones actuales:
Servicios Web
Computacin Ubicua
Grid Computing
Integracin de Aplicaciones
Desarrollos en Cinvestav-Tamps
Conclusiones
07/03/2014
Middleware:Definicin
Middleware: Ms definiciones
07/03/2014
Middleware vs Framework
* http://es.wikipedia.org/wiki/Framework
Middleware vs Framework
07/03/2014
Middleware: Ejemplos
Ejemplos de middleware estndar para dominios
especficos incluyen: ODBC/JDBC, para bases de datos,
Lotus para groupware, HTTP y SSL para la Web, CORBA,
DCOM y JAVA RMI para objetos distribuidos.
No todos los Middleware son iguales. e.g.: CORBA
y Sockets TCP/IP.
Mientras que los Sockets no ofrecen control de tipos ni
homogeneizacin de arquitecturas, CORBA, DCOM, etc.,
ofrecen estas posibilidades.
07/03/2014
Middleware: Abstraccin
Middlewares
Servicios
Web
DCOM
CORBA
RMI
RPC
Sockets
Tiempo
07/03/2014
Sockets
Constituye la interfaz de
programacin de la capa de
transporte.
Es un mecanismo de
comunicacin bidireccional
El ms ampliamente usado
Nacieron con la familia de
protocolos TCP/IP
Existe prcticamente en
cualquier plataforma de
computacin
Aplicacin
Presentacin
Aplicacin
Presentacin
Sesin
Sesin
Transporte
Transporte
Red
Red
Enlace
Enlace
Fsica
Fsica
11
Rutina
Llamada
Llamante Cliente
Proceso
Main(){
Resultados
some code;
...
call rpc(a,b,c);
...
ms cdigo;
Stub
}
Cliente
Argumentos
Peticin
Argumentos
Resultados
Proceso Servidor
receive(x,y,invocador)
Procedure rpc(x,y,z){
Stub que usa x,y;
cdigo
Servidor
...
return(z=result);
}
Respuesta
Peticin
send(z,invocador)
Red
Red
12
07/03/2014
13
Invocacin
remota
Modelo de
Objetos
Distribuidos
Invocacin E
local
Invocacin
local
Invocacin
local
Respuesta
Objeto Remoto
Interfaz Remota
m1
m2
m3
Datos
Implementacin
de mtodos
m4
m5
m6
14
07/03/2014
Repositorio de
Interfaces (IR)
Invocacin
Dinmica de
Interfaces
(DII)
IDL
Stubs
Interface
ORB
Invocacin
Dinmica
Skeleton
(DSI)
IDL
Skeleton
Adaptador
de
Objetos
ORB
15
CORBA: Compilacin
Procesa las
definiciones en IDL
para generar Stubs
Definiciones IDL
Precompilador
Cdigo de
Implementacin
Skeletons
Repositorio
de
Interfaces
Compilador
Stubs
del
Cliente
Cliente
Skeletons
del
Servidor
Implementacin
del
Objeto
Repositorio
de
Implementacin
Servidor
07/03/2014
Ventajas::
Ventajas
DCOM permite el uso de varios lenguajes de programacin
DCOM soporta recoleccin distribuida de basura
Inconvenientes::
Inconvenientes
Muy ligado a los sistemas operativos de Microsoft, aunque existen
implementaciones para Unix, y Apple Macintosh
17
18
07/03/2014
19
1.- Qu
servicio Web
puede hacer X?
4.- Revisa
esto: WSDL
5.- Invoca
operacin X
< SOAP >
Servidor A
Cliente
6.- Resultado de
la operacin X
< SOAP >
20
10
07/03/2014
Servidor
Cliente
Implementacin
del Servicio
Stub
Servidor
4
Stub
Cliente
Aplicacin
Cliente
5
6
WSDL
int operacionX(int a, int b)
int operacionY(int c, int d)
21
Microsoft .NET
22
11
07/03/2014
Java 2EE
23
24
12
07/03/2014
Generaciones:
Mainframes
PCs
Computacin
Ubicua
25
26
13
07/03/2014
27
28
14
07/03/2014
29
Grid Computing
La Grid virtualiza recursos
heterogneos
dispersos
geogrficamente
30
15
07/03/2014
16
07/03/2014
Middleware en Integracin de
Aplicaciones Empresariales (EAI)
La EAI (Enterprise Application Integration) representa un paso en la
evolucin de los middleware abordando aspectos de integracin.
En arquitecturas de 3-niveles se facilita la integracin de gestores de
recursos diferentes, desarrollando la lgica de la nueva aplicacin
en el middleware. La funcionalidad resultante puede ser expuesta como
un nuevo servicio, que puede ser integrado por servicios de ms alto
nivel, y as sucesivamente.
17
07/03/2014
18
07/03/2014
Middleware
Integrador de
Fuentes de
Datos
Heterogneas
BD
CSV
XML
19
07/03/2014
Middleware para
Almacenamiento
Externo en
Dispositivos
Mviles
Cometarios Finales
La necesidad de crear ciclos de desarrollo de software ms rpidos,
disminuyendo el esfuerzo e incrementando la reutilizacin del software,
son las motivaciones principales para la creacin y uso de los
middlewares y las arquitecturas basadas en middlewares.
Cuando los middlewares se implementan adecuadamente:
Protegen a los desarrolladores de software del trabajo tedioso, propenso
a errores y de los detalles de la plataforma, por ejemplo, la programacin a
nivel del sockets.
Amortizan los costos del ciclo de vida del software mediante aprovechar la
experiencia puesta en desarrollos previos e implementaciones con patrones
de diseo que son reutilizables, evitando construirlos manualmente para
cada uso.
20
07/03/2014
Cometarios Finales
Proporcionan un conjunto consistente de abstracciones de alto nivel
orientadas a la red que son ms cercanas a los requerimientos de la
aplicacin con el fin de simplificar el desarrollo de sistemas distribuidos y
embebidos.
Proveen de una amplia gama de servicios orientados al desarrollador
que estn listos para ser utilizados y son reutilizables, tales como, los
servicios de nombrado, logging y seguridad que son necesarios para
operar efectivamente en un ambiente de interconectado.
No olvidar considerar que su mal uso se traduce en ineficiencia, ya que
ocupan ms capas de software.
21