Documente Academic
Documente Profesional
Documente Cultură
Contenido
Middleware: Introduccin
Definicin Genealoga
Aplicaciones actuales: A li i t l
Servicios Web Computacin Ubicua Grid Computing
Middleware:Definicin iddl fi i i
Software de conectividad que consiste en un conjunto de servicios que permiten interactuar a mltiples procesos que se ejecutan en distintas mquinas a t d una red. O lt i travs de d Ocultan l h t la heterogeneidad y proveen d un id d de modelo de programacin conveniente para los desarrolladores de aplicaciones. La organizacin IETF (Internet Engineering Task Force) en mayo de 1997 lo defini como sigue: Un Middleware puede ser visto como un conjunto de servicios y funciones reutilizables, expandibles, que son comnmente utilizadas por muchas aplicaciones para funcionar bien dentro de un ambiente interconectado interconectado.
Es un software que puede incrementar significativamente la reusabilidad mediante soluciones utilizables rpidamente y basadas en estndares aplicables a problemas y t bl tareas comunes en programacin. P i Permite concentrarse en it t asuntos propios de la aplicacin y olvidarse de problemas comunes, estructurales o no, ya resueltos previamente de forma elegante y satisfactoria.
Middleware:Ejemplos
Ejemplos de middleware estndar para dominios j p p 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:Genealogaenlas AplicacionesDistribuidas
Middleware: Abstraccin
Middlewares
DCOM
CORBA RPC
Sockets Tiempo
Sockets
Constituye la interfaz de p g programacin de la capa de p 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
Rutina Llamante
Rutina Llamada Ll d
Main(){ Resultados some code; ... call rpc(a,b,c); ... ms cdigo; Stub } Cliente
Argumentos
Proceso Servidor
Procedure rpc(x,y,z){ Stub cdigo que usa x,y; Servidor ... return(z=result); }
Resultados
receive(x,y,invocador)
Peticin
Peticin
Respuesta
send(z,invocador) d( i d )
Red
10
Invocacin remota
Invocacin local
B
Respuesta
Invocacin local
Interfaz Remota
Una interfaz remota especifica los mtodos que pueden ser invocados remotamente
m1 m2 m3
Implementacin de mtodos
11
IDL Stubs
Interface ORB
IDL Skeleton
Adaptador de Objetos
ORB
CORBA proporciona una infraestructura de comunicaciones para la colaboracin entre objetos heterogneos distribuidos
12
CORBA: Compilacin
Procesa las definiciones en IDL para generar Stubs
Definiciones IDL Precompilador Skeletons Repositorio de Interfaces Stubs del Cliente Cliente Compilador Skeletons del Servidor Implementacin del Objeto Servidor Repositorio de Implementacin
Cdigo de Implementacin
14
15
16
Cliente
17
Cliente Cli t
1
Stub Cliente Aplicacin Cliente 6
Stub Servidor S id 5
18
Microsoft .NET
19
Java 2EE
20
1a. Generacin : U computadora, muchas personas 1 G i Una t d h 2a. Generacin : Una computadora, una persona 3a. Generacin : Muchas computadoras, una persona
La computacin ubicua nos lleva al incremento en el uso de sistemas de cmputo a travs del ambiente fsico, hacindolos disponibles y a la vez invisibles al usuario.
21
Generaciones:
Mainframes PCs Computacin Ubicua
22
23
24
25
26
Grid Computing
La Grid virtualiza recursos heterogneos dispersos geogrficamente
27
BD
CSV
XML
Cometarios Finales
La necesidad de crear ciclos de desarrollo de software ms rpidos 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 tedioso, 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.
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 nombrado, operar efectivamente en un ambiente de interconectado. No olvidar considerar que su mal uso se traduce en ineficiencia, ya que ocupan ms capas d software. de ft
Gracias por su atencin! Preguntas? Dr.VctorJ.SosaSosa Dr. Vctor J. Sosa Sosa vjsosa@tamps.cinvestav.mx