Jump to section

¿Qué es el middleware?

Copiar URL

El término middleware se refiere al sistema de software que ofrece funciones y servicios de nube comunes para las aplicaciones, de modo que los desarrolladores y los equipos de operaciones puedan diseñarlas e implementarlas con mayor eficiencia. Además, permite conectar las aplicaciones, los datos y los usuarios.

Ha sido parte de la terminología de la ingeniería de software desde finales de la década de los sesenta y, como categoría, se puede aplicar a un amplio rango de elementos de software modernos. Incluye tiempos de ejecución de las aplicaciones, integración de las aplicaciones empresariales y varios tipos de servicios de nube. Generalmente, se encarga de la gestión de los datos, los servicios de aplicaciones, la mensajería, la autenticación y la gestión de la interfaz de programación de aplicaciones (API).

El middleware actual es la base tecnológica de las arquitecturas modernas diseñadas para la nube. En el caso de las empresas con entornos de contenedores y multicloud, el middleware puede rentabilizar el desarrollo y la ejecución de las aplicaciones según sea necesario.

Como categoría amplia, el middleware abarca desde servidores web hasta sistemas de autenticación y herramientas de mensajería. Estos son algunos casos prácticos comunes para el middleware en el desarrollo moderno.

Middleware New Application Development diagram

Desarrollo de aplicaciones nuevas

El middleware admite tiempos de ejecución conocidos y modernos para varios casos prácticos. Los desarrolladores y los arquitectos pueden trabajar con agilidad en diferentes plataformas, teniendo como referencia conjuntos de lenguajes de programación, marcos y tiempos de ejecución básicos. El middleware también ofrece las funciones que se utilizan con más frecuencia, como los servidores web, el inicio de sesión único (SSO), el servicio de mensajería y el almacenamiento en caché en memoria.

Middleware optimization of existing applications diagram

Optimización de las aplicaciones actuales

El middleware permite que los desarrolladores conviertan las aplicaciones monolíticas heredadas en aplicaciones nativas de la nube, lo cual mantiene activas las herramientas importantes con un rendimiento mejorado y una mayor portabilidad.

Middleware comprehensive integration diagram

Integración completa

Las herramientas de integración de middleware conectan sistemas internos y externos fundamentales. Las funciones de integración, como la transformación, la conectividad, la capacidad de composición y la mensajería empresarial, en combinación con la autenticación de SSO, permiten que los desarrolladores extiendan las funciones a otras aplicaciones con facilidad.

Middleware app programming interfaces diagram

Interfaces de programación de aplicaciones (API)

A muchos de los servicios de middleware se accede a través de las API, que son conjuntos de herramientas, definiciones y protocolos que permiten que las aplicaciones se comuniquen entre sí. Gracias a las API, es posible conectar productos y servicios completamente distintos con una capa común.

Middleware data streaming diagram

Transmisión de datos

Si bien las API permiten compartir los datos entre las aplicaciones, también se puede utilizar la transmisión de datos asincrónica: se replica un conjunto de datos en un almacén intermedio al que pueden acceder diversas aplicaciones. Una herramienta de middleware open source conocida para la transmisión de datos en tiempo real es Apache Kafka.

Middleware intelligent business automation diagram

Automatización empresarial inteligente

El middleware permite que los desarrolladores, los arquitectos y los líderes empresariales y de TI automaticen las decisiones manuales, lo cual mejora la gestión de los recursos y el nivel de eficiencia en general.

A medida que las empresas adoptan el desarrollo en la nube, los arquitectos de sistemas y los desarrolladores de software han tenido que enfocarse en el diseño y la arquitectura inicial de las plataformas de aplicaciones, así que deben seleccionar y configurar los marcos y las funciones para el desarrollo, la implementación y la ejecución de las aplicaciones, todas funciones de las que se encarga el middleware. Gracias a ello, las empresas pueden obtener más beneficios de la nube. Las aplicaciones se pueden implementar en varias infraestructuras, desde los sistemas locales hasta las nubes públicas y, aun así, funcionan como se espera.

Las empresas recurren al middleware como una forma de abordar las complejidades y de agilizar y rentabilizar el desarrollo de las aplicaciones. En la actualidad, gran parte se ofrece como servicios de nube, lo cual simplifica la implementación y la gestión. El middleware admite entornos de aplicaciones que funcionan de manera uniforme y sin problemas en una plataforma altamente distribuida. También respalda la seguridad de la cadena de suministro de software, las estrategias de DevSecOps y la automatización, lo cual permite que los equipos diseñen aplicaciones nuevas y mejores de manera más rápida, mientras gestionan los riesgos de seguridad.

Las aplicaciones empresariales modernas están diseñadas para ejecutarse según sea necesario, en las instalaciones y en todas las nubes. Para crearlas, los desarrolladores necesitan entornos de aplicación con funciones básicas unificadas. El middleware es la clave para crear este tipo de entorno.

