Presentacion SOFTWARE DE DISTRIBUIDO
Presentacion SOFTWARE DE DISTRIBUIDO
Presentacion SOFTWARE DE DISTRIBUIDO
INGENIERÍA DE
SOFTWARE DE
DISTRIBUIDO
LUIS ENRIQUE NOVAL
INGENIERÍA DE SOFTWARE
DISTRIBUIDO
• Son sistemas que implican muchas computadoras y se presentan al usuario
como un solo sistema coherente. A diferencia de los sistemas centralizados, los
componentes de los sistemas distribuidos se ejecutan en diferentes
computadoras que se comunican a través de una red. Los sistemas distribuidos
tienen ventajas como compartir recursos, ser abiertos, permitir la concurrencia,
ser escalables y tolerantes a fallos. Sin embargo, también presentan conflictos
específicos que deben considerarse al diseñarlos, como la complejidad de las
interacciones entre los componentes y la infraestructura del sistema, y la
impredecibilidad en su respuesta.
CONTENIDO
Transparencia
• En este tipo de sistemas, es importante que los usuarios puedan acceder y comprender el
funcionamiento de la red, así como la forma en que se están procesando y almacenando sus
datos.
Apertura cómo funciona. También permite a los desarrolladores identificar y solucionar problemas más
fácilmente
servicio
atención a la transparencia, accesibilidad, escalabilidad y seguridad en el
diseño y desarrollo de software distribuido.
Gestión de
• En estos sistemas, las fallas pueden ocurrir en cualquier punto del sistema
y pueden tener un impacto significativo en la disponibilidad y el
desempeño del sistema. Para manejar estas fallas, los ingenieros de
fallas software deben diseñar sistemas que sean resistentes a fallas y capaces de
recuperarse rápidamente cuando se produzcan.
18.1.1 MODELOS DE INTERACCIÓN
• Existen dos tipos de interacción entre las computadoras: la interacción
procedimental y la interacción basada en mensajes. La primera se refiere a una
computadora que solicita un servicio ofrecido por otra computadora y espera la
entrega del mismo. Mientras que la segunda implica que la computadora emisora
defina la información en un mensaje y lo envíe a otra computadora. En general, la
interacción basada en mensajes transmite más información en una sola interacción
que la solicitud de un procedimiento a otra máquina. La diferencia entre ambas se
puede ilustrar con la analogía de hacer un pedido en un restaurante, donde se
realiza una serie de interacciones sincrónicas procedimentales con el camarero y
luego se comunica el pedido completo al personal de cocina como un mensaje.
18.1.2 MIDDLEWARE
• Dado que los componentes en un sistema distribuido pueden ser
muy diferentes entre sí, el middleware actúa como una capa que se
encuentra entre el sistema operativo y los programas de aplicación.
El middleware es un software que puede gestionar estas diversas
partes y garantizar que puedan comunicarse e intercambiar datos.
Se implementa como un conjunto de librerías, que se instalan en
cada computadora distribuida, además de un sistema de tiempo en
operación para gestionar las comunicaciones.
18.2 COMPUTACIÓN
CLIENTE-SERVIDOR
• El acceso a los sistemas distribuidos a través de Internet se organiza
típicamente como sistemas cliente-servidor. En este modelo, el usuario
interactúa con un programa local que a su vez interactúa con un programa
remoto que proporciona servicios como acceso a páginas web. Este modelo
no está limitado a aplicaciones distribuidas en múltiples máquinas, sino que
también se puede utilizar como modelo de interacción lógica en una sola
computadora.
18.3 PATRONES ARQUITECTÓNICOS
PARA SISTEMAS DISTRIBUIDOS
• El acceso a los sistemas distribuidos a través de Internet se organiza
típicamente como sistemas cliente-servidor. En este modelo, el usuario
interactúa con un programa local que a su vez interactúa con un programa
remoto que proporciona servicios como acceso a páginas web. Este modelo
no está limitado a aplicaciones distribuidas en múltiples máquinas, sino que
también se puede utilizar como modelo de interacción lógica en una sola
computadora.
ESTILOS ARQUITECTÓNICOS
Arquitectura
de • Se refiere a la forma en que los diferentes componentes de un sistema
distribuido se comunican y trabajan juntos. Existen diferentes arquitecturas que
componentes
se pueden utilizar para construir sistemas distribuidos, incluyendo la
arquitectura Maestro-Esclavo y la arquitectura Cliente-Servidor.
distribuidos.
Arquitectura
• En esta arquitectura, todos los nodos tienen la misma capacidad y pueden
actuar tanto como clientes como servidores. En lugar de depender de servidores
centrales, los nodos en una red P2P colaboran entre sí para proporcionar