Está en la página 1de 24

Departamento de

Lenguajes y Sistemas Informticos


escuela tcnica superior
de ingeniera informtica
Ingeniera del Software de
Gestin III
Tema 1: atrones
!r"uitectnicos
Ejemplo de otro dominio
Diseo de la arquitectura
Implementacin de la arquitectura
ndice
Definiciones
Qu es un ID!
"plicacin de ejemplo
Diseo de un ID
"rquitectura de un ID
#atrn $%&
"rquitectura '"
(i)liografa
Definiciones
*Software arc#itecture is t+e set of design decisions
,+ic+- if made incorrectl.- ma. cause .our project to )e
cancelled/*0 Eoin 1oods
En 2(usc+mann345 se definen tres tipos de patrones
atrones ar"uitectnicos so)re aspectos
fundamentales de la estructura de un sistema soft,are/
Especifican un conjunto predefinido de su)sistemas con
sus responsa)ilidades . una serie de recomendaciones
para organi6ar los distintos componentes
atrones de dise$o so)re aspectos relacionados con el
diseo de los su)sistemas/ #or tanto se centran en
aspectos ms especficos
Idiom es un patrn de )ajo ni7el especfico de un
lenguaje de programacin o entrono de desarrollo
Qu es un ID!
Dominio del pro%lema
%isitante "dministrador
&liente
%endedor
SID: Sistema de Informacin Distri%uido
"plicacin de ejemplo
Cliente Sistema
Identificarse
Consultar Productos
Aadir Productos
Eliminar Productos
Confirmar Compra
USVirtual
"plicacin de ejemplo
Cliente
Consultar Productos
Aadir Productos
Eliminar Productos
Confirmar Compra
Visualizar Carrito
Aadir
Seguir Compra
Acabar Compra
Eliminar
Diseo de un ID
e pueden distinguir 7arios aspectos
comunes en el diseo de un ID
Diseo en capas
Diseo arri)a8a)ajo 9:top8do,n;<
Diseo a)ajo8arri)a 9:)ottom8up;<
Dise$o= &oncepcin
original de un o)jeto u
o)ra destinados a la
produccin en serie/
Diseo grfico- de
modas- industrial
Design= a mental project or
sc+eme in ,+ic+ means to
an end are laid do,n
Diseo en &apas de un ID
&liente
&apa de
resentacin
&apa de
Lgica de aplicacin
&apa de
!cceso a
Datos '(ecursos
S
i
s
t
e
m
a

d
e

I
n
f
o
r
m
a
c
i

n
Slo son conceptuales:
>o tienen por qu
corresponderse con la
estructura de la
implementacin/
?am)in conocida como
)ista lgica de la
ar"uitectura/
&apa 9@a.er<- >i7el 9?ier<
&apa de presentacin
&liente
resentacin
S
I
D
(esponsa%le de: 9A< presentar
informacin e 9B< interactuar con
la capa inferior eCternas
" 7eces tam)in se le llama &LI*+T* pero da lugar a confusiones
&ul es la diferencia entre cliente . la capa de presentacin!
&apa de lgica de aplicacin
(esponsa%le de: implementar las
operaciones solicitadas por los clientes a
tra7s de la capa de presentacin/
Ej= el componente encargado de 7er si un
cliente est o no logado
Dependiendo de la complejidad . de la tcnica de implementacin
empleada- tam)in se le conoce como= procesoDlgicaDreglas de
negocio o simplemente ser7idor
resentacin
Lgica de
aplicacin
Datos'
(ecursos
&apa de acceso a datosDrecursos
(esponsa%le de: gestionar todos los
elementos de informacin del IDE fic+eros
planos- F$@- G(D- etctera
En algunas arquitecturas se considera como parte integrante de esta
capa aquellos sistemas eCternos que proporcionan informacin/ Es el
esla)n necesario para componer ID a partir de otros ID/
Denominar a esta capa como Hcapa de datosI no es del todo riguroso-
por qu!
resentacin
Lgica de
aplicacin
Datos'
(ecursos
,-u. otros elementos pueden
proporcionar informacin/
?am)in conocida como capa de gestin
de recursos
Diseo arri)a8a)ajo 9:top8do,n;<
Definir la funcionalidad del
sistema desde el punto de
7ista del cliente
Ir propagando por las capas
segJn las necesidades
identificadas en las capas
anteriores
%entajas=
Desde el principio se tienen
claras las funcionalidades .
se dirige el desarrollo so)re
ellas
Des7entaja=
lo es posi)le aplicarlo a
sistemas desarrollados
desde cero
@os componentes por lo
general son fuertemente
acoplados pues se usan en
entornos +omogneos/
& l i e n t e
& a p a d e
r e s e n t a c i n
& a p a d e
L g i c a d e a p l i c a c i n
& a p a d e
! c c e s o a
D a t o s ' ( e c u r s o s
S
i
s
t
e
m
a

d
e

I
n
f
o
r
m
a
c
i

n
Diseo a)ajo8arri)a 9:)ottom8up;<
uele surgir por necesidad
ms que por eleccin
$uc+os de los sistemas de
+o. en da se )asan en la
integracin de productos
eCistentes 9leganc. s.stems=
sistemas +eredados<
istema +eredado= aquel que
es utili6ado en un conteCto
distinto del que en principio
fue conce)ido/ La mayora
de SID se con)ierten en
sistemas #eredados
i tenemos que integrar
sistemas +eredados no
podemos seguir un diseo
arri)a8a)ajo
Definimos por tanto la
funcionalidad del sistema al
final!
& l i e n t e
& a p a d e
r e s e n t a c i n
& a p a d e
L g i c a d e a p l i c a c i n
& a p a d e
! c c e s o a
D a t o s ' ( e c u r s o s
S
i
s
t
e
m
a

d
e

I
n
f
o
r
m
a
c
i

n
Diseo a)ajo8arri)a 9:)ottom8up;<
Definir la funcionalidad desde
el punto de 7ista del cliente
ECaminar recursos eCistentes
. la funcionalidad que ofrecen
*ncapsular la funcionalidad
eCistente
!daptar la salida de la
aplicacin a las necesidades
del cliente
%entaja=
@os componentes por lo
general son poco acoplados
. pueden ser reutili6ados
Des7entaja=
%iene impuesto por
necesidades eCistentes
& l i e n t e
& a p a d e
r e s e n t a c i n
& a p a d e
L g i c a d e a p l i c a c i n
& a p a d e
! c c e s o a
D a t o s ' ( e c u r s o s
S
i
s
t
e
m
a

d
e

I
n
f
o
r
m
a
c
i

n
"rquitectura de un ID
" la +ora de implementar un ID las
capas 9layer< conceptuales pueden
quedarse en uno o ms ni)eles 0tier1
ECisten K tipos )sicos de arquitecturas=
A8tier- B8tier- L8ni7eles- >8ni7eles
!r"uitectura=
"rte de pro.ectar .
construir 9edificios<
"rc+itecture= t+e art or
science of )uilding
"rquitectura A8tier
"plicaciones monolticas
@as capas de
presentacin- lgica .
datos se me6clan en una
mismo ni7el
uelen ser cerrados . no
presentan ningJn tipo de
interfa6
on un ejemplo claro de
sistemas +eredados
qu +acemos si tenemos
que integrarlo!
tienen alguna 7entaja!
& l i e n t e
& a p a d e
r e s e n t a c i n
& a p a d e
L g i c a d e a p l i c a c i n
& a p a d e
! c c e s o a
D a t o s ' ( e c u r s o s
S
i
s
t
e
m
a

d
e

I
n
f
o
r
m
a
c
i

n
"rquitectura B8tier
urge con la aparicin de los #&s
e 7io la posi)ilidad de sacar la capa de
presentacin a otro ni7el
%entajas=
e pude apro7ec+ar las capacidad de
computo del cliente
#ermite personali6ar la capa de
presentacin para distintos fines .
portarla a distintos entornos
Mn caso particular son las arquitecturas
clienteDser7idor
urgieron los N#& 9Nemote #rocedure &all< lo
que moti7 para la creacin de "#Is
i el cliente es independiente del ser7idor-
qu puede suceder!
Des7entaja=
&uando +a. que +acer una integracin
real de ms de un dos sistemas resulta
poco manteni)le . escala)le 9!<
& l i e n t e
& a p a d e
r e s e n t a c i n
& a p a d e
L g i c a d e a p l i c a c i n
& a p a d e
! c c e s o a
D a t o s ' ( e c u r s o s
S
i
s
t
e
m
a

d
e

I
n
f
o
r
m
a
c
i

n

"rquitectura B8tier
resentacin 1
Lgica de
aplicacin
Gestin de
(ecursos
Ser)idor 1
&liente
resentacin 2
Ser)idor 2

Lgica de
aplicacin
Gestin de
(ecursos
Lgica de la aplicacin
"rquitectura L8tier
De)ido al pro)lema de integracin de 7arios
sistemas aparece un nue7o ni7el
9middle,are- ni7el intermedio<
@a capa presentacin reside en el cliente- la
capa lgica reside en el ni7el intermedio- .
la capa de datos reside en el ni7el de
recursos que est compuesto por tantos
recursos como el sistema pretende integrar
@a responsa)ilidad de integrar pasa al
middleware 9&'N("- D&'$- E(<- que
tam)in se encarga de=
Transacciones
3alanceo de carga
(eplicacin
L8tier separa el ni7el lgico de datos
9recursos< por lo que es ms fcilmente
escala)le/ Es la opcin a seguir si se
pretende +acer una integracin de sistemas-
por qu!
&liente
resentacin
Lgica de
aplicacin
Gestin de
(ecursos
S
I
D
middleware
"rquitectura >8tier
Es la arquitectura n8tier escalada tantas
7eces como sea necesario
@a capa de recursos 9datos< puede ser
otro sistema n8tier
resentacin
Lgica de
aplicacin
Gestin de
(ecursos
S
I
D
middleware
14tier 54tier
#atrn $%&
$%&= es un patrn de arquitectura de soft,are que separa los
datos de una aplicacin- la interfa6 de usuario- . la lgica de
control en tres componentes distintos/ El patrn $%& se 7e
frecuentemente en aplicaciones ,e)- donde la 7ista es la
pgina O?$@ . el cdigo que pro7ee de datos dinmicos a la
pgina- el modelo es el istema de Gestin de (ase de Datos
. el controlador representa la @gica de negocio/
6odelo= Esta es la representacin especfica de la
informacin con la cual el sistema opera/ @a lgica de datos
asegura la integridad de estos . permite deri7ar nue7os
datosE por ejemplo- no permitiendo comprar un nJmero de
unidades negati7o- calculando si +o. es el cumpleaos del
usuario o los totales- impuestos o importes en un carrito de
la compra
7ista= Este presenta el modelo en un formato adecuado
para interactuar- usualmente un elemento de
interfa6 de usuario/
&ontrolador= Este responde a e7entos- usualmente
acciones del usuario e in7oca cam)ios en el modelo .
pro)a)lemente en la 7ista/
$uc+as aplicaciones utili6an un mecanismo de
almacenamiento persistente 9como puede ser una
)ase de datos< para almacenar los datos/ $%& no menciona
especficamente esta capa de acceso a datos/
Prame,orQs comunes=
"rquitecturas '"
'"= er7ice 'riented "rc+itecture


Interne
Interne
t
t
8TT 8TT


Interne
Interne
t
t
8TT 8TT
9
6
L
9
6
L
9
6
L
9
6
L 9
6
L
9
6
L
9
6
L
9
6
L
9
6
L
9
6
L
9
6
L
9
6
L
9
6
L
9
6
L
9
6
L
9
6
L
S
:
!

S
:
!

S
:
!

S
:
!

S
:
!

S
:
!

S
:
!

S
:
!

(i)liografa
1e) er7ices &oncepts- "rc+itectures and "pplications
!lonso- G/- &asati- P/- ;uno- O/- 6ac#iraju- %/
BRRK- pringer
I(>= L8SKR8KKRRT83
#attern8'riented oft,are "rc+itecture
3usc#mann- P/ et/ al
A334- Uo+n 1ile. V ons
I(>= RKWA3ST43W

También podría gustarte