Que es un Middleware
Es un
software de computadora que conecta componentes de software o aplicaciones para
que pueda intercambiar datos entre éstas. Es utilizado a menudo para
soportar aplicaciones distribuidas. Estos incluyen servidores web, servidores
de aplicaciones, sistemas de gestión de contenido y herramientas similares. Es
especialmente esencial para tecnologías como XML, SOAP, servicios web y
arquitecturas orientada a servicios.
Orígenes
El origen de la palabra middleware se remonta al año 1968, en donde la
palabra fue usada durante la '1968 NATO Software Engineering Conference', 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, pero 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.
Taxonomía del 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.
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 elclient
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 con figurable y reconfigurable. La re-configuració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.
Taxonomía del software 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.
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.
Categoría de aplicación
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.
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.
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.
Middleware a tiempo real
La información en tiempo real es caracterizada por que 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.
Evolución
Middleware
El funcionamiento del
Web está basado en el paradigma El funcionamiento del Web está basado en el
paradigma cliente/servidor.
La evolución de la Web
ha pasado de ser un medio de publicar y emitir documentos electrónicos a
soportar aplicaciones cliente/servidor más interactivas.
Protocolo de Middleware
Es un conjunto bien conocido de reglas y formatos que se utilizan para
la comunicación entre procesos que realizan una determinada tarea. Se requieren
dos partes:
Especificación de la secuencia de mensajes que se han de intercambiar.
Especificación del formato de los datos en los mensajes.
Un protocolo permite que componentes heterogéneos de sistemas
distribuidos puedan desarrollarse independientemente, y por medio de módulos de
software que componen el protocolo, haya una comunicación transparente entre
ambos componentes. Es conveniente mencionar que estos componentes del protocolo
deben estar tanto en el receptor como en el emisor.
Ejemplos de protocolos usados en los sistemas distribuidos:
IP: Protocolo de Internet.- Protocolo de la capa de Red, que
permite definir la unidad básica de transferencia de datos y se encarga del
direccionamiento de la información, para que llegue a su destino en la red.
TCP: Protocolo de Control de Transmisión.- Protocolo de la capa de
Transporte, que permite dividir y ordenar la información a transportar en
paquetes de menor tamaño para su transporte y recepción.
HTTP: Protocolo de Transferencia de Hipertexto.- Protocolo de la
capa de aplicación, que permite el servicio de transferencia de páginas de
hipertexto entre el cliente WEB y los servidores.
SMTP: Protocolo de Transferencia de Correo Simple.- Protocolo de la
capa de aplicación, que permite el envío de correo electrónico por la red.
POP3: Protocolo de Oficina de Correo.- Protocolo de la capa de
aplicación, que permite la gestión de correos en Internet, es decir, le permite
a una estación de trabajo recuperar los correos que están almacenados en el
servidor.
Aplicaciones
Los servicios de
middleware proporcionan un conjunto más funcional de la APIs para permitir una
aplicación a:
- Localizar
claramente a través de la red, proporcionando así una interacción con otro
servicio o aplicación.
- Los datos filtrados
para que sean utilizables en un ambiente público a través de proceso de
anonimización para la protección de la privacidad.
- Ser independiente del
servicio de red
- Ser fiable y siempre
disponible
- Añadir los
atributos complementarios como semántica en comparación con el sistema
operativo y servicios de red.
Middleware ofrece
algunas ventajas únicas tecnológicas para los negocios y la industria. Por
ejemplo, los sistemas tradicionales de bases de datos suelen ser desplegados en
entornos cerrados, donde los usuarios acceden al sistema sólo a través de una
red restringida o intranet (por ejemplo, red interna de una empresa). Con el
crecimiento de la World Wide Web, los usuarios pueden acceder a prácticamente
cualquier base de datos para las que tengan derechos de acceso adecuados desde
cualquier parte del mundo. Middleware aborda el problema de diferentes niveles
de interoperabilidad entre las estructuras de base de datos diferente.
Middleware facilita el acceso a la herencia de un sistema de gestión de bases
de datos (DBMS) o aplicaciones a través de un servidor web, sin tener en cuenta
las características específicas de base de datos.
Las empresas frecuentemente utilizan las aplicaciones de middleware para
vincular la información de bases de datos de sus departamentos, tales como
nóminas, ventas y contabilidad, o bases de datos alojadas en múltiples
localizaciones geográficas. En el mercado de la salud que es altamente
competitivo, los laboratorios hacen un amplio uso de aplicaciones de middleware
para minería de datos y sistema informático del laboratorio (LIS), y para
combinar los sistemas de información durante fusiones de hospitales. Los
Middleware ayudan a reducir la brecha entre LISs separados en una red de salud
recién formado a raíz de una compra del hospital.
Los middleware pueden ayudar a los desarrolladores de software a no tener que
escribir APIs para todos los programas de control, que actúa como una interfaz
de programación independiente para sus aplicaciones. Para la Internet del
Futuro, el funcionamiento de la red a través del monitoreo de tráfico en
escenarios multi-dominio, utilizando herramientas de mediación (middleware) es
una poderosa ayuda, ya que permiten operadores, investigadores y proveedores de
servicios para supervisar Calidad de servicio y analizar los eventuales
fracasos en servicio de telecomunicaciones.
Por último, el comercio electrónico utiliza middleware para ayudar en el manejo
de transacciones rápidas y seguras a través de muchos tipos diferentes de
entornos informáticos. En resumen, el middleware se ha convertido en un elemento
crítico en una amplia gama de industrias, gracias a su capacidad de reunir los
recursos a través de diferentes redes o plataformas de computación.
El funcionamiento del
Web está basado en el paradigma El funcionamiento del Web está basado en el
paradigma cliente/servidor.
La evolución de la Web
ha pasado de ser un medio de publicar y emitir documentos electrónicos a
soportar aplicaciones cliente/servidor más interactivas.
Protocolo de Middleware
Es un conjunto bien conocido de reglas y formatos que se utilizan para
la comunicación entre procesos que realizan una determinada tarea. Se requieren
dos partes:
Especificación de la secuencia de mensajes que se han de intercambiar.
Especificación del formato de los datos en los mensajes.
Un protocolo permite que componentes heterogéneos de sistemas
distribuidos puedan desarrollarse independientemente, y por medio de módulos de
software que componen el protocolo, haya una comunicación transparente entre
ambos componentes. Es conveniente mencionar que estos componentes del protocolo
deben estar tanto en el receptor como en el emisor.
Ejemplos de protocolos usados en los sistemas distribuidos:
IP: Protocolo de Internet.- Protocolo de la capa de Red, que
permite definir la unidad básica de transferencia de datos y se encarga del
direccionamiento de la información, para que llegue a su destino en la red.
TCP: Protocolo de Control de Transmisión.- Protocolo de la capa de
Transporte, que permite dividir y ordenar la información a transportar en
paquetes de menor tamaño para su transporte y recepción.
HTTP: Protocolo de Transferencia de Hipertexto.- Protocolo de la
capa de aplicación, que permite el servicio de transferencia de páginas de
hipertexto entre el cliente WEB y los servidores.
SMTP: Protocolo de Transferencia de Correo Simple.- Protocolo de la
capa de aplicación, que permite el envío de correo electrónico por la red.
POP3: Protocolo de Oficina de Correo.- Protocolo de la capa de
aplicación, que permite la gestión de correos en Internet, es decir, le permite
a una estación de trabajo recuperar los correos que están almacenados en el
servidor.
Aplicaciones
Los servicios de
middleware proporcionan un conjunto más funcional de la APIs para permitir una
aplicación a:
- Localizar claramente a través de la red, proporcionando así una interacción con otro servicio o aplicación.
- Los datos filtrados para que sean utilizables en un ambiente público a través de proceso de anonimización para la protección de la privacidad.
- Ser independiente del servicio de red
- Ser fiable y siempre disponible
- Añadir los atributos complementarios como semántica en comparación con el sistema operativo y servicios de red.
Middleware ofrece
algunas ventajas únicas tecnológicas para los negocios y la industria. Por
ejemplo, los sistemas tradicionales de bases de datos suelen ser desplegados en
entornos cerrados, donde los usuarios acceden al sistema sólo a través de una
red restringida o intranet (por ejemplo, red interna de una empresa). Con el
crecimiento de la World Wide Web, los usuarios pueden acceder a prácticamente
cualquier base de datos para las que tengan derechos de acceso adecuados desde
cualquier parte del mundo. Middleware aborda el problema de diferentes niveles
de interoperabilidad entre las estructuras de base de datos diferente.
Middleware facilita el acceso a la herencia de un sistema de gestión de bases
de datos (DBMS) o aplicaciones a través de un servidor web, sin tener en cuenta
las características específicas de base de datos.
Las empresas frecuentemente utilizan las aplicaciones de middleware para vincular la información de bases de datos de sus departamentos, tales como nóminas, ventas y contabilidad, o bases de datos alojadas en múltiples localizaciones geográficas. En el mercado de la salud que es altamente competitivo, los laboratorios hacen un amplio uso de aplicaciones de middleware para minería de datos y sistema informático del laboratorio (LIS), y para combinar los sistemas de información durante fusiones de hospitales. Los Middleware ayudan a reducir la brecha entre LISs separados en una red de salud recién formado a raíz de una compra del hospital.
Los middleware pueden ayudar a los desarrolladores de software a no tener que escribir APIs para todos los programas de control, que actúa como una interfaz de programación independiente para sus aplicaciones. Para la Internet del Futuro, el funcionamiento de la red a través del monitoreo de tráfico en escenarios multi-dominio, utilizando herramientas de mediación (middleware) es una poderosa ayuda, ya que permiten operadores, investigadores y proveedores de servicios para supervisar Calidad de servicio y analizar los eventuales fracasos en servicio de telecomunicaciones.
Por último, el comercio electrónico utiliza middleware para ayudar en el manejo de transacciones rápidas y seguras a través de muchos tipos diferentes de entornos informáticos. En resumen, el middleware se ha convertido en un elemento crítico en una amplia gama de industrias, gracias a su capacidad de reunir los recursos a través de diferentes redes o plataformas de computación.
No hay comentarios.:
Publicar un comentario