Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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.
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.
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 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 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 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.
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
https://www.academia.edu/31751289/Introducci%C3%B3n_a_los_Sistema
s_Distribuidos_CURSO_INTRODUCCI%C3%93N_A_LOS_SISTEMAS_DI
STRIBUIDOS
https://ccpd.ciens.ucv.ve/cual-es-el-papel-del-middleware-en-un-sistema-
distribuido/
https://aws.amazon.com/es/what-
is/middleware/#:~:text=El%20middleware%20se%20ha%20convertido,si
mplificar%20los%20procesos%20de%20dise%C3%B1o.