MIDDLEWARE

Arquitectura para aplicaciones distribuidas


Software de conectividad que consiste en un conjunto de servicios que permiten interactuar a múltiples procesos que se ejecutan en distintas máquinas a través de una red. Ocultan la heterogeneidad, abstrae la complejidad subyacente y proveen de un modelo de programación conveniente para los desarrolladores de aplicaciones.

Características


– Independiza el servicio de su implantación, del sistema operativo y de los protocolos de comunicaciones

– Permite la convivencia de distintos servicios en un mismo sistema. 

-  Permite la transparencia en el sistema. 


Clasificación


Middleware basado en Llamada a Procedimiento Remoto (RPC, Remote Procedure Call)

Este tipo de middleware proporciona gestión eficiente de llamadas remotas a procedimiento, La principal ventaja de la RPC es que permite definir la interfaz de comunicación con los componentes mediante un lenguaje de definición de interfaz (Interface Definition Language), pueden ser síncronos o asíncronos.


Middleware orientado a objetos: El middleware orientado a objetos es una extensión del middleware orientado a RPC que agrega muchas características propias de los lenguajes de programación orientados a objetos. Estas extensiones incluyen soporte para herencia, referencias a objetos y soporte de excepciones. El middleware orientado a objetos soporta peticiones síncronas como mecanismo de comunicación por defecto.

Middleware Orientado a Mensajes (MOM, Message-Oriented Middleware): 

Este tipo de middleware facilita la comunicación mediante intercambio de mensajes, los mensajes pueden ser utilizados para solicitar la ejecución de servicio remoto, para notificación distribuida de eventos, o para implementar sistemas basados en publicación-suscripción. Generalmente el middleware orientado a mensajes sólo proporciona de forma eficiente servicios asíncronos y colas de mensajes. Este bajo nivel de abstracción suele completarse con capas adicionales que incorporen mecanismos de detección de fallos, gestión de prioridad de mensajes, desacople entre cliente y servidor (para facilitar la escalabilidad del software).

Middleware Orientados a componentes: 

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. En este tipo de middleware la principal ventaja es que son configurables y reconfigurables. 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.

Middleware Agentes: 

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...


Lógicas de mediación de datos


Proporciona una interfaz coherente (llamada fachada de servicios de datos) para acceder a datos, independiente de la infraestructura de correlación de objetos relacionales (como EJB, DAS o JPA). A su vez, la infraestructura de correlación extraída se utiliza para transformar los datos recuperados de la base de datos en un colección de objetos Java. Esos objetos se implementan como objetos de datos de servicio físico (SDO).








Comentarios