Está en la página 1de 6

Middleware

Middleware o lógica de intercambio de información entre aplicaciones ("interlogical")


es un software que asiste a una aplicación para interactuar o comunicarse con otras
aplicaciones, o paquetes de programas, redes, hardware y/o sistemas operativos. Éste
simplifica el trabajo de los programadores en la compleja tarea de generar las conexiones
y sincronizaciones que son necesarias en los sistemas distribuidos. De esta forma, se
provee una solución que mejora la calidad de servicio, así como la seguridad, el envío de
mensajes, la actualización del directorio de servicio, etc.1
Funciona como una capa de abstracción de software distribuida, que se sitúa entre las
capas de aplicaciones y las capas inferiores (sistema operativo y red).
El middleware abstrae de la complejidad y heterogeneidad de las redes de
comunicaciones subyacentes, así como de los sistemas operativos y lenguajes de
programación, proporcionando una API para la fácil programación y manejo de
aplicaciones distribuidas. Dependiendo del problema a resolver y de las funciones
necesarias, serán útiles diferentes tipos de servicios de middleware. Por lo general
el middleware del lado cliente está implementado por el Sistema Operativo, el cual posee
las bibliotecas que ejecutan todas las funcionalidades para la comunicación a través de la
red.

Índice
[ocultar]

 1Definición
 2Historia
 3Taxonomía de los software middleware
o 3.1Categoría de integración
 3.1.1Orientados a procedimiento o procesos
 3.1.2Orientados a objetos
 3.1.3Orientados a mensajes (MOM, Message-oriented middleware)
 3.1.4Orientados a componentes
 3.1.5Agentes
o 3.2Categoría de aplicación
 3.2.1Middleware para acceso a información (DAM, Data Access middleware)
 3.2.2Middleware de escritorio
 3.2.3Middleware basados en la web
 3.2.4Middleware a tiempo real
 3.2.5Middleware especialistas
 4Aplicaciones
 5Véase también
 6Referencias
 7Enlaces externos

Definición[editar]
Es el software que proporciona un enlace entre aplicaciones
de software independientes. Middleware a veces se llama a la vía que conecta dos
aplicaciones y pasa los datos entre ellas. Los middlewarepermiten que los datos
contenidos en una base de datos puedan ser accedidos a través de otra, ahorrando tiempo
a los programadores.

Historia[editar]
El origen de la palabra middleware se remonta al año 1968, en donde la palabra fue
usada durante la '1968 NATO Software Engineering Conference',2 siendo una idea de
cómo conectar el nuevo software con sistemas más antiguos. Durante las décadas previas
a los años 1990, fue solamente descrito como un software para la gestión de conexión en
redes, pero para cuando las tecnologías en redes alcanzaron una penetración y visibilidad
suficiente, el software middleware' había evolucionado en un conjunto de paradigmas y
servicios. De esta forma se estaba ofreciendo una manera más fácil, robusta y controlable,
para construir aplicaciones distribuidas.3

Taxonomía de los software middleware[editar]

Esquema taxonomía de software middleware.


La taxonomía o clasificación del software middleware puede ser descrita en dos grandes
categorías: una de integración y otra de aplicación. Estas poseen a su vez diferentes
clases.
Categoría de integración[editar]
El tipo de integración que incluyen posee la capacidad de unirse con sistemas
heterogéneos. Cada middleware posee diferentes protocolos de comunicación o formas de
operar en diferente software. Los tipos de integración se pueden ver como:
Orientados a procedimiento o procesos[editar]
Los middleware que son orientados a procesos, utilizan una comunicación sincronizada
(como por ejemplo el teléfono). Una de las características de estos, es que utilizan el client
stub y el server skeleton. El client stub convierte la petición en un mensaje que es
mandado al servidor; luego el server skeleton recibe el mensaje, lo convierte en la petición
y llama a la aplicación del servidor donde ésta es procesada. Terminado el procesamiento,
ocurre el proceso inverso. El client stub verifica los errores, envía los resultados al software
que inició la petición y entonces suspenden el proceso. Las ventajas de estos middleware
es que usan un tipo estándar en nombres de servicios y procesos remotos, pueden
retornar respuesta aún con problemas en la red y pueden manejar múltiples tipos de
formatos para datos y niveles heterogéneos de sistemas de servicio. Las desventajas son
que no poseen escalabilidad, no pueden retornar la información a un programa diferente
del que realizó la solicitud (reflexión) y poseen procesos muy rígidos.
Orientados a objetos[editar]
Soportan pedidos de objetos distribuidos. La comunicación entre los objetos puede ser
sincronizada, sincronizada diferida o no sincronizada. Soportan múltiples pedidos similares
realizados por múltiples clientes en una transacción. La forma de operar es:

