Está en la página 1de 9

INSTITUTO TECNOLÓGICO DE PUEBLA

0
Índice
INTRODUCCIÓN ............................................................................................ 2
Desarrollo..................................................................................................... 3
Función ........................................................................................................... 4
Marco de mensajería ...................................................................................... 4
¿Cuáles son los tipos de middleware? ............................................................. 5
Otras funciones del middleware...................................................................... 7
¿Cuál es el papel del middleware en un sistema distribuido? ......................... 7
Referencias bibliográficas................................................................................ 8

1
INTRODUCCIÓN
Los Sistemas Distribuidos comprenden temas fundamentales como el paradigma
cliente-servidor, middleware y computación móvil. Temas que encierran aspectos
representativos y novedosos de los ambientes distribuidos con aplicación práctica
en plataforma de tecnologías como Java, .NET y CORBA. Es importante destacar
que por la intensidad de la temática del curso, en principio se aplican técnicas
didácticas orientadas a un aprendizaje basado en problemas y que en conjunto
con la comprobación de lecturas y ejercicios, los participantes en forma individual
y grupal estarán en posibilidades de alcanzar metas comunes paraca:
• Proponer la solución de un problema.
• Decidir en el estudio de un caso.
• El diseño y desarrollo de un proyecto.
De tal forma que el curso está organizado de la siguiente manera:
El tema 1, “Introducción”, trata sobre los fundamentos, ventajas, desventajas
devolución de los sistemas distribuidos, se realizarán actividades de lectura y
análisis de la informaciones .
El tema 2, “Arquitectura cliente-servidor”, muestra conceptos fundamentales de
este paradigma sobre los cuales, para su mejor comprensión, se llevarán a cabo
ejercicios prácticos de sockets, RPC y modelado de capas.
El tema 3, “Tecnologías de desarrollo”, se analizará el concepto de middleware y
su importante papel en el paradigma de los ambientes distribuidos, se plantean
ejercicios prácticos de las tecnologías Java y .NET que van en dirección de estos
ambientes. Por otro lado CORBA se tratará como un caso de estudio.
El tema 4, “Lenguajes de programación”, hasta este punto una vez tratados los
temas anteriores, se podrá desarrollar un pequeño proyecto de implementación de
un sistema distribuidor.
El tema 5, “Computación móvil”, siendo un tema notable dentro de los ambientes
distribuidos, se abordan los antecedentes, paradigmas y lenguajes de
programación. Realizarán un ejercicio práctico de aplicación móvil.

2
Desarrollo

¿Qué es el middleware?
El middleware es un software con el que las diferentes aplicaciones se comunican
entre sí. Brinda funcionalidad para conectar las aplicaciones de manera inteligente
y eficiente, de forma que se pueda innovar más rápido. El middleware actúa como
un puente entre tecnologías, herramientas y bases de datos diversas para que
pueda integrarlas sin dificultad en un único sistema. Este sistema único provee un
servicio unificado a sus usuarios. Por ejemplo, una aplicación frontend de
Windows envía y recibe datos desde un servidor backend de Linux, pero los
usuarios de la aplicación no están al tanto de la diferencia.

¿Por qué es importante el middleware?


El middleware se ha convertido en una herramienta importante de comunicación y
administración de datos en sistemas distribuidos.

Los casos de uso del middleware


Desarrollo de videojuegos
Los desarrolladores de videojuegos utilizan el middleware como motor de
videojuegos. Para que un videojuego funcione, el software debe comunicarse con
varios servidores de imagen, audio y video en conjunto con los sistemas de
comunicación. El motor de videojuegos facilita esta comunicación y hace que el
desarrollo de videojuegos sea mucho más eficiente.

Electrónica
Los ingenieros electrónicos utilizan el middleware para integrar diversos tipos de
sensores en sus controladores. La capa del middleware permite que los sensores
se comuniquen con el controlador por medio de un marco de mensajería en
común.

Desarrollo de software
Los desarrolladores de software utilizan el middleware para integrar diferentes
componentes de software a otras aplicaciones. El middleware ofrece una interfaz
de programa de aplicación (API) estándar para administrar la entrada y salida de
los datos requeridos desde el componente. El enlace interno con el componente
se encuentra oculto para el usuario. Los desarrolladores utilizan las API para
solicitar los servicios que necesitan de los componentes de software.
Transmisión de datos

3
Las aplicaciones de software utilizan el middleware para enviar y recibir
secuencias de datos de manera fiable. Las secuencias de datos son una
transmisión de alta velocidad de datos continuos. Estos son importantes para la
transmisión de audio y video fiables.