Podemos pensar en estas funciones en términos de cuatro capas, además de algunas herramientas:

La capa de los contenedores

Esta capa de middleware gestiona todo lo relacionado con la distribución de los ciclos de vida de las aplicaciones de manera uniforme. Ofrece la función de DevOps junto con las de integración y distribución continuas (CI/CD), gestión de contenedores y malla de servicios.

La capa de los tiempos de ejecución

Esta capa contiene los entornos de ejecución para el código personalizado. El middleware ofrece tiempos de ejecución y marcos ligeros para los entornos de nube altamente distribuidos, como los microservicios, el almacenamiento en caché en memoria para un acceso rápido a los datos y los servicios de mensajería para acelerar la trasferencia de dichos datos.

La capa de integración

El middleware de integración ofrece servicios que se utilizan para conectar las aplicaciones compradas y las personalizadas, así como los recursos de software como servicio (SaaS), a través de la mensajería, la integración y las API, para formar sistemas funcionales. También puede ofrecer servicios de almacenamiento en caché y bases de datos en memoria, la transmisión de eventos o datos y la gestión de las API.

La capa de la gestión de decisiones y la automatización de procesos

Esta última capa correspondiente al middleware de desarrollo incorpora la gestión de decisiones, la optimización y la automatización, y la inteligencia fundamentales.

Herramientas

Además de estas cuatro capas de middleware, hay herramientas para el diseño de las aplicaciones (como plantillas y contenedores configurados previamente) que facilitan el desarrollo conjunto y el intercambio de código eficientes. Las herramientas permiten lograr una experiencia uniforme y coherente para el desarrollo y la distribución de las aplicaciones en las instalaciones y en la nube.

Las API establecen un conjunto de definiciones y protocolos para el software integrado y permiten que una aplicación se comunique con otros productos y servicios.También permiten la colaboración entre los equipos y agilizan la adición de funciones nuevas y útiles al software, ya que simplifican la forma en que los desarrolladores integran los elementos de las aplicaciones nuevas en la arquitectura actual.

El uso de las API y los microservicios son una parte fundamental del desarrollo de las aplicaciones para la nube. Los servicios que posibilitan la conectividad de las API son un tipo de middleware. Las herramientas de gestión de las API permiten que los desarrolladores las compartan, distribuyan, controlen y rentabilicen.

La gestión de las API posibilita la ejecución de las aplicaciones según sea necesario en todo el entorno de nube híbrida, además de las otras herramientas de servicios de aplicaciones, como la malla de servicios y la transmisión de datos.

Artículos relacionados

Artículo

¿Qué es la integración?

¿Desea saber qué es la integración? Obtenga información acerca de qué es, cómo incorporarla y por qué es mucho mejor con un enfoque open source.

Artículo

¿Qué es Apache Kafka?

Apache Kafka es una plataforma distribuida de transmisión de datos que permite publicar, almacenar y procesar flujos de registros, así como suscribirse a ellos, de forma inmediata.

Artículo

¿Qué es una API?

Una API o interfaz de programación de aplicaciones es un conjunto de definiciones y protocolos que se usa para diseñar e integrar el software de las aplicaciones.

Más información sobre la integración

Productos

Conjunto completo de tecnologías de integración y mensajería para conectar aplicaciones y datos a través de infraestructuras híbridas. Incluye Red Hat 3scale API Management, Red Hat AMQ, Red Hat Runtimes, registro de datos modificados y un registro de servicios.

Conjunto de tecnologías de integración y tiempos de ejecución diseñados para ayudar a crear, implementar y operar aplicaciones de manera segura y a escala a través de la nube híbrida.

Conjunto de productos, herramientas y elementos que permiten desarrollar y mantener las aplicaciones directamente en la nube. Incluye Red Hat AMQ, Red Hat Data Grid, Red Hat JBoss® Enterprise Application Platform, Red Hat JBoss Web Server, una compilación de OpenJDK de Red Hat, una compilación de Quarkus de Red Hat, un grupo de tiempos de ejecución de nube, Migration Toolkit for Applications, inicio de sesión único y un servicio para lanzamientos .

Los servicios de nube de Red Hat® incluyen aplicaciones, plataformas y servicios de datos alojados y gestionados que optimizan la experiencia en la nube híbrida reduciendo los costos operacionales y simplificando la entrega de aplicaciones nativas de la nube.

Contenido adicional

Ebook

Integración ágil: el plano técnico de la arquitectura empresarial

VISION GENERAL

Red Hat Cloud Services

Servicios gestionados para el desarrollo en la nube

Capacitación

Curso de capacitación gratuito

Red Hat Agile Integration Technical Overview