Info

Solo disponible en BuenasTareas
  • Páginas : 16 (3828 palabras )
  • Descarga(s) : 0
  • Publicado : 13 de septiembre de 2012
Leer documento completo
Vista previa del texto
Los sistemas distribuidos son comúnmente piezas complejas de software cuyos componentes están dispersos en máquinas múltiples. Si se desea tener control sobre esta complejidad, es crucial que estos sistemas estén apropiadamente organizados.

La organización de los sistemas distribuidos depende mayormente de los componentes de software que constituyen al sistema. Estas arquitecturas de softwareestablecen como son organizados varios componentes del software y cómo interactúan entre ellos.

La implementación de un sistema distribuido requiere de la división e identificación de los componentes de software y su instalación en máquinas reales. La implementación e instalación final de la arquitectura de software se conoce como arquitectura de software.

Como se explicó conanterioridad, un objetivo importante de los sistemas distribuidos es separar las aplicaciones de las plataformas subyacentes mediante una capa de middleware. La adopción de esta capa en una importante decisión arquitectónica, y su principal objetivo es proveer una distribución transparente de la aplicación. La transparencia de la distribución implica en muchos casos la necesidad de hacer ciertos sacrificioso concesiones, por lo que es conveniente que el middleware sea adaptable. Esta adaptabilidad también se puede lograr permitiendo que el sistema monitoree su propio comportamiento y que tome las medidas necesarias cuando se requiera. Estos sistemas distribuidos son organizados frecuentemente en la forma de retroalimentación de control.

3.1 Estilos Arquitectónicos

Para iniciar la discusiónsobre arquitecturas, se debe considerar en principio la organización de sistemas distribuidos en componentes de software, también conocida como arquitectura de software.

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. Un componente es una unidad modular con interfacesbien definidas, y que puede ser reemplazado en el sistema.

Tal vez un término más complejo es el de conector, el cual generalmente es descrito como un mecanismo que media la comunicación, coordinación o cooperación entre componentes. Por ejemplo, un conector puede implementarse mediante RPCs, transferencia de mensajes o flujos de datos.

Existen varias configuraciones de componentes yconectores que definen el estilo arquitectónico de un sistema distribuido. Los estilos más importantes son:

• Arquitecturas en capas

• Arquitecturas basadas en objetos

• Arquitecturas centradas en datos

• Arquitecturas basadas en eventos

La idea básica tras el estilo arquitectónico en capas es simple: los componentes están organizados en forma de capas, en la que uncomponente en una determinada capa puede llamar a componentes en la capa inmediata inferior. Una observación clave es que el control generalmente fluye de capa en capa: las peticiones van de arriba abajo y los resultados de abajo a arriba, tal como se puede observar en la Figura 3.1(a).

Una organización, por mucho más suelta, se tiene en arquitecturas basadas en objetos, tal como se muestra en laFigura 3.1(b). En esencia, cada objeto corresponde a lo que hemos definido como componente, y estos componentes están conectados mediante un mecanismo RPC. No es de sorprender que esta arquitectura de software se adapte al modelo cliente-servidor que trataremos más adelante.



[pic]

Figura 3.1. (a) estilo arquitectónico en capas; (b) estilo arquitectónico basado en objetos.



Lasarquitecturas 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 (ver Figura 3.2 (a)). Por ejemplo, una cantidad importante de aplicaciones distribuidas en las que la comunicación se establece por medio de un archivo compartido a través de un sistema de archivos distribuidos.

En las arquitecturas...
tracking img