En el contexto de las aplicaciones distribuidas, el middleware es un software que restringe los servicios que ofrece el sistema operativo para permitir que los distintos componentes de un sistema distribuido se comuniquen y gestionen datos. El middleware facilita y simplifica las aplicaciones distribuidas complejas . Incluye servidores web , servidores de aplicaciones , mensajería y herramientas similares que facilitan el desarrollo y la entrega de aplicaciones. El middleware es fundamental para las tecnologías de la información modernas basadas en XML , SOAP , servicios web y arquitectura orientada a servicios .
El middleware suele facilitar la interoperabilidad entre aplicaciones que se ejecutan en diferentes sistemas operativos, al proporcionar servicios que permiten el intercambio de datos mediante estándares. El middleware se sitúa en el medio entre el software de aplicación , que puede estar funcionando en distintos sistemas operativos . Es similar a la capa intermedia de una arquitectura de sistema único de tres niveles , con la diferencia de que se extiende a través de múltiples sistemas o aplicaciones. Algunos ejemplos son el software EAI , el software de telecomunicaciones, los monitores de transacciones y el software de mensajería y colas.
La distinción entre la funcionalidad del sistema operativo y la del middleware es, hasta cierto punto, arbitraria. Si bien la funcionalidad principal del núcleo solo puede ser proporcionada por el propio sistema operativo, algunas funcionalidades que antes se ofrecían mediante middleware que se vendía por separado ahora están integradas en los sistemas operativos. Un ejemplo típico es la pila TCP/IP para telecomunicaciones, que hoy en día se incluye prácticamente en todos los sistemas operativos.
Definiciones
El middleware se define como un software que proporciona un enlace entre aplicaciones de software independientes. A veces se le denomina "tubería" porque conecta dos aplicaciones y transfiere datos entre ellas. El middleware permite acceder a los datos contenidos en una base de datos a través de otra. Esto lo hace especialmente útil para la integración de aplicaciones empresariales y tareas de integración de datos .
En términos más abstractos, el middleware es "La capa de software que se encuentra entre el sistema operativo y las aplicaciones en cada lado de un sistema de computación distribuida en una red". [ 1 ]
Orígenes
El middleware ganó popularidad en la década de 1980 como una solución al problema de cómo vincular aplicaciones más nuevas con sistemas heredados más antiguos, aunque el término se había estado utilizando desde 1968. [ 2 ] También facilitó el procesamiento distribuido , la conexión de múltiples aplicaciones para crear una aplicación más grande, generalmente a través de una red.
Usar
Los servicios de middleware proporcionan un conjunto más funcional de interfaces de programación de aplicaciones para permitir que una aplicación:
- Se ubica de forma transparente en toda la red, lo que permite la interacción con otro servicio o aplicación.
- Filtrar datos para hacerlos más fáciles de usar o públicos mediante un proceso de anonimización para la protección de la privacidad (por ejemplo).
- Sea independiente de los servicios de red.
- Sé confiable y siempre disponible.
- Agregue atributos complementarios como la semántica
en comparación con el sistema operativo y los servicios de red.
El middleware ofrece ventajas tecnológicas únicas para las empresas y la industria. Por ejemplo, los sistemas de bases de datos tradicionales suelen implementarse en entornos cerrados donde los usuarios acceden al sistema únicamente a través de una red restringida o intranet (p. ej., la red interna de una empresa). Con el crecimiento exponencial de la World Wide Web , los usuarios pueden acceder a prácticamente cualquier base de datos para la que tengan los permisos adecuados desde cualquier lugar del mundo. El middleware resuelve el problema de los diferentes niveles de interoperabilidad entre las distintas estructuras de bases de datos. Facilita el acceso transparente a sistemas de gestión de bases de datos (DBMS) o aplicaciones heredadas a través de un servidor web, independientemente de las características específicas de la base de datos. [ 3 ]
Las empresas suelen utilizar aplicaciones de middleware para vincular información de bases de datos departamentales, como nóminas, ventas y contabilidad, o bases de datos alojadas en múltiples ubicaciones geográficas. [ 4 ] En el sector sanitario, altamente competitivo, los laboratorios hacen un uso extensivo de aplicaciones de middleware para la minería de datos , la copia de seguridad del sistema de información de laboratorio (LIS) y la combinación de sistemas durante fusiones hospitalarias. El middleware ayuda a salvar la brecha entre los distintos LIS en una red sanitaria de nueva creación tras la adquisición de un hospital. [ 5 ]
El middleware puede ayudar a los desarrolladores de software a evitar tener que escribir interfaces de programación de aplicaciones (API) para cada programa de control, al servir como una interfaz de programación independiente para sus aplicaciones. Para la operación de redes de Internet futuras mediante la monitorización del tráfico en escenarios multidominio , el uso de herramientas de mediación (middleware) es de gran ayuda, ya que permite a los operadores , buscadores y proveedores de servicios supervisar la calidad del servicio y analizar posibles fallos en los servicios de telecomunicaciones . [ 6 ]
Finalmente, el comercio electrónico utiliza middleware para facilitar transacciones rápidas y seguras en diversos entornos informáticos. [ 7 ] En resumen, el middleware se ha convertido en un elemento fundamental en una amplia gama de industrias, gracias a su capacidad para integrar recursos en redes o plataformas informáticas dispares.
En 2004, miembros de la Unión Europea de Radiodifusión (UER) llevaron a cabo un estudio sobre el middleware en relación con la integración de sistemas en entornos de radiodifusión. En este estudio participaron expertos en ingeniería de diseño de sistemas de 10 importantes emisoras europeas, quienes trabajaron durante 12 meses para comprender el efecto de los productos basados principalmente en software en las técnicas de producción de medios y diseño de sistemas de radiodifusión. Los informes resultantes, Tech 3300 y Tech 3300s, se publicaron y están disponibles gratuitamente en el sitio web de la UER. [ 8 ] [ 9 ]
Tipos
Middleware orientado a mensajes
El middleware orientado a mensajes (MOM) [ 10 ] es un middleware que permite la transmisión de transacciones o notificaciones de eventos entre sistemas o componentes dispares mediante mensajes, generalmente a través de un sistema de mensajería empresarial . Con MOM, los mensajes enviados al cliente se recopilan y almacenan hasta que se procesan, mientras el cliente continúa con otras tareas.
- Mensajería empresarial
- Un sistema de mensajería empresarial es un tipo de software intermedio que facilita el intercambio de mensajes entre sistemas o componentes distintos en formatos estándar, a menudo mediante XML , SOAP o servicios web . Como parte de un sistema de mensajería empresarial, el software intermediario de mensajes puede poner en cola, duplicar, traducir y entregar mensajes a los distintos sistemas o componentes del sistema.
- Autobús de servicio empresarial
- El bus de servicios empresariales (ESB) es definido por el Grupo Burton [ 11 ] como "algún tipo de producto de middleware de integración que admite tanto middleware orientado a mensajes como servicios web ".
Middleware inteligente
[ 12 ] El middleware inteligente(IMW) proporciona inteligencia en tiempo real y gestión de eventos medianteagentes inteligentes. El IMW gestiona el procesamiento en tiempo real de señales de sensores de alto volumen y las transforma en información empresarial inteligente y procesable. Esta información procesable se entrega a los usuarios finales en paneles de control o se envía a sistemas dentro o fuera de la empresa. Es compatible con diversos tipos de hardware y software heterogéneos y proporciona una API para la interfaz con sistemas externos. Debe contar con unaarquitectura distribuidaque integre inteligencia en toda la red para transformar sistemáticamente los datos brutos en conocimiento relevante y procesable. También puede integrarse con herramientas para visualizar y gestionar operaciones y desarrollar aplicaciones de red avanzadas de la manera más eficaz.
Middleware centrado en el contenido
El middleware centrado en el contenido ofrece una abstracción sencilla entre proveedor y consumidor, mediante la cual las aplicaciones pueden solicitar contenido identificado de forma única, sin preocuparse por su procedencia ni su obtención. Juno es un ejemplo, que permite a las aplicaciones generar solicitudes de contenido asociadas a requisitos de entrega de alto nivel. [ 13 ] El middleware adapta entonces la entrega subyacente para acceder al contenido desde las fuentes que mejor se ajustan a dichos requisitos. Por lo tanto, es similar al middleware de publicación/suscripción , así como al paradigma de redes centradas en el contenido .
- Llamada a procedimiento remoto
- El middleware de llamadas a procedimientos remotos permite que un cliente utilice servicios que se ejecutan en sistemas remotos. El proceso puede ser síncrono o asíncrono .
- agente de solicitud de objetos
- Mediante el middleware de intermediación de solicitudes de objetos , las aplicaciones pueden enviar objetos y solicitar servicios en un sistema orientado a objetos.
- Acceso a datos orientado a SQL
- El acceso a datos orientado a SQL es un software intermedio entre las aplicaciones y los servidores de bases de datos.
- Middleware integrado
- El middleware integrado proporciona servicios de comunicación e interfaz de integración de software/ firmware que opera entre las aplicaciones integradas, el sistema operativo integrado y las aplicaciones externas.
Dispositivos de póliza
El término "dispositivo de políticas" se refiere a cualquier tipo de middleware que gestiona reglas de políticas. Estos dispositivos pueden mediar entre propietarios o productores de datos, agregadores de datos y usuarios de datos. En sistemas o redes institucionales heterogéneos, pueden utilizarse para aplicar, conciliar y supervisar políticas y leyes de gestión de la información acordadas en distintos sistemas (o jurisdicciones) con políticas o necesidades de información divergentes. Los dispositivos de políticas pueden interactuar con datos inteligentes (datos que contienen términos contextuales relevantes para su propio uso), agentes inteligentes (consultas con credenciales propias, autenticación o adaptabilidad contextual) o aplicaciones sensibles al contexto para controlar los flujos de información, proteger la seguridad y la confidencialidad, y mantener la privacidad. Los dispositivos de políticas respaldan los procesos de gestión de la información basados en políticas al permitir el procesamiento basado en reglas, la divulgación selectiva, la rendición de cuentas y la supervisión. [ 14 ]
Entre los ejemplos de tecnologías de aplicación de políticas para el procesamiento basado en reglas se incluyen filtros analíticos, búsqueda contextual , programas semánticos, herramientas de etiquetado y encapsulación, y DRM , entre otros; las tecnologías de aplicación de políticas para la divulgación selectiva incluyen la anonimización, la personalización de contenido, las herramientas de suscripción y publicación, entre otras; y las tecnologías de aplicación de políticas para la rendición de cuentas y la supervisión incluyen la autenticación , la autorización, el registro inmutable e irrepugnable, y las herramientas de auditoría, entre otras.
Otro
Otras fuentes incluyen estas clasificaciones adicionales:
- Los monitores de procesamiento de transacciones proporcionan herramientas y un entorno para desarrollar e implementar aplicaciones distribuidas . [ 15 ]
- Servidores de aplicaciones : software instalado en una computadora para facilitar el servicio (ejecución) de otras aplicaciones. [ 16 ]
Niveles de integración
Integración de datos
- Integración de recursos de datos como archivos y bases de datos.
Integración en la nube
- Integración entre varios servicios en la nube
Integración B2B
- Integración de recursos de datos e interfaces de socios
Integración de aplicaciones
- Integración de aplicaciones gestionadas por una empresa
Proveedores
IBM , Red Hat , Oracle Corporation y Microsoft son algunos de los proveedores que ofrecen software de middleware. Proveedores como Axway , SAP , TIBCO , Informatica , Objective Interface Systems , Pervasive , ScaleOut Software y webMethods se fundaron específicamente para proporcionar soluciones de middleware más especializadas. Grupos como la Apache Software Foundation , OpenSAF , el ObjectWeb Consortium (ahora OW2) y AMQP de OASIS fomentan el desarrollo de middleware de código abierto . La arquitectura del "Framework" de Microsoft .NET es esencialmente "Middleware" con funciones típicas de middleware distribuidas entre los distintos productos, con la mayor parte de la interacción entre ordenadores mediante estándares de la industria, API abiertas o licencias de software RAND. Solace proporciona middleware en hardware diseñado específicamente para implementaciones que pueden experimentar escalabilidad. StormMQ proporciona middleware orientado a mensajes como servicio.
Véase también
Referencias
- ↑ Krakowiak, Sacha. "¿Qué es el middleware?" . ObjectWeb.org. Archivado del original el 7 de mayo de 2005. Consultado el 6 de mayo de 2005 .
- ↑ Gall, Nick (30 de julio de 2005). "Actualización sobre el origen del término "middleware"" .
- ↑ Peng, C, Chen, S, Chung, J, Roy-Chowdhury, A y Srinivasan, V. (1998). Acceso a datos empresariales existentes desde la World Wide Web. IBM Systems Journal, 37(1), 115-132. Recuperado el 7 de marzo de 2009 de la base de datos global ABI/INFORM. (ID del documento: 26217517)
- ↑ Bougettaya, A, Malik, Z, Rezgui, A y Korff, L. (2006). Un middleware escalable para bases de datos web. Journal of Database Management, 17(4), 20-39,41-46. Recuperado el 7 de marzo de 2009 de la base de datos global ABI/INFORM. (ID del documento: 1155773301).
- ↑ Bagwell, H. (2008). Middleware: proporcionando valor más allá de la autoverificación. Archivado el 12 de octubre de 2009 en Wayback Machine . IVDT. Recuperado el 3 de marzo de 2009.
- ↑ Kai Oswald Seidler. "MOMENT" . Fp7-moment.eu . Consultado el 19 de agosto de 2010 .
- ↑ Charles, J. (1999). El middleware cobra protagonismo (se requiere suscripción) . Noticias de tecnología. Consultado el 2 de marzo de 2009.
- ↑ "Informe de middleware de la EBU Tech 3300" (PDF) . Consultado el 19 de agosto de 2010 .
- ↑ "EBU middleware reports Tech 3300s" (PDF) . Consultado el 19 de agosto de 2010 .
- ↑ Curry, Edward. 2004. «Middleware orientado a mensajes» . En Middleware para comunicaciones, ed. Qusay H Mahmoud, 1-28. Chichester, Inglaterra: John Wiley and Sons. doi : 10.1002/0470862084.ch1 . ISBN 978-0-470-86206-3
- ↑ "Microsoft en el Bus de Servicios Empresariales (ESB)" . Agosto de 2005.
La etiqueta ESB simplemente implica que un producto es algún tipo de middleware de integración que admite protocolos MOM y de servicios web.
- ↑ Elegir el middleware adecuado (Archivado el 2 de abril de 2012 en Wayback Machine)
- ↑ Juno Archivado el 26/04/2011 en Wayback Machine , Gareth Tyson, Un enfoque de middleware para la creación de aplicaciones centradas en el contenido. Tesis doctoral, Universidad de Lancaster (2010).
- ↑ "Diseño de sistemas técnicos para apoyar políticas: arquitectura empresarial, dispositivos de políticas y libertades civiles" , Tecnologías de la información emergentes y políticas facilitadoras para la lucha contra el terrorismo , IEEE, 2010, doi : 10.1109/9780470874103.ch22 , ISBN 978-0-470-87410-3, consultado el 28 de abril de 2025
- ↑ Gerndt, Michael (2002). Desarrollo de aplicaciones orientadas al rendimiento para arquitecturas distribuidas: perspectivas para entornos comerciales y científicos . IOS PR, Inc. ISBN 978-1586032678.
- ↑ Dong, Jielin (2007). Diccionario de redes . Javvin Press. ISBN 978-1602670006.
Enlaces externos
- Iniciativa de middleware para Internet2. Archivado el 23 de julio de 2005 en Wayback Machine.
- SWAMI - Alianza Sueca para la Infraestructura de Middleware
- Instituto de Infraestructura de Middleware Abierto (OMII-UK)
- Niveles de integración de middleware
- Informe de la Unión Europea de Radiodifusión sobre software intermedio .
- Suplemento más detallado del informe sobre middleware de la Unión Europea de Radiodifusión .
- ObjectWeb: comunidad internacional que desarrolla middleware de código abierto.
- Middleware
- Ingeniería de sistemas