lunes, 11 de mayo de 2015

Taxonomía del software Middleware

En esta taxonomía propuesta de middleware, hay dos categorías principales: tipo de integración y el tipo de aplicación. Se describe además cada una de estas subcategorías en detalle en las siguientes subsecciones.


Categoría de integración

El tipo de integración incluye los middleware que tiene una forma específica de ser integrado en su entorno de sistema heterogéneo. Cada uno de estos middleware tiene diferentes protocolos de comunicación o modos de funcionamiento entre el otro software. Vamos a discutir cada uno de estos tipos de integración de middleware de la siguiente manera.

Orientados a procedimiento o procesos

Los middleware que son orientados a procesos, utiliza una comunicación síncrona (como un teléfono). La característica de la middleware orientado al procedimiento es el uso de trozos del cliente y esqueletos de servidor. El stub del cliente convierte los parámetros de un procedimiento en un mensaje (conocido como marshalling) y enviar este mensaje al servidor (o host). El esqueleto del servidor convierte el mensaje de nuevo en los parámetros y envía la llamada al procedimiento para la aplicación del servidor donde se procesa. Una vez que el procedimiento se ha realizado el proceso inverso ocurre. El talón de cliente también comprueba los errores, envía los resultados al software llamado, y luego suspende el hilo
Las ventajas de este middleware son que utiliza tipos estándar de servicios de nombres, controles remotos procesos, puede devolver una respuesta incluso con problemas de la red, apoya excepciones, y se puede administrar varios tipos de formatos de datos y servicios de nivel de sistema heterogéneos. Las desventajas incluyen no ser escalable ya que no contiene mecanismo de replicación, no siendo reflectante (en que no puede devolver datos a otro programa) y es un proceso muy rígido en que es fuertemente pareja para el procedimiento.

Orientados a objetos

El Middleware orientado a objetos (OO)  apoya las peticiones de objetos distribuidos. La comunicación entre los objetos (objetos de cliente y objeto de servidor) puede ser síncrona, sincrónica diferido, y asincrónica mediante políticas de roscado. Middleware de objetos soporta múltiples transacciones agrupando peticiones similares de varios objetos de cliente en una transacción.
El middleware OO funciona con el objeto de cliente primero haciendo una llamada al método lógico objeto remoto.
Un proxy ORB local (también conocido como un stub) pone en orden la información y la transmite a través del agente (broker).
El Agente actúa como un intermediario que pueda ponerse en contacto con una serie de fuentes de datos, obtiene sus ID de referencia, la recogida de datos, y en ocasiones la reorganización de datos.
El objeto servidor procesa la información y genera un resultado que es devuelto al cliente siguiendo los pasos inversos.
El proxy remoto (también conocido como esqueleto) desordena la información que le llega del agente y se la pasa al objeto servidor.

Las ventajas son que permiten generar reflexión y escalabilidad, que opera con múltiples tipos de información y estados (soporta múltiples operaciones simultáneas utilizando multi-threading).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)

Este Middleware orientado a mensajes (MOM) se puede subdividir en dos tipos – Mensaje espera y Mensaje de publicación / suscripción. En el tipo de mensaje espera se puede dividir en mensaje y espera, la aplicación envía un mensaje (destinada a uno o varios clientes) con el MOM cliente. El servidor MOM recoge las peticiones de la cola (intermediario de mensajes) en un orden predeterminado (ya sea FIFO, basado en un esquema de prioridad, o en base a un método de balanceo de carga). El servidor MOM actúa como un router para el mensaje y no suele interactuar con él

El MOM de publicación / suscripción funciona de forma ligeramente diferente. Esta MOM es un proceso orientado a eventos. Si un cliente quiere participar por primera vez primero se une a un bus de información. A continuación, dependiendo de su función si es como publicador, suscriptor y ambas, este registra un detector de eventos en el bus. El publicador envía una notificación de un evento para el autobús (en el servidor MOM). El servidor MOM entonces envía un aviso al suscriptor registrado cuando la información está disponible. Cuando las solicitudes de un suscriptor especificaron algunos datos, la solicitud se envuelve en un mensaje y se envían al bus. El bus a continuación, envía un evento para el publicador que solicita los datos.

Orientados a componentes

Un componente se describe como un "programa que realiza una función específica y está diseñado de tal manera para operar fácilmente con otros componentes y aplicaciones". Este middleware es una configuración de los componentes. Estos componentes son seleccionados ya sea en tiempo de compilación o en tiempo de ejecución. La principal contribución de este middleware es que cuenta con una amplia biblioteca de componentes y componentes fábricas, que apoyan la construcción en múltiples plataformas. Dado que la variación (es decir, la disponibilidad de recursos, nuevos protocolos requeridos, conectividad de red) en el entorno de computación distribuida aumenta cada año, el software como componente o middleware reflexivo será necesaria para proporcionar los requisitos de calidad de servicio cada vez mayores.
Los puntos fuertes de este middleware son que es configurable y reconfigurable. Re-configurabilidad 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