Aplicaciones distribuidas
Las aplicaciones distribuidas son programas de software que se ejecutan en
diferentes computadoras dentro de una red. A menudo, consisten en
aplicaciones frontend y backend. Las aplicaciones frontend son programas
de software que se utilizan en una computadora o un dispositivo móvil, como la
aplicación de una red social. En cambio, las aplicaciones backend son programas
de software que se encargan de procesar los datos, de la lógica de negocio, así
como también de las tareas de administración de recursos. El middleware actúa
comunicando las aplicaciones frontend y backend para que la aplicación
distribuida funcione sin inconvenientes.

Función
El middleware sintetiza el proceso de comunicación subyacente entre los
componentes. Esto quiere decir que la aplicación frontend solo se comunica con
el middleware y no tiene que aprender el lenguaje de los otros componentes
de software de backend.

Marco de mensajería
Un marco de mensajería facilita el intercambio de datos entre
aplicaciones frontend y backend. Entre los marcos más comunes, se incluyen los
siguientes:
 Notación de objetos JavaScript (JSON)
 Transferencia de estado representacional (REST API)
 Lenguaje de marcado extensible (XML)
 Servicios web
 Protocolo simple de acceso a objetos (SOAP)
Los marcos de mensajería brindan una interfaz de comunicación común para
aplicaciones en diferentes lenguajes y plataformas operativas. Las aplicaciones
escriben y leen los datos en un formato estandarizado que les brinda el marco de
mensajería.
Entornos en tiempo de ejecución
Un entorno en tiempo de ejecución es como un pequeño sistema operativo que
permite la ejecución de un programa de software. Por ejemplo, las aplicaciones
Java deben ejecutarse en el entorno en tiempo de ejecución de Java. Los

4
desarrolladores pueden utilizar AWS Lambda para configurar un entorno en
tiempo de ejecución para cualquier lenguaje de programación.

Servidores web
Un servidor web es un programa de computación que recibe, procesa y responde
a las solicitudes de los sitios web. Los desarrolladores web utilizan Amazon
Lightsail para alojar y administrar los servidores web para las aplicaciones
simples.

Sistemas de administración de contenidos


El sistema de administración de contenido es un software que crea, modifica,
almacena y publica información digital. Por ejemplo, WordPress es un sistema de
administración de contenido de código abierto para la creación de sitios web.

Contenedores
Un contenedor es un paquete de los códigos y los recursos necesarios de la
aplicación listo para implementar. Los desarrolladores utilizan Amazon Elastic
Container Service (Amazon ECS) para implementar, administrar y escalar las
aplicaciones en contenedores.

¿Cuáles son los tipos de middleware?


Los desarrolladores utilizan el middleware para varios propósitos dentro del
desarrollo de software. A continuación, se mencionan los tipos comunes
de middleware:

Middleware de integración de aplicaciones para empresas


El middleware de integración de aplicaciones para empresas conecta todos los
sistemas de software, los servicios y los orígenes de datos dentro de una
organización. Las aplicaciones para empresas utilizan este middleware para
intercambiar información sin modificar la red o las configuraciones de la base de
datos.

Middleware orientado a la base de datos


El middleware orientado a la base de datos, o middleware orientado a los datos,
facilita la transferencia de datos entre las aplicaciones y diferentes tipos de bases
de datos.

Middleware orientado a mensajes


El middleware orientado a mensajes (MOM) permite la comunicación entre los
componentes del software en un sistema de computación distribuida.

5
Middleware transaccional
El middleware transaccional, como los supervisores de procesos de transacción,
garantiza que cada paso en un proceso de transacción de software se lleve a cabo
correctamente.

Middleware centrado en el contenido


Las aplicaciones utilizan el middleware centrado en el contenido para publicar o
recuperar contenido sin crear el mecanismo de almacenamiento subyacente.

Middleware de llamada a procedimiento remoto


Un programa de software utiliza el middleware de llamada a procedimiento remoto
(RPC) para hacer uso del servicio de otro programa dentro de la misma red.

Middleware de dispositivo
El middleware de dispositivo brinda los recursos necesarios para que los
desarrolladores creen aplicaciones móviles en dispositivos móviles específicos,
como marcos de conectividad y bibliotecas.

Middleware de solicitud de objetos


Las aplicaciones utilizan un agente de solicitud de objetos o un middleware de
solicitud de objetos para enviar solicitudes sin tener conocimiento de dónde se
aloja la aplicación meta.

