Esquema 1.2 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. Éstas poseen a su vez diferentes clases.
3.2.1.1. 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 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 chequea 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 aun 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:
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 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 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)
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
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
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.
3.2.1.2. Categoría de Aplicación
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)
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
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
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, emails, 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
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. Éstos 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
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.
No hay comentarios.:
Publicar un comentario