Agentes se consideran un middleware que consta de varios componentes: entidades (objetos, hilos), los medios de comunicación (la comunicación entre un agente y otro), y las leyes (normas en materia de coordinación de comunicación del agente). Los medios pueden ser monitores, canales o tipos más complejos (por ejemplo, tuberías). Leyes identificar la naturaleza interactiva de los agentes tales como la sincronización o el tipo de esquemas de denominación
Un agente es capaz de acciones autónomas para cumplir con sus objetivos de diseño. Esta adaptabilidad del agente debe ser genérica para que cubra una amplia base de estrategias, que van desde algoritmos en cualquier momento, las estrategias de equilibrio de carga, la capacidad de adaptación de los recursos y aplicaciones de recursos inconscientes.

Los puntos fuertes de middleware agente que son agentes pueden realizar tareas en nombre del usuario y son adaptables para cubrir una amplia gama de estrategias basadas en el medio ambiente que les rodea. Ellos toman decisiones en cuanto a la mejor calidad para el propósito y no es mejor. Sin embargo, las complejidades, las dificultades para entender las operaciones, y la abundancia de mano de obra requerida para incorporarlos en un sistema han sido los agentes de mayor debilidad.

Categoría de Aplicación

La clasificación aplicación incluye middleware que encaja en tipos específicos de las funciones de la aplicación. Estos middleware (acceso a datos, basado en la Web, en tiempo real, de escritorio, y especial) trabajan específicamente con una aplicación.

Middleware para acceso a información (DAM, Data Access middleware)

El acceso Middleware de datos (DAM) es un tipo de middleware se caracteriza por la interacción de la aplicación con local y / o bases de datos remotos (el legado, relacionales y no relacionales), almacenes de datos, u otros archivos de origen de datos. Esta categoría de middleware incluye procesamiento (TP) monitor de transacciones, puertas de enlace de base de datos y middleware distribuido de procesamiento de transacciones. Este middleware puede ayudar con los requisitos especiales de bases de datos tales como la seguridad (autenticación, confidencialidad y control de acceso), la protección y las propiedades ACID. Este middleware de base de datos puede incluso realizar transacciones solicitadas a sí mismos si el DBMS no está disponible o no es capaz de manejar las transacciones. Dado que los datos pueden ser retenidos en más de una base de datos, el middleware (específicamente el monitor de procesamiento de transacciones) realiza un seguimiento del progreso de cada transacción y puede solicitar reversiones cuando falla una parte de la solicitud. El middleware informa la aplicación solicitante del estado de la solicitud y pasa todos los datos devueltos. Algunos middleware incluso modificar la apariencia de los datos devueltos en un formato que hace que los datos más fácil de usar por la aplicación o el usuario

Los puntos fuertes incluyen la comunicación entre múltiples fuentes y bases de datos de forma transparente, las conversiones del lenguaje de programación de aplicaciones a la lengua base de datos destino aceptable, y la capacidad de conversión de respuesta configurado en un formato aceptable para la aplicación solicitante. Este middleware tiene la capacidad de consultar las bases de datos directamente o comunicarse con el DBMS

Middleware de escritorio

El Middleware de escritorio puede hacer variaciones en la presentación de los datos conforme a lo solicitado por un usuario mediante el seguimiento y la asistencia a las aplicaciones, gestionar cualquier servicio de transporte (por ejemplo de emulación de terminal, transferencia de archivos, servicios de impresión), y proporcionar protección de copia de seguridad y otras funciones operacionales fondo con mínima interrupción. Servicios adicionales de middleware de escritorio incluyen la gestión de gráficos, la clasificación, el carácter y la manipulación de cadenas, registros y gestión de archivos, servicios de directorio, gestión de la información de base de datos, gestión de hilo, programación de trabajos, servicios de notificación de eventos, gestión de la instalación de software, servicios de cifrado y control de acceso

Middleware basados en la web

