Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ARQUITECTURA
INTRODUCCIN
Arquitectura de software establece como son
organizados varios componentes del software y cmo
interactan entre ellos.
Los sistemas distribuidos son comnmente piezas
complejas de software cuyos componentes estn
dispersos en mquinas mltiples
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: Ingeniera de Sistemas
Estilos Arquitectnicos
El estilo arquitectnico est formulado en trminos
de componentes, la forma en que estos componentes
estn conectados unos con otros y los datos
intercambiados entre ellos.
Los estilos ms importantes son:
Arquitecturas en capas
Arquitecturas basadas en objetos
Arquitecturas centradas en datos
Arquitecturas basadas en eventos
Arquitecturas en capas
Los componentes estn
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: Ingeniera de Sistemas
evolucionan en torno a
la idea de que los
procesos se comunican
a travs de un
repositorio o medio
comn, ya sea pasivo o
activo
Arquitecturas de Sistemas
El determinar que componentes de software se usarn, cmo
interactuarn y cmo se distribuirn es lo que se conoce como
una instancia de arquitectura de software, tambin llamada
arquitectura de sistema.
Podemos diferencias las siguientes:
Arquitecturas Centralizadas
Arquitecturas Descentralizadas
Arquitecturas Hbridas
Arquitecturas Centralizadas
Aplican el modelo bsico clienteservidor, donde los procesos en un
sistema distribuido estn divididos
en dos grupos.
Un servidor es un proceso que
implemente un servicio especfico.
Un cliente es un proceso que solicita
un servicio a un servidor.
La interaccin cliente-servidor,
tambin conocida como solicitudrespuesta
Ing. Vanessa Jurado Vite Mag. Sistemas Distribuidos
Carrera: Ingeniera de Sistemas
Arquitecturas Centralizadas
Implementacin de
aplicaciones en capas
Se usa esencialmente el estilo
arquitectnico en capas:
El nivel de interfaz de usuario.
El nivel de procesamiento.
El nivel de datos.
Arquitecturas Centralizadas
El nivel de interfaz de usuario
contiene todo lo necesario para
establecer una interfaz directa con
el usuario
El nivel de procesamiento
tpicamente contiene las
aplicaciones.
El nivel de datos administra los datos
sobre los cuales se est trabajando.
Distribucin vertical: arquitecturas
multinivel cliente-servidor; son una
consecuencia directa del dividir las
aplicaciones en los tres niveles:
interfaz de usuario, componentes
de procesamiento y datos
Ing. Vanessa Jurado Vite Mag. Sistemas Distribuidos
Carrera: Ingeniera de Sistemas
Arquitecturas Descentralizadas
Distribucin horizontal: un
cliente o un server puede estar
fsicamente dividido en partes
lgicamente 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: Ingeniera de Sistemas
Arquitecturas Hibridas
Combinan las caractersticas de arquitecturas clienteservidor y arquitecturas peer-to-peer.
Arquitectura y Middleware
El middleware forma una capa entre las plataformas de
aplicacin y distribucin. Un propsito importante es proveer
un cierto nivel de transparencia en la distribucin, ocultando en
lo posible la distribucin de datos, el procesamiento y el control
de la aplicacin.
Cuando se consideran los aspectos arquitectnicos que se han
considerado hasta el momento, uno debe preguntarse dnde
entra el middleware
Arquitectura y Middleware
Lo que comnmente pasa es que el middleware sigue un estilo
arquitectnico especfico.
El moldear el middleware a un estilo arquitectnico especfico tiene
la ventaja de disear aplicaciones ms simples. Sin embargo, una
desventaja es que el middleware puede volverse dejar de ser ptimo
para lo que el desarrollador tena en mente.
Aunque se supone que el middleware tiene como propsito
transparentar la distribucin, generalmente se requiere que el
middleware se adapte a las aplicaciones. Una solucin sera
desarrollar varias versiones del middleware y otra sera el crear
middleware fcilmente configurable y adaptable, segn lo requiera la
aplicacin.
Ing. Vanessa Jurado Vite Mag. Sistemas Distribuidos
Carrera: Ingeniera de Sistemas