Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Middleware Recorrido
Middleware Recorrido
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
Middleware:Definicin
Middleware: Ms definiciones
Middleware vs Framework
Un framework*, en el desarrollo de software, es una estructura de
soporte definida, mediante la cual otro proyecto de software puede ser
organizado y desarrollado. Tpicamente, puede incluir soporte de
programas, bibliotecas y un lenguaje interpretado entre otros software
para ayudar a desarrollar y unir los diferentes componentes de un
proyecto.
Representa una arquitectura de software que modela las relaciones
generales de las entidades del dominio. Provee una estructura y una
metodologa de trabajo la cual extiende o utiliza las aplicaciones del
dominio.
* http://es.wikipedia.org/wiki/Framework
Middleware vs Framework
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.
Middleware: Abstraccin
Middlewares
Servicios
Web
DCOM
CORBA
RMI
RPC
Sockets
Tiempo
Sockets
Aplicacin
Presentacin
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
Sesin
Sesin
Transporte
Transporte
Red
Red
Enlace
Enlace
Fsica
Fsica
11
Rutina
Llamada
PLlarmocaneteso
Cliente
Argumentos
some code;
...
Resultados
call rpc(a,b,c);
...
ms cStduigbo;
}
Cliente
Peticin
Argumentos
Resultados
Proceso Servidor
receive(x,y,invocador)
Procedure rpc(x,y,z){
cSdtiugbo que usa x,y;
..S. ervidor
return(z=result);
Respuesta
}
Peticin
send(z,invocador)
Red
Red
12
13
Invocacin
local
Invocacin
local
Invocacin
remota
Invocacin
local
Respuesta
Modelo de
Objetos
Distribuidos
Objeto Remoto
Interfaz Remota
m1
m2
m3
Datos
Implementacin
de mtodos
m4
m5
m6
14
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
Skeletons
Cdigo de
Implementacin
Compilador
Repositorio
de
Interfaces
Stubs
del
Cliente
Cliente
Skeletons
del
Servidor
Implementacin
del
Objeto
Servidor
Repositorio de
Implementacin
17
18
19
Servidor
UDDI
1.- Qu
servicio Web
puede hacer X?
Cliente
6.- Resultado de
la operacin X
< SOAP >
20
10
Cliente
2
Stub
Servidor
Implementacin
del Servicio
Stub
Cliente
Aplicacin
Cliente
6
WSDL
int operacionX(int a, int b)
int operacionY(int c, int d)
21
Microsoft .NET
22
Java 2EE
23
24
Generaciones:
Computacin
Mainframes
PCs
Ubicua
25
26
27
28
29
Grid Computing
La Grid virtualiza recursos
heterogneos
dispersos
geogrficamente
30
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.
Middleware
Integrador de
Fuentes de
Datos
Heterogneas
BD
CSV
XML
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
adecuadamente:
los
middlewares
se
implementan
20
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.