Historia de Middleware
El trmino middleware apareci por primera vez a finales de 1980 para describir el software de
gestin de red de conexin, pero no lo hizo entrar en uso generalizado hasta mediados de la
dcada de 1990, cuando la tecnologa de red haba logrado suficiente penetracin y visibilidad. Por
aquel entonces el middleware haba evolucionado hasta convertirse en un conjunto mucho ms
rico de los paradigmas y servicios que se ofrecen para ayudar a hacer ms fcil y ms manejable
para construir aplicaciones distribuidas. El trmino se asocia principalmente con relacional bases
de datos para muchos profesionales en el mundo de los negocios a travs de la dcada de 1990,
pero a mediados de la dcada de 1990 esto fue ya no el caso. Conceptos similares a middleware de
hoy fueron previamente bajo los nombres de sistemas operativos de red, sistemas operativos
distribuidos y entornos de computacin distribuida.
Cronos era el principal sistema de primera distribuido middleware objeto (ver Cronos), y las nubes
(Ver Nubes) y Eden eran contemporneos. RPC fue desarrollado por primera vez alrededor del ao
1982 por Birrell y Nelson. Sistemas RPC primeros que lograron amplio uso incluir los de Sol en su
red abierta Informtica (ONC) y en el Sistema de Informtica Red de Apolo (NCS).la Distributed
Computing Environment de Open Software Foundation (DCE) incluy una RPC que fue una
adaptacin de De Apolo que fue proporcionado por Hewlett Packard (que adquiri Apolo). Objetos
de calidad (QUO) fue el primero marco middleware para proporcionar de uso general y la calidad
extensible de servicio para objetos distribuidos. TAO fue el primer sistema CORBA importante para
proporcionar calidad de servicio, es decir, el rendimiento en tiempo real, directamente en el ORB
El OMG se form en 1989, y actualmente es el mayor consorcio industrial de cualquier tipo. El
Message Oriented Asociacin Middleware (MOMA) se form en 1993, y MOM se convirti en una
especie ampliamente utilizada de middleware por el A finales de 1990. A finales de 1990 HTTP se
convirti en un gran bloque de construccin para diversos tipos de middleware, debido a su
despliegue generalizado y su capacidad para conseguir a travs de la mayora de los cortafuegos.
Taxonoma de los software Middleware
Categora de integracin
El tipo de integracin que incluyen posee la capacidad de unirse con sistemas heterogneos.
Cada middleware posee diferentes protocolos de comunicacin o formas de operar en
diferente software. Los tipos de integracin se pueden ver como:
Orientados a procedimiento o procesos
Los middleware que son orientados a procesos, utilizan una comunicacin sincronizada (como
por ejemplo el telfono). Una de las caractersticas de estos, es que utilizan el client stub y
el server skeleton. El client stub convierte la peticin en un mensaje que es mandado al
servidor; luego el server skeleton recibe el mensaje, lo convierte en la peticin y llama a la
aplicacin del servidor donde sta es procesada. Terminado el procesamiento, ocurre el
proceso inverso. El client stub chequea los errores, enva los resultados al software que inici
la peticin y entonces suspenden el proceso. Las ventajas de estos middleware es que usan
un tipo estndar en nombres de servicios y procesos remotos, pueden retornar respuesta aun
con problemas en la red y pueden manejar mltiples tipos de formatos para datos y niveles
heterogneos de sistemas de servicio. Las desventajas son que no poseen escalabilidad, no
pueden retornar la informacin a un programa diferente del que realiz la solicitud (reflexin) y
poseen procesos muy rgidos.
Orientados a objetos
Soportan pedidos de objetos distribuidos. La comunicacin entre los objetos puede ser
sincronizada, sincronizada diferida o no sincronizada. Soportan mltiples pedidos similares
realizados por mltiples clientes en una transaccin. La forma de operar es:
1. El objeto cliente llama a un mtodo lgico para obtener un objeto remoto.
2. Un ORB Proxy (tambin conocido como stub) pone en orden la informacin y la
transmite a travs del agente (broker).
3. El agente acta como punto medio y contacta con diversas fuentes de informacin,
obtiene sus referentes IDs, recolecta informacin y, en ocasiones, la reorganiza.
4. El proxy remoto (tambin conocido como skeleton) desordena la informacin que le
llega del agente y se la pasa al objeto servidor.
5. El objeto servidor procesa la informacin y genera un resultado que es devuelto al
cliente siguiendo los pasos inversos.
Las ventajas son que permiten generar reflexin y escalabilidad, que opera con mltiples tipos
de informacin y estados y que soporta procesos mltiples. Las desventajas consisten en
obtener la existencia de vnculos antes de la ejecucin y de un cdigo contenedor para
algunos sistemas heredados.
Orientados a mensajes (MOM, Message-oriented middleware)
Se pueden dividir en dos tipos, espera y publicacin/suscripcin. El paso de espera se puede
dividir en mensaje y espera. El paso de mensaje inicia con que la aplicacin enva un mensaje
a uno o ms clientes, con el MOM del cliente. El servidor MOM, recoge las peticiones de la
cola (Message Broker) en un orden o sistema de espera predeterminado. Los actos del
servidor MOM son como un router y usualmente no interactan con estas. El MOM de
publicacin y suscripcin acta de manera ligeramente diferente, es ms orientado a eventos.
Si un cliente quiere participar por primera vez, se une al bus de informacin. Dependiendo de
su funcin, si es como publicador, suscriptor y ambas, este registra un evento. El publicador
enva una noticia de un evento al bus de memoria. El servidor MOM enva un anuncio al
subscriptor registrado cuando la informacin est disponible.
Orientados a componentes
Un componente es un programa que realiza una funcin especfica, diseada para operar e
interactuar fcilmente con otros componentes y aplicaciones. El middleware en este caso en
una configuracin de componentes. Los puntos fuertes de este middleware es que es
configurable y reconfigurable. La reconfiguracin se puede realizar en tiempo de ejecucin, lo
que ofrece una gran flexibilidad para satisfacer las necesidades de un gran nmero de
aplicaciones.
Agentes
Los agentes son un tipo de middleware que posee varios componentes:
Entidades. Pueden ser objetos o procesos.
Medios de comunicacin. Pueden ser canales, tuberas, etc.
Leyes. Identifican la naturaleza interactiva de los agentes. Pueden ser la
sincronizacin o el tipo de esquema.
Las ventajas de los middleware agentes son que la capacidad de stos para realizar una gran
cantidad de tareas en nombre del usuario y para cubrir una amplia gama de estrategias
basadas en el entorno que les rodea. Sin embargo su implementacin es complicada debido a
la complejidad y dificultades dadas por las operaciones que manejan.
Categora de Aplicacin
La clasificacin por aplicacin incluye los middleware que son ajustados para aplicaciones
especficas.
Middleware para acceso a informacin (DAM, Data Access middleware)
Los middleware para acceso a informacin tienen la caracterstica de poder interactuar con
diversas fuentes de datos. En este tipo de middleware se encuentran los que procesan
transacciones, gateways de bases de datos y sistemas distribuidos de
transaccin/procedimiento. Sus ventajas residen en la comunicacin que tienen entre
mltiples fuentes de datos, la conversin del lenguaje de programacin de la aplicacin a un
lenguaje aceptado por la fuente de datos de destino y la capacidad de respuesta en un
formato y lenguaje aceptable para el solicitante.
Middleware de escritorio
Los middleware de escritorio pueden hacer variaciones en la presentacin de la informacin
pedida por el usuario por aplicaciones de rastreo y asistencia, controlar cualquier servicio de
transporte y proveer una copia de seguridad y otras operaciones de fondo. Otras pueden ser
manutencin y grficas, ordenamientos, directorios de servicios, manejo de informacin de la
base de datos, manejo de procesos, calendarizacin de trabajos, notificacin de eventos de
servicios, manejo de instalacin de software, servicios de cifrado y control de accesos.
Middleware basados en la web
Este tipo de middleware asiste al usuario con la navegacin web, el uso de interfaces que le
permiten encontrar pginas de su inters y detectar cambios de inters del usuario basado en
su historial de bsquedas. Provee de un servicio de identificacin para un gran nmero de
aplicaciones y comunicacin entre procesos independiente del sistema operativo, protocolo de
red y plataforma de hardware. Los middleware que se encuentran fuertemente unidos a la red
se llaman servidores de aplicaciones, ya que mejoraran el rendimiento, disponibilidad,
escalabilidad, seguridad, recuperacin de informacin, y soportan la administracin
colaborativa y su uso. Los middleware pueden contactar directamente a la aplicacin ganando
mejor comunicacin entre el servidor y el cliente. Otros servicios importantes dados por este
tipo de middleware son servicios de directorios, emails, cadenas de suministros de gran
tamao, accesos remotos a informacin, descarga de archivos, accesos a programas y
acceso a aplicaciones remotas.
Middleware a tiempo real
La informacin en tiempo real es caracterizada porque la informacin correcta en un instante
puede no serlo en otro. Los middleware en tiempo real soportan las peticiones sensibles al
tiempo y polticas de planificacin. Esto se realiza con servicios que mejoran la eficiencia de
las aplicaciones de usuario. Los middleware en tiempo real se pueden dividir en diferentes
aplicaciones:
Aplicacin de base de datos en tiempo real.
Sensor de procesamiento.
Transmisin de informacin.
La informacin que pasa a travs de un middleware en tiempo real se ha incrementado
dramticamente con la introduccin de Internet, redes inalmbricas, y las nuevas aplicaciones
basadas en la difusin. Las ventajas de este tipo de middleware son que proveen un proceso
de decisin que determina el mejor criterio para resolver procesos sensibles al tiempo, y la
posibilidad de ayudar a los sistemas operantes en la localizacin de recursos cuando tienen
tiempos lmites de operacin. Los middleware multimedia son una rama mayor en los
middleware en tiempo real. stos pueden manejar una gran variedad de informacin. Estos
tipos pueden ser textos, imgenes de todo tipo (GPS, imgenes, etc.), procesadores de
lenguajes naturales, msica y video. La informacin debe ser recopilada, integrada y entonces
enviada al usuario sensible del tiempo. Los dispositivos multimedia pueden incluir una mezcla
de dispositivos tanto fsicos (parlantes, cmaras, micrfono) como lgicos.
Middleware especialistas
En muchos casos los middleware proveen una tarea muy especfica que no se puede ajustar a
las categoras anteriores. Un ejemplo seran middlewares mdicos.
http://www.dia.uniroma3.it/~cabibbo/ids/altrui/middleware-bakken.pdf