Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arquitectnico
Ing. Daniela Oyola
3k2 3k6
Recordemos algunos conceptos:
La Arquitectura se define como la organizacin
fundamental de un sistema, incluyendo sus
componentes, las relaciones entre ellos y el entorno, y los
principios que gobiernan su diseo y evolucin (ANSI /
IEEE Std 1471 2000) (repasar el concepto de arquitectura segn PUD)
Lgica de Negocio/
Capa de Administracin
Funcionalidad de la aplicacin
de datos
Web
Server
Application
Server
Databases
Arquitectura en Capas (Layered style)
Ventajas:
Modificabilidad: Permite la sustitucin de capas
completas en tanto se conserve la interfaz.
Permite aumentar la confiabilidad incluyendo
facilidades redundantes en las capas-
Portabilidad
Reusabilidad
Desventajas:
Difcil hacer separacin limpia entre capas.
El rendimiento se afecta por los mltiples niveles
de interpretacin.
Arquitectura en Capas (Layered style)
Ejemplos: Sistema de Biblioteca LIBSYS
(Permite el acceso electrnico controlado a material con derechos de
autor de un conjunto de bibliotecas universitarias)
Gestor formatos y
Conexin LIBSYS Gestor Impresin
consulta
ndice de Biblioteca
Capa de
Administracin Servidor de Bases de Datos del Municipio
de datos
Arquitectura de Repositorio
(Modelo Centrado)
La mayora de los sistemas con grandes
cantidades de datos se organizan sobre una base
de datos o repositorio compartido.
Es un modelo adecuado para aplicaciones en que
un componente genere datos y otro los use.
Tambin se lo conoce como Modelo Centrado
(model-centered) y describe una arquitectura en
la cual componentes independientes
interactan con un modelo central, en lugar de
interactuar con cada uno de los otros.
Arquitectura de Repositorio (Modelo Centrado)
Ventajas:
Los componentes pueden ser independientes.
Los cambios hechos por un componente se pueden
propagar a los dems.
Se puede gestionar de manera consistente la
totalidad de los datos.
Desventajas:
El repositorio es un punto de falla nico; los
problemas en el repositorio afectan a todo el
sistema.
Puede haber ineficiencias al organizar toda la
comunicacin a travs del repositorio.
Puede ser difcil distribuir el repositorio en varias
computadoras.
Arquitectura de Repositorio (Modelo Centrado)
Editores Generadores
UML de cdigo
Analizador Generador
de Diseo de Reportes
Patrones arquitectnicos
Arquitectura MVC(Modelo-Vista-Controlador)
Descripcin: Separa presentacin e interaccin de los
datos del sistema. El sistema se estructura en tres
componentes lgicos que interactan entre s:
Modelo: Maneja los datos del sistema y las operaciones
asociadas a esos datos.
Vista: Define y gestiona cmo se presentan los datos al
usuario.
Controlador: Dirige la interaccin del usuario y pasa esas
interacciones a Vista y Modelo.
Cundo se utiliza?
Se usa cuando existen mltiples formas de ver e
interactuar con los datos.
Cuando se desconocen los requerimientos futuros
para la interaccin y presentacin.
Arquitectura MVC(Modelo-Vista-Controlador)
Esquema genrico
Ventajas:
Permite que los datos cambien independiente-
mente de su representacin y viceversa.
Soporta en diferentes formas la presentacin de
los mismos datos.
Los cambios en una representacin se muestran
en todos ellos.
Desventajas:
Puede implicar cdigo adicional y complejidad en
el cdigo cuando el modelo de datos y las
interacciones son simples.
Ver el material sobre los siguientes patrones arquitectnicos:
PATRN MESSAGING
PATRN PUBLISHE SUSCRIBE
PATRN BROKER
PATRN PROCESS COORDINATOR
Ejemplo del PATRN MESSAGING
PATRN PUBLISHE SUSCRIBE
Componentes independientes publican eventos y se suscriben a ellos
Ejemplo del PATRN PUBLISHE
SUSCRIBE
Ejemplo del PATRN BROKER
Ejemplo del PATRN PROCESS
COORDINATOR
Arquitectura Tubera y Filtro (Pipe
& Filter)
El procesamiento de datos se organiza de forma que cada
componente de procesamiento (filtro) sea discreto y realice
un tipo de transformacin de datos. Los datos fluyen (como en
una tubera) de un componente a otro para su procesamiento.
La caracterstica clave es que la red completa de tuberas y
filtros est continua e incrementalmente procesando datos.
Aplica a elementos de tiempo de ejecucin, es parte de la
vista de ejecucin (runtime)
Se utiliza en aplicaciones de procesamiento de datos (tanto
basadas en lotes [batch] como en transacciones) donde las
entradas se procesan en etapas separadas para generar
salidas relacionadas. Tambin puede usarse en software
embebido.
Arquitectura Tubera y Filtro (Pipe
& Filter)
Esquema:
Ventajas:
Fcil de entender y soporta reutilizacin de
transformacin
El estilo de flujo de trabajo coincide con la estructura
de muchos procesos de negocio.
La evolucin al agregar transformaciones es directa.
Puede implementarse como un sistema secuencial o
como uno concurrente.
Desventajas:
El formato para la transferencia de datos debe
acordarse entre las transformaciones que se
comunican.
Esto aumenta la carga del sistema y puede significar
que sea imposible reutilizar transformaciones
funcionales que usen estructuras de datos
incompatibles.
Arquitectura Lote-Secuencial
(Batch-Sequential)
Procesador
Sensor Traffic flow
Procesador Traffic light de
Procesador control
deprocessor
Sensor de processor
Sala de control Controlprocessor
de Semforos
Proceso Proceso
de
Sensor de Light
Proceso
Control Display
Coordinacin control
controlde yprocess
Despliegue
de
Sensor
processes process
Control
de Luces
Maestro
Esclavo Esclavo
c2 c3 c4 c12
c11
Server process
c1
s1 s4
c10
c5
Client process
s2 s3 c9
c6 c8
c7
C/S y su distribucin en el Hardware
Hardware: Arquitectura C/S de dos Niveles
Servidor
Central
on on on on on on on
si si si si si si si
er er er er er er er
V V V V V V V
L L L L L L L
IA IA IA IA IA IA IA
TR TR TR TR TR TR TR
d d d d d d d
re re re re re re re
te te te te te te te
is is is is is is is on on on on on on on
eg eg eg eg eg eg eg si si si si si si si
nr nr nr nr nr nr nr er er er er er er er
V V V V V V V
-U -U -U -U -U -U -U L L L L L L L
51 51 51 51 51 51 51 IA IA IA IA IA IA IA
3. 3. 3. 3. 3. 3. 3. TR TR TR TR TR TR TR
A A A A A A oAn on on d on d on d on d on d d d
E E E E E E sEi si s i re s i re s i re s i re s i re re re
er er e r e e r e er e er e er e te te
V V V g i s t V g i s t V g i st V g i s t V g i s t is is
L L L Ln Ln Ln Ln n g n g n
IA IA I A n r eI As io n r eIAs io n r eIAs io n r eI As io n re s io n r e s io n r e s io
TR TR T R - U T Re r - U T Re r - U T Re r - U T Re r - U e r - U e r - U e r
Mltiples
d d d Clientes d V d V d V d V V V V
re re re 5 1re L 5 1re L 5 1r e L 5 1re L 5 1 L 5 1 L 5 1 L
te te t e 3 . te I A 3 . t e I A 3 . t e I A 3 . t e I A 3 . IA 3 . I A 3 . I A
is is is A is R A is R A is R A is R A R A R A R
eg eg eg E eg T E eg T E eg T E eg T E d T E d T E d T
nr nr nr n rr e d n rr e d n rre d n rre d re re re
-U -U -U - Uste - Uste - Ust e - Uste
i i i i st
e
st
e
is
te
51 51 51 5 1e g . 5r1e g .5r1e g .5r1e g gi gi eg
3. 3. 3. 3. r
n 3 n 3 n 3 n n re n re nr
A A A AU AU AU AU U U -U
E E E E- E- E- E- - -
51 51 51 51 51 51 51
3. 3. 3. 3. 3. 3. 3.
A A A A A A A
E E E E E E E
Hardware: Arquitectura C/S de tres Niveles
Servidor
Central
de aplicaciones
Servidor
local
on on on on on on on
si si si si si si si
er er er er er er er
V V V V V V V
L L L L L L L
IA IA IA IA IA IA IA
TR TR TR TR TR TR TR
d d d d d d d
re re re re re re re
te te te te te te te on on on on on on on
is is is is is is is si si si si si si si
eg eg eg eg eg eg eg er er er er er er er
nr nr nr nr nr nr nr L
V
L
V
L
V
L
V
L
V
L
V
L
V
-U -U -U -U -U -U -U IA IA IA IA IA IA IA
51 51 51 51 51 51 n 51 n n TnR TnR TnR TnR TR TR TR
3. 3. 3. 3. 3. 3 . io 3 . io i o di o dio dio dio d d d
Mltiples
A rs A rs r s rers rers rers rers re re re
Clientes
A A A A A
E E E E E E Ve E Ve e e e e e tVee istnVee istne e te
L L L
V iLstnV iLstnV Lisn L istn isn
IA IA IA eIAsgio reIrAsgio reIrAsgio reIrAsgio rersgio rersgio rersgio
TR TR TR nRr r nR nR nR n n n
UTV e -dUTV e -dUTV e -dUTV e - UV e - UV e - UV e
ed ed ed e-dL eL eL eL L L L
er er er 5e1rIA 5e1rIA 5e1rIA 5e1rIA 51IA 51IA .5R1IA
ist ist ist 3is.tR 3s.tR
i 3is.tR 3is.tR 3. R 3. R 3
eg eg eg Ag T Ag T Ag T Ag T A T A T A T
nr nr nr Ereed Ereed Ereed Ereed Eed Ee d Ee d
enr enr ner ner er er er
-U -U -U - sUt - sUt - Ust - Ust st st ist
gi gi gi gi gi gi eg
51 51 51 5r1e 5r1e 5r1e 5r1e re re
3. 3. 3. 3n. 3.n 3 .n 3 .n n n nr
A A A AU AU AU AU U U -U
E E E E- E- E- E- - -
51 51 51 51 51 51 51
3. 3. 3. 3. 3. 3. 3.
A A A A A A A
E E E E E E E
de archivos
Servidores
locales
Hardware: Arquitectura C/S de n Niveles
on on on on on on on
si si si si si si si
er er er er er er er
V V V V V V V
L L L L L L L
IA IA IA IA IA IA IA
TR TR TR TR TR TR TR
d d d d d d d
re re re re re re re
te te te te te te te
is is is is is is is
eg eg eg eg eg eg eg
nr nr nr nr i o nr
n
i o nn r i o nn r i o n
i o n
i o n on
-U -U -U -U r s- U r-s U r-s U rs rs rs si
e e e e e e er
51 51 51 51 V1
5 V1
5 V1
5 V V V V
3. 3. 3. 3. L3 . L3 . L3 . L L L L
A A A A IAA IAA IAA IA IA IA IA
E E E E T RE T RE T RE T R T R T R TR
d d d d d d d
Servidor
Central
re re re re re re re
te te te te te te te
is is is is is is is
eg eg eg e gn e gn e gn e gn n n on
nr nr nr n r io n r io n r i o n r io io io si
rs rs rs rs rs rs er
-U -U -U - VUe -VUe - VUe - VUe V
e
V
e
V
51 51 51 5 1L 5 1L 5 1L 5 1L L L L
3. 3. 3. 3 .I A 3 .I A 3 . IA 3 . IA IA IA IA
A A A AR AR AR AR R R TR
E E E Ed T Ed T Ed T Ed T d
T
d
T
d
re re re re re re re
te te te te te te te
is is is is is is is
eg eg eg eg eg eg eg
nr nr nr nr nr nr nr
-U -U -U -U -U -U -U
51 51 51 51 51 51 on 51 on io
n
io
n
io
n
io
n
io
n
3. 3. 3. 3. 3. 3. rsi 3. rsi r s n r s n rs n rs n r s n
o o o o o o n on
A A A A A A e A e e i e i e i e i e i i si
E V E V V rs V rs V rs V rs V rs rs
E E E E E
L L L e L e L e L e L e e er
IA IA I AL V I AL V IAL V IAL V I AL V L
V
L
V
TR TR T RI A T RI A T RI A T RI A T RI A IA IA
d d d R d R d R d R d R R TR
re re r e T r e T r e T r e T re T T
te te te d te d te d t e d te d d d
is is is e r e is e r e is e r e is e r e is e r e r e re
eg eg e gist e gist e gist e gist e gist te te
is is
nr nr n re g n re g n re g n re g n re g eg eg
-U -U - Un r - Un r - Un r - Un r - Un r nr nr
U U U U U U -U
51 51 51 - 5 1 - .5 1 - .5 1 - .5 1 - -
3. 3. 1 3. 1
3. 3 1 3 1 3 1 51 51
A A .5 A .5 A .5 A .5 A .5
A 3. 3.
E E 3 E 3 E 3 E 3 E 3
E
Distribucin de Software en Hardware
Modelo de Cliente Liviano
En un modelo de cliente liviano (delgado), todo el
procesamiento de la aplicacin y la administracin
de los datos es ejecutado en el servidor. El cliente
es responsable nicamente para la ejecucin de la
presentacin del software.
Modelo de Cliente Pesado
En este modelo, el servidor es nicamente
responsable de la administracin de los datos. El
software del cliente implementa la aplicacin lgica
y las interacciones con el usuario del sistema.
Utilizado cuando sistemas legados son migrados
a arquitecturas cliente servidor.
El sistema legado acta como un servidor en s
mismo con una interfaz grfica implementada en el
cliente.
La principal desventaja es que tiene una carga
de procesamiento pesada tanto en el servidor
como en la red.
Se delega ms procesamiento al cliente dado
que el procesamiento de la aplicacin es
ejecutado localmente.
Ms adecuado para sistemas de C/S nuevos
donde las capacidades del cliente son conocidas
de ante mano.
Ms complejo que un modelo de cliente liviano
especialmente para la administracin. Nuevas
versiones de la aplicacin deben ser instaladas
en todos los clientes.
P r e se n ta t io n
S e r ve r
T h i n - c li e n t D a t a m a n a ge m e n t
m o del C l ie nt
A p pl i ca t io n
p ro c e ss in g
P r e se n ta t io n
A p pl i ca t io n pr o c e ss in g S e r ve r
F a t - c li e n t
m o del C l ie nt Data
m a na g e m e nt
Calidad Resultante:
Mejora la mantenibilidad: Soporta cambios en las
reglas de negocio, cambiando el servidor, en lugar
de hacerlo en mltiples clientes.
Control central ayuda a la evolucin del sistema.
Puede enmascarar sistemas legados y tratarlo como
servidor.
Este estilo es similar al de repositorio, slo que el de
repositorio tiene la restriccin de que los componentes
vista y controlador no interactan.
En la prctica los clientes rara vez interactan entre s,
pero el estilo no lo prohbe.
Arquitecturas Peer-to-peer (p2p)
En este estilo los nodos se comunican entre s
como pares y las relaciones jerrquicas estn
prohibidas.
Cada nodo tiene la habilidad (no la obligacin)
de comportarse como cliente y como servidor.
El resultado es un conjunto de nodos operando
como pares donde cada nodo puede pedir o
proveer servicios a cualquier otro nodo.
Arquitecturas Peer-to-peer (p2p)
No es obligacin que cada nodo se comunique
con cada uno de los otros nodos.
En un momento particular, un nodo usualmente
est conectado a un subconjunto de nodos, y
las conexiones se agregan y remueven con el
sistema en ejecucin.
Las redes p2p se usan para acceder a recursos
con copias redundantes ubicadas en mltiples
nodos.
n4 n6
n8 n1 3
n7 n1 2
n2 n3
n1 3
n9 n1 0 n1 1
n1 n5
Servidor
(superpar)
n4
n1
n3
n6
n5
n2
Apropiado para el procesamiento de grandes
conjuntos de datos, tales como los motores de
bsqueda de Internet o las redes sociales.
Conceptualmente, simples programas deben
ejecutar poco a poco grandes conjuntos de datos
como si se hubiera utilizado una nica
computadora.
Dado que el riesgo de falla incrementa con la
cantidad de computadoras utilizadas, este estilo
permite recuperacin frente a fallas.
cmp MapReduce
:Master
rWrite pRead
:MapWorker :LocalFS
pWrite :ReduceWorker
pRead
:MapWorker rWrite :LocalFS
pWrite
:ReduceWorker
:MapWorker rWrite
:LocalFS
pWrite pRead
98
Eleccin de Patrones arquitectnicos
Arquitectura Espejada (Mirrored)
En este estilo se duplica hardware idntico, que
corre en paralelo.
Generalmente opera en lock-step lo que
duplica el esfuerzo, pero si uno falla el otro
puede continuar por su cuenta.
El software puede actualizarse en forma
separada uno de otro.
La disponibilidad sube porque la probabilidad de
que ambas fallen simultneamente es baja.
Arquitectura Rack
En este estilo los servidores se acomodan en pilas, para
utilizar menos espacio del piso.
Todas las computadoras de la pila se conectan con la
misma red.
La red en cambio puede tener varias conexiones a
Internet.
La conexin de red para el rack es a menudo ms rpida
o la restriccin de ancho de banda es menor, por lo que
la comunicacin entre computadores del mismo rack es
mucho ms rpida.
Arquitectura Granja de Servidores (Server Farm)