Está en la página 1de 16

UNIVERSIDAD POLITÉCNICA SALESIANA

Carrera de Ingeniería de Sistemas


Sistemas Distribuidos

ARQUITECTURA
INTRODUCCIÓN

 Arquitectura de software establece como son


organizados varios componentes del software y cómo
interactúan entre ellos.
 Los sistemas distribuidos son comúnmente piezas
complejas de software cuyos componentes están
dispersos en máquinas múltiples
 Un objetivo importante de los sistemas distribuidos es
separar las aplicaciones de las plataformas
subyacentes mediante una capa de middleware.
Ing. Vanessa Jurado Vite Mag. – Sistemas Distribuidos
Carrera: Ingeniería de Sistemas
Estilos Arquitectónicos

 El estilo arquitectónico está formulado en términos de


componentes, la forma en que estos componentes
están conectados unos con otros y los datos
intercambiados entre ellos.
 Los estilos más importantes son:
 Arquitecturas en capas
 Arquitecturas basadas en objetos
 Arquitecturas centradas en datos
 Arquitecturas basadas en eventos
Ing. Vanessa Jurado Vite Mag. – Sistemas Distribuidos
Carrera: Ingeniería de Sistemas
Arquitecturas en capas

 Los componentes están


organizados en forma
de capas, en la que un
componente en una
determinada capa
puede llamar a
componentes en la capa
inmediata inferior.

Ing. Vanessa Jurado Vite Mag. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Arquitecturas basadas en objetos

 Cada objeto corresponde a


lo que hemos definido
como componente, y estos
componentes están
conectados mediante un
mecanismo RPC.
 Esta arquitectura de
software se adapta al
modelo cliente-servidor
Ing. Vanessa Jurado Vite Mag. – Sistemas Distribuidos
Carrera: Ingeniería de Sistemas
Arquitecturas centradas en datos

 evolucionan en torno a
la idea de que los
procesos se comunican
a través de un
repositorio o medio
común, ya sea pasivo o
activo

Ing. Vanessa Jurado Vite Mag. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Arquitecturas basadas en eventos

 Los procesos se comunican esencialmente por


medio de la propagación de eventos, los cuales de
manera opcional pueden llevar datos consigo
 La idea básica es que los procesos publican
eventos tras los cuales el middleware asegura que
sólo esos procesos que se subscribieron a esos
eventos, los recibirán. La ventaja principal de esta
arquitectura es que los procesos están acoplados
flojamente. En principio, no se requiere una
referencia explícita de proceso a proceso. A esto
se le conoce como desacoplamiento en el espacio o
referencialmente desacoplados.
Ing. Vanessa Jurado Vite Mag. – Sistemas Distribuidos
Carrera: Ingeniería de Sistemas
Arquitecturas de Sistemas

 El determinar que componentes de software se usarán, cómo


interactuarán y cómo se distribuirán es lo que se conoce como
una instancia de arquitectura de software, también llamada
arquitectura de sistema.
 Podemos diferencias las siguientes:
 Arquitecturas Centralizadas
 Arquitecturas Descentralizadas
 Arquitecturas Híbridas

Ing. Vanessa Jurado Vite Mag. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Arquitecturas Centralizadas
 Aplican el modelo básico cliente-servidor, donde los procesos
en un sistema distribuido están divididos en dos grupos.
 Un servidor es un proceso que implemente un servicio
específico.
 Un cliente es un proceso que solicita un servicio a un servidor.
 La interacción cliente-servidor, también conocida como
solicitud-respuesta

Ing. Vanessa Jurado Vite Mag. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Arquitecturas Centralizadas

 Implementación de aplicaciones en capas


 Se usa esencialmente el estilo arquitectónico en capas:
 El nivel de interfaz de usuario.
 El nivel de procesamiento.
 El nivel de datos.

Ing. Vanessa Jurado Vite Mag. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Arquitecturas Centralizadas

 El nivel de interfaz de usuario contiene todo lo necesario


para establecer una interfaz directa con el usuario
 El nivel de procesamiento típicamente contiene las
aplicaciones.
 El nivel de datos administra los datos sobre los cuales se
está trabajando.

Ing. Vanessa Jurado Vite Mag. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Arquitecturas Descentralizadas

 Distribución horizontal: un
cliente o un server puede estar
físicamente dividido en partes
lógicamente equivalentes,
pero cada parte opera con su
proprio conjunto integral de
datos, balanceando
(equilibrando) la carga del
sistema. (Sistemas peer to
peer)
Ing. Vanessa Jurado Vite Mag. – Sistemas Distribuidos
Carrera: Ingeniería de Sistemas
Arquitecturas Hibridas

 Combinan las características de arquitecturas cliente-


servidor y arquitecturas peer-to-peer.

Ing. Vanessa Jurado Vite Mag. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Arquitectura y Middleware
 El middleware forma una capa entre las plataformas de
aplicación y distribución. Un propósito importante es proveer
un cierto nivel de transparencia en la distribución, ocultando en
lo posible la distribución de datos, el procesamiento y el control
de la aplicación.
 Cuando se consideran los aspectos arquitectónicos que se han
considerado hasta el momento, uno debe preguntarse dónde
entra el middleware

Ing. Vanessa Jurado Vite Mag. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Arquitectura y Middleware

 Lo que comúnmente pasa es que el middleware sigue un estilo


arquitectónico específico.
 El moldear el middleware a un estilo arquitectónico específico tiene la
ventaja de diseñar aplicaciones más simples. Sin embargo, una
desventaja es que el middleware puede volverse dejar de ser óptimo
para lo que el desarrollador tenía en mente.
 Aunque se supone que el middleware tiene como propósito
transparentar la distribución, generalmente se requiere que el
middleware se adapte a las aplicaciones. Una solución sería desarrollar
varias versiones del middleware y otra sería el crear middleware
fácilmente configurable y adaptable, según lo requiera la aplicación.

Ing. Vanessa Jurado Vite Mag. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas
Auto administración en sistemas
Distribuidos
 Los sistemas distribuidos y el middleware asociado a ellos requieren
proveer soluciones generales orientadas a crear un escudo contra
condiciones indeseables inherentes a la red, de tal manera que puedan
brindar soporte a tantas aplicaciones como sea posible. Los sistemas
distribuidos deben ser adaptivos, más en cuanto a su comportamiento de su
ejecución y no en cuanto a los componentes de software que lo conforman.
 Cuando se requiere de adaptación automática, existe una fuerte
interrelación entre las arquitecturas del sistema y las arquitecturas del
software. Por otro lado, se requiere organizar los componentes de un
sistema distribuido en tal forma que se pueda implementar el monitoreo y
ajuste del sistema; también decidir dónde deben ejecutarse los procesos
para facilitar la adaptabilidad.

Ing. Vanessa Jurado Vite Mag. – Sistemas Distribuidos


Carrera: Ingeniería de Sistemas

También podría gustarte