Publicado: 31 de julio de 2024
Colaboradores: Stephanie Susnjara, Ian Smalley
El middleware es un programa informático que permite uno o varios tipos de comunicación o conectividad entre aplicaciones o componentes de una red distribuida, creando esencialmente un "pegamento de software" que une sistemas diferentes.
El middleware agiliza el desarrollo de aplicaciones y acelera el tiempo de comercialización a través de funciones inteligentes que facilitan las conexiones entre plataformas que inicialmente no fueron diseñadas para conectarse.
Entre los distintos tipos de middleware se incluyen los siguientes:
Descubra cómo IBM WebSphere Automation puede ayudarle a aumentar su madurez para la automatización de la gestión de middleware y a reducir costes.
Regístrese para recibir la guía sobre la nube híbrida
Introducido a finales de los años 60, el término middleware se acuñó porque la primera versión solía actuar como mediador entre el front-end de una aplicación (cliente) y un recurso back-end (por ejemplo, una base de datos, aplicación mainframe o dispositivo de hardware especializado) al que el cliente podía solicitar datos. En respuesta al aumento de la computación distribuida en la década de 1980, el uso de middleware aumentó como una forma de vincular las aplicaciones más nuevas con los sistemas heredados tradicionales.
Pero el middleware actual opera mucho más allá de este alcance. El middleware del portal, por ejemplo, abarca el front-end de la aplicación, así como las herramientas para la conectividad del back-end. El middleware de base de datos suele incluir su propio almacén de datos.
El middleware ha evolucionado para desempeñar un papel esencial en el desarrollo de aplicaciones modernas nativas de la nube. Utiliza tecnología de contenedores, que permite a DevOps y otros equipos conectarse a recursos distribuidos en entornos multinube. Esto admite la integración continua (CI) y la entrega continua (CD), CI/CD, agilizando así la codificación, las pruebas y la implementación de aplicaciones para una escalabilidad y un crecimiento empresarial rápidos.
Las empresas están aprovechando cada vez más el middleware como una oferta de servicio basada en la nube para la comunicación entre sistemas y como herramienta de gestión de datos. Un estudio de Technavio prevé que el mercado mundial de middleware como servicio (MWaaS) aumente en 45 440 millones de dólares, con una tasa compuesta anual del 17,73 % entre 2023 y 2028. El estudio atribuye este crecimiento a la adopción generalizada del cloud computing y a un aumento de la informática sin servidor y los microservicios.1
El middleware permite a los desarrolladores crear aplicaciones sin tener que crear una integración personalizada siempre que necesiten conectarse a componentes de la aplicación (servicios o microservicios), fuentes de datos, recursos informáticos o dispositivos.
Para ello, el middleware proporciona servicios que permiten que diferentes aplicaciones y servicios se comuniquen a través de marcos de mensajería comunes, como la notación de objetos JavaScript (JSON), la transferencia de estado representacional (REST), el lenguaje de marcado extensible (XML), el protocolo simple de acceso a objetos (SOAP) o los servicios web. Por lo general, el middleware también proporciona servicios que permiten que los componentes escritos en varios lenguajes, como Java, C++, PHP y Python, se comuniquen entre sí.
Los componentes de arquitectura de middleware estándar incluyen lo siguiente:
Además de proporcionar interoperabilidad que ahorra trabajo, los servicios de middleware ayudan a los desarrolladores de software de las siguientes maneras.
En función de la información de solicitud del cliente o de la aplicación front-end, el middleware puede personalizar la respuesta de la aplicación back-end o del servicio. Por ejemplo, en la aplicación comercio electrónico de un minorista, la lógica de la aplicación middleware puede ordenar los resultados de búsqueda de productos de una base de datos de inventario back-end por ubicación de la tienda más cercana en función de la dirección IP o la información de ubicación del encabezado de la solicitud HTTP.
El middleware generalmente establece una conexión segura desde la aplicación front-end a las fuentes de datos back-end que utilizan seguridad de la capa de transporte (TSL) u otro protocolo de seguridad de red. Puede proporcionar capacidades de autenticación, desafiando las solicitudes de credenciales (nombre de usuario y contraseña) o certificados digitales de las aplicaciones frontend.
Cuando el tráfico de aplicaciones aumenta, el middleware empresarial puede escalar para distribuir las solicitudes de los clientes en varios servidores, en las instalaciones o en la nube. Las capacidades de procesamiento simultáneo pueden evitar problemas cuando varios clientes intentan acceder simultáneamente al mismo origen de datos back-end.
El middleware ayuda a los desarrolladores a llevar a cabo la modernización de las aplicaciones, transformando las aplicaciones heredadas monolíticas en aplicaciones en la nube construidas sobre una arquitectura de microservicios.
La automatización de middleware ayuda a los desarrolladores a optimizar y automatizar la gestión de tareas de TI complejas para mejorar la eficiencia general.
El middleware respalda las metodologías DevSecOps (que significa desarrollo, seguridad y operaciones) al ayudar a los equipos a crear aplicaciones más rápido y, al mismo tiempo, mitigar los riesgos de seguridad.
Hay muchos tipos diferentes de middleware. Algunos se centran en tipos específicos de conectividad, otros en aplicaciones, componentes de aplicaciones y dispositivos concretos. Algunos combinan capacidades de middleware para una tarea específica de desarrollo de software. Algunos de los tipos de software de middleware más conocidos y utilizados son los siguientes:
El middleware orientado a mensajes (MOM) permite que los componentes de la aplicación que utilizan diferentes protocolos de mensajería se comuniquen e intercambien mensajes. Además de traducir o transformar mensajes entre aplicaciones, MOM gestiona el enrutamiento de los mensajes, para que siempre lleguen a los componentes adecuados en el orden adecuado. Algunos ejemplos de MOM son las colas de mensajes y agentes de mensajes.
El middleware de llamada a procedimiento remoto (RPC) permite que una aplicación desencadene un procedimiento en otra aplicación, que se ejecuta en el mismo equipo o en un equipo o red diferente, como si ambos fueran parte de la misma aplicación en el mismo equipo.
El middleware de datos o bases de datos simplifica el acceso y la interacción con las bases de datos back-end. Normalmente, el middleware de base de datos es algún tipo de servidor de base de datos SQL.
El middleware de la interfaz de programación de aplicaciones (API) proporciona herramientas que los desarrolladores pueden usar para crear, exponer y gestionar API para sus aplicaciones para que otros desarrolladores puedan conectarse a ellas.
Algunos middleware de API incluyen herramientas para monetizar las API, lo que permite que diferentes organizaciones las utilicen, a un coste. Algunos ejemplos de middleware de API son las plataformas de gestión de API, las pasarelas de API y los portales para desarrolladores de API.
El middleware Object request broker (ORB) actúa como intermediario entre la solicitud de un objeto o componente de la aplicación y el cumplimiento de dicha solicitud por parte de otro objeto o componente de la red distribuida.
Los ORB funcionan con la arquitectura CORBA (Common Object Request Broker Architecture), que permite a un componente de software hacer una petición a otro sin saber dónde está alojado el otro ni cómo es su interfaz de usuario (UI): la "intermediación" gestiona esta información durante el intercambio.
El middleware transaccional proporciona servicios para apoyar la ejecución de transacciones de datos a través de una red distribuida. El middleware transaccional más conocido son los monitores de procesamiento de transacciones (TPM), que conducen las transacciones de un paso al siguiente, mediante la ejecución del intercambio de datos y la adición, modificación o eliminación de datos cuando es necesario, entre otros, hasta su finalización.
El middleware de transmisión de datos asíncrono replica un flujo de datos en un almacén intermedio, lo que permite el uso compartido de datos entre varias aplicaciones. Apache Kafka es uno de los ejemplos más conocidos de plataformas de código abierto de middleware para la transmisión de eventos en tiempo real.
El middleware de dispositivos proporciona un conjunto centrado de capacidades de integración y conectividad para desarrollar aplicaciones para un sistema operativo (SO) móvil específico.
El middleware de portal proporciona herramientas y recursos para integrar contenidos y capacidades de varias aplicaciones relacionadas "entre sí" o en una sola pantalla para crear una única aplicación compuesta.
El middleware robótico simplifica la integración de hardware, firmware y software robótico de múltiples fabricantes y ubicaciones.
Hay dos clases básicas de middleware: middleware de aplicaciones empresariales y middleware de plataforma.
El middleware de integración de aplicaciones empresariales permite a una organización establecer un centro de integración empresarial. Esto proporciona una forma estandarizada de conectar todas las aplicaciones, componentes de aplicaciones, procesos empresariales y fuentes de datos back-end en toda la empresa extendida.
Hasta hace aproximadamente una década, el middleware de integración de aplicaciones empresariales más frecuente era el bus de servicios empresariales (ESB), que servía como centro de integración dentro de una arquitectura orientada a servicios (SOA).
Actualmente, la plataforma de integración como servicio (iPaaS) permite a una organización conectar aplicaciones, datos, procesos y servicios a través de una nube híbrida, la combinación de entornos locales, de nube privada y de nube pública. Esto ayuda a las organizaciones a evitar el trabajo y los gastos de comprar, instalar, administrar y mantener el middleware de integración (y el hardware en el que se ejecuta) dentro de su propio centro de datos. Los principales proveedores de servicios en la nube (CSP), Microsoft Azure, Google Cloud, Amazon Web Services (AWS) o IBM Cloud, ofrecen soluciones iPaaS.
El middleware de plataforma (o middleware de plataforma de aplicaciones) admite el desarrollo de aplicaciones. Acelera la entrega de aplicaciones al proporcionar un entorno de alojamiento en tiempo de ejecución, como un entorno de tiempo de ejecución de Java (Java RE), contenedores o ambos, para la lógica de aplicaciones o de negocios. El middleware de la plataforma puede incluir o combinar servidores de aplicaciones empresariales, servidores web, sistemas de gestión de contenido (MS) y otros tipos de middleware enumerados anteriormente.
Tanto la plataforma de integración como servicio (iPaaS) como plataforma como servicio (PaaS) son soluciones informáticas basadas en la nube que sirven para diferentes propósitos. Mientras que iPaaS se centra en permitir la integración de aplicaciones, dispositivos y sistemas, PaaS proporciona a las organizaciones una plataforma para crear, ejecutar y administrar aplicaciones.
PaaS es una opción popular para pequeñas empresas y startups con presupuestos de TI limitados, ya que permite a los equipos crear aplicaciones de forma rentable en comparación con la creación de plataformas de desarrollo internas. iPaaS es una mejor opción para grandes organizaciones y empresas que ejecutan arquitecturas complejas y dinámicas.
Dicho esto, los servicios iPaaS a menudo funcionan con servicios en la nube, incluidos PaaS y software como servicio (SaaS). Por ejemplo, las organizaciones pueden combinar iPaaS con soluciones de desarrollo PaaS (por ejemplo, Cloud Foundry, Red Hat OpenShift) o SaaS (GitHub).
Nativo de la nube es un enfoque de desarrollo de aplicaciones que utiliza tecnologías fundamentales de cloud computing para proporcionar un desarrollo, una implementación y una gestión coherentes en entornos de nube híbrida.
Las aplicaciones nativas de la nube actuales se construyen a partir de microservicios y se implementan en contenedores que utilizan Kubernetes, una plataforma de orquestación de contenedores ampliamente utilizada.
Los microservicios son componentes de aplicaciones de acoplamiento flexible que abarcan su propia pila y pueden desplegarse y actualizarse independientemente unos de otros. Se comunican mediante una combinación de API REST, agentes de mensajes y secuencias de eventos.
Los contenedores son tareas de ejecución ligeras que empaquetan el código de las aplicaciones, como los microservicios, junto con las bibliotecas y dependencias del sistema operativo necesarias para ejecutar ese código en cualquier infraestructura de TI tradicional o en la nube.
Juntas, estas y otras tecnologías relacionadas crean una potente plataforma que se desarrolla una vez y se implementa en cualquier lugar para ofrecer aplicaciones de nube híbrida nuevas y modernizar los sistemas heredados tradicionales para su uso en la nube. Sin embargo, también conducen a un entorno de desarrollo complejo que combina aún más aplicaciones informáticas, fuentes de datos, lenguajes de programación, herramientas y sistemas distribuidos.
El middleware puede resolver parte de esta complejidad. No obstante, ejecutar aplicaciones contenerizadas con middleware convencional puede añadir complejidades propias, incluida la sobrecarga de infraestructura que los contenedores fueron diseñados para eliminar. Por esta razón, las plataformas de desarrollo de aplicaciones en la nube incluyen middleware en contenedores o modulares para que solo las funciones de conectividad requeridas se puedan empaquetar en un contenedor.
El middleware apoya el desarrollo de juegos sirviendo de motor de juego. Esta capa de software ayuda a integrar a la perfección el vídeo, el audio y otros componentes cruciales del juego.
Para las instituciones financieras, el middleware integra aplicaciones y bases de datos de clientes para apoyar los servicios de banca digital, incluido el procesamiento de transacciones en tiempo real.
Siempre ha sido difícil acceder a los datos sanitarios y compartirlos de forma segura. Middleware es crucial para la interoperabilidad sanitaria, lo que permite un flujo de datos fluido en diversos sistemas y aplicaciones sanitarias, como plataformas de telemedicina y registros de salud electrónicos (EHR).
Las organizaciones de comercio electrónico utilizan middleware para conectar sus plataformas en línea con servicios back-end cruciales, como el procesamiento de pedidos para mejorar la experiencia global del cliente.
En la fabricación, el middleware ayuda a garantizar que los sistemas de software empresarial, incluidas las plataformas de planificación de recursos empresariales (ERP), se integren con otras aplicaciones para proporcionar una visión unificada de las operaciones. Esto ayuda a optimizar y racionalizar el mantenimiento, la cadena de suministro, la garantía de calidad y mucho más.
Administre su ecosistema de API en múltiples nubes, incluido el impulso de los esfuerzos de socialización y monetización.
Conecte, automatice y libere el potencial empresarial con el software de la plataforma de integración.
Descubra cómo las soluciones de entrega de aplicaciones de IBM ayudan a crear nuevas aplicaciones nativas de la nube y a modernizar las aplicaciones existentes.
Ofrezca conectividad a todas sus aplicaciones y datos con opciones de integración universal
Los agentes de mensajes son una tecnología de comunicación entre aplicaciones que admite arquitecturas de nube nativas, basadas en microservicios, sin servidor e híbridas.
iPaaS es una solución basada en la nube que estandariza y simplifica la integración entre los entornos locales y en la nube.
Las API REST ofrecen una forma flexible y ligera de integrar aplicaciones y se han convertido en el método más común para conectar componentes en arquitecturas de aplicaciones de microservicios.
La gestión de API es el proceso escalable de creación, publicación y gestión de conexiones de interfaz de programación de aplicaciones (API) en un entorno empresarial y multicloud.
La integración del machine learning (ML) y la inteligencia artificial (IA) en la optimización de decisiones (DO) es esencial para mejorar la eficiencia en los procesos empresariales.
La explotación de datos en tiempo real es esencial para el éxito empresarial.
Todos los vínculos residen fuera de ibm.com
1 Middleware as a Service (MWAAS) Market Analysis North America, Europe, APAC, South America, Middle East and Africa – US, China, Japan, UK, Germany – Size and Forecast 2024-2028. Technavio. Enero de 2024