1. El objeto cliente llama a un método lógico para obtener un objeto remoto.


2. Un ORB Proxy (también conocido como stub) pone en orden la información
(marshalling o serialización) y la transmite a través del agente (broker).
3. El agente actúa como punto medio y contacta con diversas fuentes de información,
obtiene sus referentes IDs, recolecta información y, en ocasiones, la reorganiza.
4. El proxy remoto (también conocido como skeleton) desordena (unmarshalling o
deserialización) la información que le llega del agente y se la pasa al objeto
servidor.
5. El objeto servidor procesa la información y genera un resultado que es devuelto al
cliente siguiendo los pasos inversos.
Las ventajas son que permiten generar reflexión y escalabilidad, que opera con múltiples
tipos de información y estados y que soporta procesos múltiples. Las desventajas
consisten en obtener la existencia de vínculos antes de la ejecución y de un código
contenedor para algunos sistemas heredados.
Orientados a mensajes (MOM, Message-oriented middleware)[editar]
Se pueden dividir en dos tipos, espera y publicación/suscripción. El paso de espera se
puede dividir en mensaje y espera. El paso de mensaje inicia con que la aplicación envía
un mensaje a uno o más 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 interactúan con estas. El
MOM de publicación y suscripción actúa de manera ligeramente diferente, es más
orientado a eventos. Si un cliente quiere participar por primera vez, se une al bus de
información. Dependiendo de su función, si es como publicador, suscriptor y ambas, este
registra un evento. El publicador envía una noticia de un evento al bus de memoria. El
servidor MOM envía un anuncio al subscriptor registrado cuando la información está
disponible.
Orientados a componentes[editar]
Un componente es un «programa que realiza una función específica, diseñada para operar
e interactuar fácilmente con otros componentes y aplicaciones». El middleware en este
caso en una configuración de componentes. Los puntos fuertes de este middleware es que
es configurable y reconfigurable. La reconfiguración se puede realizar en tiempo de
ejecución, lo que ofrece una gran flexibilidad para satisfacer las necesidades de un gran
número de aplicaciones.
Agentes[editar]
Los agentes son un tipo de middleware que posee varios componentes:

 Entidades. Pueden ser objetos o procesos.


 Medios de comunicación. Pueden ser canales, tuberías, etc.
 Leyes. Identifican la naturaleza interactiva de los agentes. Pueden ser la
sincronización 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 implementación es
complicada debido a la complejidad y dificultades dadas por las operaciones que manejan.
Categoría de aplicación[editar]
La clasificación por aplicación incluye los middleware que son ajustados para aplicaciones
específicas.
Middleware para acceso a información (DAM, Data Access middleware)[editar]
Los middleware para acceso a información tienen la característica 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
transacción/procedimiento.
Sus ventajas residen en la comunicación que tienen entre múltiples fuentes de datos, la
conversión del lenguaje de programación de la aplicación 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[editar]
Los middleware de escritorio pueden hacer variaciones en la presentación de la
información 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 manutención y gráficas, ordenamientos, directorios de servicios,
manejo de información de la base de datos, manejo de procesos, calendarización de
trabajos, notificación de eventos de servicios, manejo de instalación de software, servicios
de cifrado y control de accesos.
Middleware basados en la web[editar]
Este tipo de middleware asiste al usuario con la navegación web, el uso de interfaces que
le permiten encontrar páginas de su interés y detectar cambios de interés del usuario
basado en su historial de búsquedas. Provee de un servicio de identificación para un gran
número de aplicaciones y comunicación 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, recuperación de información, y
soportan la administración colaborativa y su uso. Los middleware pueden contactar
directamente a la aplicación ganando mejor comunicación entre el servidor y el cliente.
Otros servicios importantes dados por este tipo de middleware son servicios de
directorios, correos electrónicos, cadenas de suministros de gran tamaño, accesos
remotos a información, descarga de archivos, accesos a programas y acceso a
aplicaciones remotas.
Middleware a tiempo real[editar]
La información en tiempo real es caracterizada porque la información correcta en un
instante puede no serlo en otro. Los middleware en tiempo real soportan las peticiones
sensibles al tiempo y políticas de planificación. 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:

 Aplicación de base de datos en tiempo real.


 Sensor de procesamiento.
 Transmisión de información.