Middleware de servidor de aplicaciones


Los desarrolladores utilizan el middleware de servidor de aplicaciones para crear,
implementar, administrar y conectar aplicaciones para empresas a los servidores
de aplicaciones backend.

Middleware incrustado
El middleware incrustado funciona como un puente entre las aplicaciones y el
sistema operativo en sistemas incrustados. Los sistemas incrustados son
productos electrónicos que funcionan con un microcontrolador.

Middleware de administración de API


Los desarrolladores utilizan el middleware de administración de API para crear las
API y facilitar que otros desarrolladores las usen.

Middleware de transferencia de datos asíncronos


El middleware de streaming de datos asíncronos admite el streaming de datos en
tiempo real entre los sistemas distribuidos.

Middleware de robótica
Los ingenieros utilizan el middleware de robótica para integrar diferentes tipos de
robots sin importar su hardware, su firmware ni su fabricante.

6
Otras funciones del middleware
Además de actuar como intermediario entre aplicaciones de software, los
programas del middleware también llevan a cabo las siguientes funciones:
 Proveen un canal de comunicación seguro entre aplicaciones distribuidas
para que los sitios web envíen información confidencial de forma segura a
las aplicaciones backend.
 Administran la fluidez del tráfico y evitan abrumar a una aplicación o a un
servidor en particular.
 Automatizan y personalizan las respuestas a las solicitudes. Por ejemplo,
el middleware clasifica y filtra los resultados antes de enviarlos a la
aplicación frontend.

¿Cuál es el papel del middleware en un sistema distribuido?


El “Middleware” es la capa de software que se ubica entre el sistema operativo y
las aplicaciones de los usuarios. En un Sistema Distribuido, el middleware (lógica
de la mediación) es un software de conectividad que permite ofrecer un conjunto
de servicios que hacen posible el funcionamiento de aplicaciones distribuidas
sobre plataformas heterogéneas. El middleware funciona como una capa de
abstracción de software distribuida que se sitúa entre las capas de aplicaciones y
las capas inferiores (sistema operativo y red).

Las aplicaciones middleware realizan las siguientes funciones:


 Ocultar la distribución: middleware maneja el hecho de que una aplicación
esté compuesta de muchas partes interconectadas ejecutándose en
ubicaciones distribuidas.
 Ocultar la heterogeneidad: middleware oculta o hace transparente al
usuario diversas plataformas de sistemas operativos, protocolos de
comunicación y dispositivos hardware.
 Proveer interfaces uniformes y estándares de alto nivel: tanto a los
desarrolladores como a los integradores de aplicaciones, de tal manera que
las aplicaciones sean fácilmente desarrolladas, reusadas, transportadas y
puedan interoperar correctamente.
 Suministrar un conjunto de servicios comunes: para realizar varias
actividades de propósito general con el fin de evitar duplicar esfuerzos y
facilitar la colaboración entre aplicaciones.

Algunos ejemplos comunes de middleware son:


 El middleware de base de datos
 El middleware de servidor de aplicaciones
 El middleware orientado a mensajes
 El middleware web y los monitores de procesamiento de transacciones.

7
Cada programa suele proporcionar servicios de mensajería para que aplicaciones
diferentes puedan comunicarse usando marcos de mensajería como el Protocolo
simple de acceso a objetos (SOAP), servicios web, transferencia de estado
representacional (REST) y notación de objetos JavaScript (JSON).

Referencias bibliográficas

Parra, T. A. (2017). Introducción a los Sistemas Distribuidos CURSO

INTRODUCCIÓN A LOS SISTEMAS DISTRIBUIDOS.

https://www.academia.edu/31751289/Introducci%C3%B3n_a_los_Sistema

s_Distribuidos_CURSO_INTRODUCCI%C3%93N_A_LOS_SISTEMAS_DI

STRIBUIDOS

Herrero, M. P. (2019, junio 20). ¿Cuál es el papel del middleware en un sistema

distribuido? Centro de Computación Paralela y Distribuida.

https://ccpd.ciens.ucv.ve/cual-es-el-papel-del-middleware-en-un-sistema-

distribuido/

(S/f). Amazon.com. Recuperado el 11 de septiembre de 2022, de

https://aws.amazon.com/es/what-

is/middleware/#:~:text=El%20middleware%20se%20ha%20convertido,si

mplificar%20los%20procesos%20de%20dise%C3%B1o.

También podría gustarte