0% encontró este documento útil (0 votos)
68 vistas31 páginas

Arquitecturas y Funciones del Middleware

Este documento trata sobre sistemas distribuidos y middleware. Explica conceptos como arquitecturas de sistemas distribuidos, puntos de vista de software y hardware, y define middleware como software que asiste a las aplicaciones a comunicarse entre sí de forma transparente.

Cargado por

Erectus
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
68 vistas31 páginas

Arquitecturas y Funciones del Middleware

Este documento trata sobre sistemas distribuidos y middleware. Explica conceptos como arquitecturas de sistemas distribuidos, puntos de vista de software y hardware, y define middleware como software que asiste a las aplicaciones a comunicarse entre sí de forma transparente.

Cargado por

Erectus
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

SISTEMAS DISTRIBUIDOS

Unidad 1:

Middleware
Los estudiantes explican el tema anterior:

¿Preguntas?
Arquitecturas de Sistemas Distribuidos

Enfoques de Arquitecturas de Sistemas Distribuidos

Punto de vista de Software o lógico


▪ Basados en capas
▪ Basados en objetos
▪ Centrados en datos
▪ Basados en eventos

Punto de vista de Hardware


▪ Centralizadas
▪ Descentralizadas
▪ Hibridos
Logro de la Sesión

Al finalizar la sesión, el estudiante, identifica las


principales arquitecturas de un sistema distribuido.
Prerequisitos

Conceptos básicos Conocimientos de


Muchas Ganas!
de redes Tecnologías Web
Contenido

1 2 3 4
Definición Características Ejemplos Caso Práctico
Actividad de lluvia de ideas

• Cuando Ud. Asiste a un restaurante a cenar, ¿Qué función cumple el mozo?


• Interacción procedimental entre un comensal y un camarero
• Interacción basada en mensajes entre un camarero y el personal de
cocina
• Explique con sus propias palabras: ¿Qué es escalabilidad?

• ¿Cómo se clasifican las arquitecturas de los Sistemas Distribuidos?

• Explique con sus propias palabras: ¿Qué es MiddleWare?

• Mencione un ejemplo de MiddleWare


Un sistema distribuido está constituido principalmente por los
siguientes estratos:
Plataforma La plataforma para sistemas y aplicaciones
distribuidas se compone de las capas de hardware y
software de nivel más bajo.

Middleware: Es un software que tiene como función


principal enmascarar el sistema distribuido para
proporcionar un modelo de programación a las
aplicaciones.
✓ CORBA
✓ Distintos sistemas operativos
✓ Distintos protocolos de comunicación
✓ Distintos lenguajes de programación
✓ Distinto hardware
Aplicaciones y servicios
Definición de middleware

Es un software que asiste a una aplicación para interactuar o comunicarse con otras
aplicaciones, software, redes, hardware y/o sistemas operativos.
Definición de middleware

Es un software que puede incrementar


significativamente la reusabilidad.

Permite concentrarse en asuntos


propios de la aplicación y olvidarse de
problemas comunes
Definición de middleware

El “Middleware” es la capa de software que se


ubica entre el sistema operativo y las aplicaciones
de los usuarios.

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).
MiddleWare
Video
Funciones del middleware

✓ 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 fín de evitar duplicar esfuerzos y facilitar la colaboración entre
aplicaciones.
Tipos de middleware
No solo hay un tipo de middleware, sino que existen numerosas formas de gestión de
datos en la nube. Algunos se concentran en una determinada variedad de conexión,
otros en funciones específicas de programas, componente operativo y las aplicaciones.
A continuación, te enumeramos los tipos más conocidos y utilizados por los
desarrolladores web.
Componentes básicos del Middleware
Los mecanismos básicos del Middleware, que deberá encontrar en todos los
modelos, son:

✓ API’s de alto nivel para la petición de forma transparente de los servicios.


✓ Un mecanismo de implementación e integración de los servicios construidos en el
Middleware.
✓ Herramientas para referenciar, catalogar, gestionar y localizar los recursos en la
plataforma.
✓ Facilidades de gestión distribuida.
✓ La plataforma del transportista.
✓ La interface con las API’s de bajo nivel del sistema.
✓ Si estamos en un modelo de objetos distribuidos, los recursos de gestión de estos
objetos OO.
Servicios middleware definidos en un modelo de componentes
El middleware implementa los servicios de componentes y ofrece interfaces a dichos
servicios. Para usar los servicios ofrecidos por la infraestructura de un modelo de
componentes, se puede considerar a los componentes como implementados en un
“contenedor”.

Para componentes que se


implementen como unidades de
programa y no como servicios
externos, el modelo de componentes
establece los servicios a ofrecer por
parte del middleware que apoye los
componentes en ejecución.
Tipos de soporte del Middleware

✓ Soporte de interacción, en el que el middleware coordina las interacciones entre