Middleware basada en Web ayuda al usuario con la navegación, utiliza 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. Se ofrece servicio de autenticación para un gran número de aplicaciones y la comunicación entre procesos que es independiente del sistema operativo subyacente, protocolos de red y plataformas de hardware. Los middleware que se encuentran fuertemente unidos a la red se llaman servidores de aplicaciones ya que mejoran el "rendimiento, disponibilidad, escalabilidad, seguridad, recuperación de información, y soportan la administración colaborativa y su uso." Middleware puede conectar directamente a la aplicación (eludiendo HTTP) cuando esta ganancias una mejor comunicación entre el servidor y el cliente. Algunos de los servicios básicos prestados por el middleware basado en la web incluyen servicios de directorio, dirección de correo, facturación, gestión de suministros a gran escala, el acceso a datos remotos (para incluir descargas, acceso al programa, y la navegación), y aplicaciones remotas.
Uno de los usos principales de la web es el comercio electrónico, que se refiere a la comunicación entre dos o más empresas (o los clientes y las empresas) realizado a través de Internet. Este controla el acceso a la información de middleware perfil de cliente, permite el funcionamiento de las funciones de negocio tales como la compra y venta de artículos y ayuda en el comercio de la información financiera entre las aplicaciones. Este middleware empresarial puede proporcionar una plataforma modular para construir la próxima generación de aplicaciones web. La necesidad de seguridad, calidad de servicio, es esencial transacción rápida y rentable, y la transparencia sobre diversos ambientes.
Las ventajas de middleware de comercio electrónico incluyen permitiendo la rápida integración de los distintos sistemas de computación en una solución de negocio basado en la web, la comunicación entre las empresas más fácil y rentable, y más seguro, y permitir que los representantes de servicio al cliente para acceder a los datos desde múltiples sistemas de información al cliente.
Middleware móvil o inalámbrica es la otra subdivisión principal de este middleware web. Se integra aplicaciones y servidores distribuidos sin conectar de forma permanente (a través de cables) a la web. Proporciona a los usuarios móviles un acceso seguro, inalámbrico al correo electrónico, calendarios, información de contacto, listas de tareas, etc.
Algunas cuestiones clave del entorno informático móvil incluyen ancho de banda, fiabilidad, retardo, latencia, tasa de errores, interfaz de usuario, capacidad de procesamiento, interoperabilidad y costo [20]. Las tasas de error de ancho de banda y aumentan exponencialmente en un entorno inalámbrico. El sistema móvil tiene otros problemas, así que incluyen fluctuaciones de baterías eléctricas, caídas de red, moviendo fuera del alcance de la señal, conocimiento de la ubicación y el costo de la comunicación. Cuando la señal se transfiere de una fuente de señal a otro, surgen preocupaciones adicionales como la autenticación (asegurándose de que este es el mismo usuario) y la comprobación de los paquetes perdidos.
Esta conexión inalámbrica se logra mediante el uso de un conjunto diferente de protocolos, herramientas y procedimientos que un ordenador conectado físicamente a la red.

Middleware a tiempo real

En tiempo real se caracteriza por los datos correctos de ser proporcionados en tiempo de lo contrario ya no es los datos correctos. El middleware en tiempo real compatible con solicitud y programación de políticas sensibles al tiempo. Esto lo hace con los servicios que mejoran la eficacia de las aplicaciones de usuario. Middleware en tiempo real se puede dividir en las diferentes aplicaciones de usarlos (aplicación en tiempo real la base de datos, procesamiento de sensor, y pasando 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 la Internet, las redes inalámbricas, y las nuevas aplicaciones basadas en "difusión".
Ventajas de middleware dependiente del tiempo es que proporcionan un proceso de decisión que determina el mejor enfoque para la resolución de los procedimientos de los que el tiempo y pueden ayudar a que el sistema operativo en la asignación de recursos para ayudar a las aplicaciones sensibles al tiempo de cumplir sus plazos

Middleware Multimedia es una parte importante de la categoría en tiempo real y puede manejar confiablemente una variedad de tipos de datos. Estos tipos incluyen voz, imágenes (fotos, salidas de GPS, etc.), los procesadores de lenguaje natural (traductores y Teleprompters), música y video. Los datos deben ser recogidos, integrado, y luego entregado al usuario de una manera sensible al tiempo. Los sistemas multimedia pueden integrar una mezcla de dispositivos lógicos y físicos. Dispositivos físicos pueden incluir los editores de vídeo, cámaras, altavoces y dispositivos de procesamiento de datos (codificador / decodificador o sintetizadores medios de comunicación) [10]. Uno importantes asistencias middleware multimedia sensibles al tiempo en los servicios distribuidos de vídeo bajo demanda. Estos servicios requieren un proceso para abrir nuevas conexiones, garantizar el pago de servicios al proveedor, y lo más importante, garantizar la calidad de servicio (QoS) entregado al cliente.

Middleware especialistas

Al igual que con la mayoría de los casos de categorización, hay varios tipos de middleware que proporcionan para las necesidades específicas que no encajan en las categorías anteriores. Había varios middleware que cayó en esta categoría en el sitio web Internet.edu. Estos incluyen Sistema Multi-Campus y middleware médicos, tipos muy específicos de middleware pueden ser asignados a esta categoría.

No hay comentarios:

Publicar un comentario