La información que pasa a través de un middleware en tiempo real se ha incrementado
dramáticamente con la introducción de internet, redes inalámbricas, y las nuevas
aplicaciones basadas en la difusión.
Las ventajas de este tipo de middleware son que proveen un proceso de decisión que
determina el mejor criterio para resolver procesos sensibles al tiempo, y la posibilidad de
ayudar a los sistemas operantes en la localización de recursos cuando tienen tiempos
límites de operación.
Los middleware multimedia son una rama mayor en los middleware en tiempo real. Estos
pueden manejar una gran variedad de información. Estos tipos pueden ser textos,
imágenes de todo tipo (GPS, imágenes, etc.), procesadores de lenguajes naturales,
música y video. La información debe ser recopilada, integrada y entonces enviada al
usuario sensible del tiempo. Los dispositivos multimedia pueden incluir una mezcla de
dispositivos tanto físicos (parlantes, cámaras, micrófono) como lógicos.
Middleware especialistas[editar]
En muchos casos los middleware proveen una tarea muy específica que no se puede
ajustar a las categorías anteriores. Un ejemplo serían middlewares médicos.
Aplicaciones[editar]
Los servicios de middleware proporcionan un conjunto más funcional de la API s para
permitir una aplicación a:

 Localizar claramente a través de la red, proporcionando así una interacción con otro
servicio o aplicación
 Los datos filtrados para que sean utilizables en un ambiente público a través
de anonymization process para la protección de la privacidad (por ejemplo)
 Ser independiente del servicio de red
 Ser fiable y siempre disponible
 Añadir los atributos complementarios como semántica en comparación con el sistema
operativo y servicios de red.
Middleware ofrece algunas ventajas únicas tecnológicas para los negocios y la industria.
Por ejemplo, los sistemas tradicionales de bases de datos suelen ser desplegados en
entornos cerrados, donde los usuarios acceden al sistema sólo a través de una
red restringida o intranet (por ejemplo, red interna de una empresa). Con el crecimiento de
la World Wide Web, los usuarios pueden acceder a prácticamente cualquier base de datos
para las que tengan derechos de acceso adecuados desde cualquier parte del
mundo. Middleware aborda el problema de diferentes niveles de interoperabilidad entre las
estructuras de base de datos diferente. Middleware facilita el acceso a la herencia de un
sistema de gestión de bases de datos (DBMS) o aplicaciones a través de un servidor web,
sin tener en cuenta las características específicas de base de datos.4
Las empresas frecuentemente utilizan las aplicaciones de middleware para vincular la
información de bases de datos de sus departamentos, tales como nóminas, ventas y
contabilidad, o bases de datos alojadas en múltiples localizaciones geográficas.5 En el
mercado de la salud que es altamente competitivo, los laboratorios hacen un amplio uso
de aplicaciones de middleware para minería de datos y sistema informático del
laboratorio (LIS), y para combinar los sistemas de información durante fusiones de
hospitales. Los Middleware ayudan a reducir la brecha entre LISs separados en una red de
salud recién formado a raíz de una compra del hospital.6
Los desarrolladores de redes inalámbricas pueden utilizar middleware para afrontar los
retos asociados a los de sensores inalámbricos de red (WSN), o tecnologías WSN. La
implementación de una aplicación de middleware permite WSN desarrolladores. Para
integrar los sistemas operativos y hardware con la amplia variedad de aplicaciones
diferentes que están disponibles actualmente.7
Los middleware pueden ayudar a los desarrolladores de software a no tener que
escribir APIs para todos los programas de control, que actúa como una interfaz de
programación independiente para sus aplicaciones. Para la Internet del Futuro, el
funcionamiento de la red a través del monitoreo de tráfico en escenarios multi-dominio,
utilizando herramientas de mediación (middleware) es una poderosa ayuda, ya que
permiten operadores, investigadores y proveedores de servicios para supervisar Calidad
de servicio y analizar los eventuales fracasos en servicio de telecomunicaciones.8
Por último, el comercio electrónico utiliza middleware para ayudar en el manejo de
transacciones rápidas y seguras a través de muchos tipos diferentes de entornos
informáticos.9 En resumen, el middlewarese ha convertido en un elemento crítico en una
amplia gama de industrias, gracias a su capacidad de reunir los recursos a través de
diferentes redes o plataformas de computación.
En 2004 los miembros de la Unión Europea de Radiodifusión (UER), han realizado un
estudio de middleware con respecto a la integración de sistemas en entornos de difusión.
Se trataba de sistema de expertos en ingeniería de diseño de 10 principales cadenas
europeas, se trabajó durante un período de 12 meses para entender el efecto de
productos, principalmente de software, basado en técnicas de producción de medios de
comunicación y el diseño del sistema de radiodifusión. Los informes resultantes 3300S
Tecnología 3300 y Tech fueron publicados y están disponibles gratuitamente desde el sitio
web de la UER.1011

También podría gustarte