diferentes componentes del sistema. El middleware proporciona transparencia de
ubicación en cuanto a que no es necesario que los componentes conozcan las
ubicaciones físicas de los otros componentes. También puede soportar conversión
de parámetros si se usan diferentes lenguajes de programación para la
implementación de componentes, detección de eventos y comunicación, etcétera.

✓ La provisión de servicios comunes, en la que el middleware proporciona


implementaciones de reutilización de servicios que pueden requerir varios
componentes en el sistema distribuido. Al usar dichos servicios comunes, los
componentes pueden interoperar fácilmente y ofrecer a los usuarios servicios en
una forma consistente.
Tipos de middleware

✓ Interfaz de programación (API)


✓ Middleware centrado en el contenido
✓ Servidor de aplicaciones
✓ Motores de juegos
✓ Middleware orientado a mensajes (MOM)
✓ Agente de solicitudes de objetos (ORB)
✓ Portales
✓ Llamada de procedimiento remoto (RPC)
✓ Integración de datos
✓ Middleware de dispositivos
✓ Middleware integrado
✓ Middleware robótico
Ejemplos

✓ No todos los Middleware son iguales. e.g.: CORBAy Sockets TCP/IP.

✓ Mientras que los Sockets no ofrecen control de tipos ni homogeneización de


arquitecturas,

✓ CORBA, DCOM, etc., ofrecen estas posibilidades


MIDDLEWARE: SOCKETS

✓ Constituye la interfaz de programación


de la capa de transporte.
✓ Es un mecanismo de comunicación
bidireccional
✓ El más ampliamente usado
✓ Nacieron con la familia de
protocolos TCP/IP
✓ Existe prácticamente en cualquier plataforma
de computación
MIDDLEWARE: RPC
Llamada de procedimiento remoto

✓ RPC está basado en C, y como tal tiene una


semántica de programación estructurada

✓ Con RPC puede simplemente llamar a funciones


remotas exportadas a un servidor.

✓ RPC no se ocupa de objetos. Por el contrario, llama


a subrutinas específicas que ya están establecidas.
MIDDLEWARE: RPC

✓ Con RPC, se obtiene una llamada de


procedimiento que se ve más o menos
como una llamada local.

✓ RPC maneja las complejidades


involucradas al pasar la llamada de la
computadora local a la remota.
MIDDLEWARE: RMI
✓ RMI utiliza un paradigma orientado a objetos,
donde el usuario tiene que conocer el objeto yel invocar un método de manera remota
método del objeto que tiene que invocar.

✓ RMI hace exactamente lo mismo, pero RMI pasa


una referencia al objeto y al método quese está
llamando.

✓ RMI es un enfoque mejor en comparación


con RPC, especialmente con programas
más grandes, ya que proporciona un código
de producto de limpieza que es más fácil de
identificar si algo sale mal.
MIDDLEWARE: RMI

RMI Ejemplos:

Java RMI, CORBA, Microsoft


DCOM/COM +, SOAP (Simple
ObjectAccess Protocolo)
MIDDLEWARE: CORBA
Common Object Request Broker Architecture
(CORBA) es un estándar definido por Object
Management Group (OMG).
Permite que diversos componentes de software
escritos en múltiples lenguajes de programación y
que corren en diferentes computadoras, puedan
trabajar juntos.
Es decir, facilita el desarrollo de aplicaciones
distribuidas en entornos heterogéneos.
MIDDLEWARE: DCOM
DCOM permite llamadas a los objetos remotos
•Soporta interfaces múltiples escritas en un lenguaje IDL
similar a C++

Ventajas:
•DCOM permite el uso de varios lenguajes de programación
•DCOM soporta recolección distribuida de basura
Inconvenientes:
•Muy ligado a los sistemas operativos de Microsoft, aunque existen
implementaciones para Unix, y Apple Macintosh
JMS: middleware de mensajeria

Productor Consumidor

Suscriptor

Publicador Suscriptor
MIDDLEWARE: Sistemas Distribuidos

✓ Componente de software reutilizable y distribuido que ofrece


una funcionalidad concreta, independiente tanto del lenguaje
de programación en que está implementado como de la
plataforma de ejecución.

✓ Aplicaciones auto-contenidas que pueden ser descritas,


publicadas, localizadas e invocadas sobre la Internet (o
cualquier otra red)
MiddleWare
Video

https://www.youtube.com/watch?v=fkllEd8rc8I
https://www.youtube.com/watch?v=knlVvMjVnF0
https://youtu.be/3sYpKhF6B0k
Trabajo Grupal
1.- Elaborar un ejemplo en algún LP(Lenguaje de Programación) sobre:
- Sockets “cuando el servidor envía mensaje a los clientes” y “cuando un
cliente envía mensaje al servidor”
- Pilas
- Colas
- RPC “Llamadas a procedimientos remotos”
- RMI “Invocación a métodos remotos”

2.- Rellenar el siguiente cuadro:


Resumen

También podría gustarte