Middleware
Enviado por kyokeshi • 22 de Agosto de 2012 • 2.275 Palabras (10 Páginas) • 586 Visitas
Middleware
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.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 que resolver y de las funciones necesarias, serán útiles diferentes tipo 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.
Definición
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 Middleware permiten que los datos contenidos en una base de datos puedan ser accedidos a través de otra. Ahorra el tiempo a los programadores..
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 de los software middleware
Esquema taxonmí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. Esta a su vez es desarmada en otras, las cuales son descritas a continuación:
Categoría de integración
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
Los middleware que son orientados a procesos, utilizan a 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 esta es procesada. Terminado el procesamiento el proceso inverso ocurre. El “client stub” chequea los errores, envía los resultados al software que inicio la petición y entonces suspenden el proceso. Las ventajas de estos middleware es que usan un tipo estándar en nombres de servicios, procesos remotos, pueden retornar respuesta aun con problemas en la red, 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 realizo la solicitud (reflexión) y poseen procesos muy rígidos.
Orientados a objetos
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 primero con el objeto cliente que llama a un método lógico para obtener un objeto remoto. Un ORB Proxy (también conocido como stub) pone en orden la información y la transmite a través del agente (broker). El agente actua como punto medio que contacta un número de fuentes de información, obtener sus referentes IDs, recolectar información y a veces reorganizarla. El objeto servidor recibe el mensaje desde el agente y el proxy remoto (también conocido como Skeleton) desordena la información. La información es ingresada a un objeto servidor sirviente en donde un particular procesos es realizador. El resultado es devuelto de forma inversa a lo explicado. Las ventajas es que permiten generar reflexión y escalabilidad. También opera con múltiples tipos de información y estados y soporta procesos múltiples. Las desventajas incluyen pre vínculos antes de la ejecución y la necesidad de un código contenedor para algunos sistemas heredados.
Orientados a mensajes (MOM)
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 es disponible.
Orientados a componentes
Un componente es "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
Los agentes son un tipo de middleware que posee varios componentes: entidades, los medios de comunicación y las leyes. Las entidades pueden ser objetos o procesos, los medios pueden ser canales, tuberías, etc. Mientras que las leyes
...