MIDDLEWARE
Enviado por yibane • 20 de Abril de 2014 • 3.472 Palabras (14 Páginas) • 360 Visitas
INTRODUCCION
Hoy por hoy Middleware es un software que asiste a una aplicación para interactuar o comunicarse con otras aplicaciones, software, redes, hardware y/o sistemas operativos. Éste simplifica el trabajo de los programadores en la compleja tarea de generar las conexiones que son necesarias en los sistemas distribuidos. De esta forma se provee una solución que mejora la calidad de servicio, seguridad, envío de mensajes, directorio de servicio, etc.
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.
Actualmente el uso de internet como herramienta básica de comunicación es fundamental en muchos sectores industriales y profesionales. desarrollar software moderno para internet requiere afrontar nuevos requisitos, como por ejemplo: escalabilidad, el número de nodos y dispositivos gestionados por el sistema no debe establecer un límite para las aplicaciones; adaptabilidad, la aplicación debe soportar simultáneamente una amplia gama de dispositivos con recursos y funciones heterogéneos; flexibilidad, la aplicación debe permitir cambios en las condiciones de entorno, y dinamicidad, los nuevos dispositivos pueden estar disponibles durante breves periodos de tiempo.
HISTORIA
El origen de la palabra Middleware se remonta al año 1968, en donde la palabra es 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 90s, fue solamente descrito como un software para la gestión de conexión en redes, 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 del software middleware
En este contexto surge el middleware como una propuesta industrial para la adaptación de aplicaciones existentes que no fueron diseñadas originalmente para dar soporte distribuido. El middleware es una capa de software que proporciona soporte básico de comunicación y actúa como elemento de unión entre los elementos software distribuidos en la red. Actualmente el uso del middleware como plataforma básica para el desarrollo de software distribuido se ha generalizado y se ha incorporado el modelo de programación basado en componentes como técnica básica para desarrollo de software distribuido, por ejemplo, los middleware proporcionan componentes reutilizables. Una ventaja adicional de los middleware modernos es que facilitan el desarrollo de software mediante componentes escritos en diversos lenguajes y facilitan su correcto funcionamiento en diversos sistemas operativos. Todo esto tiene como objetivo facilitar al programador el desarrollo del software distribuido.
PODEMOS CLASIFICAR LOS MIDDLEWARE EN CINCO TIPOS REPRESENTATIVOS.
1. Orientado a transacciones.
2. Orientado a mensajes.
3. Basado en RPC.
4. Orientado a objetos distribuidos.
5. Orientado a grupos
MIDDLEWARE ORIENTADO A TRANSACCIONES
Este tipo de middleware facilita el desarrollo de sistemas que requieren transacciones distribuidas, la transacción asegura que un conjunto de operaciones se realicen en todos los nodos del sistema o en ninguno. Generalmente se utilizan en aplicaciones que requieren consistencia de estado entre componentes distribuidos.
Los middleware orientados a transacciones suelen utilizar el two-phases commit protocol (2PC), para ejecutar las transacciones, el distributed transaction processing protocol (DTP) define una interfaz de programación para acceso al protocolo 2PC. Esto permite una fácil integración de los servidores y los sistemas de gestión de bases de datos.
El principal inconveniente de este tipo de middleware es su eficiencia; la complejidad inherente a las transacciones distribuidas requiere un alto coste de ejecución, por esta razón este tipo de middleware sólo suele utilizarse cuando es realmente imprescindible para la aplicación.
Generalmente el middleware orientado a transacciones soporta tanto la comunicación síncrona y asíncrona entre los nodos, y no suelen proporcionar ningún tipo de empaquetado y desempaquetado automático de los mensajes.
MIDDLEWARE ORIENTADO A MENSAJES
Soportan comunicaciones síncronas, pero se requieren formas más dinámicas y formas de interacción asíncrona la interoperabilidad basada en Mensaje no es nada revolucionario, ya existen implementaciones de RPC que ofrecen comunicación asíncrona, muchos sistemas TP-Monitors tenían colas de mensajes la interoperabilidad basada en mensajes es un paradigma donde clientes y servidores se comunican intercambiando mensajes
EJEMPLOS DE ESTE TIPO DE MIDDLEWARE SON MQSERIES Y JAVA MESSAGE SERVICE:
MQSERIES desarrollado por IBM, permite la integración de aplicación gestionando el intercambio asíncrono de información a través de diversos sistemas operativos y procesadores. La semántica de entrega de mensajes es del tipo ''solamente una vez''. Además de gestionar los protocolos de comunicación, mqseries gestiona la distribución dinámica de la carga de los recursos disponibles, proporciona soporte para la recuperación del sistema ante fallos del sistema y proporciona soporte para la construcción de aplicaciones distribuidas portables.
JAVA MESSAGE SERVICE (JMS). Desarrollado por sun microsystems. Este middleware proporciona soporte a dos paradigmas de comunicación distribuida: productor-consumidor y publicación-suscripción.
La comunicación asíncrona entre componentes mediante el paradigma productor-consumidor está disponible incluso cuando el consumidor no está activo en el momento del envío del mensaje (JMS almacena el mensaje y lo entrega cuando el componente receptor del mensaje comience a proporcionar su servicio).
...