Documentos de Académico
Documentos de Profesional
Documentos de Cultura
• I nst r uct or
– Her nán Ast udillo
– I ngenier o I nf or mát ico & PhD Comput er Science
– Pr of esor UTFSM, Valpar aíso, Chile
1
Fase 0 - Solución Fase 0 - Notas
• Not as
– client e: br owser Web
– ser vidor : scr ipt s CGI (pr ogr amas invocados seg ún URL)
– comunicaci ón v ía H T T P
– segur idad: usuar io y cont r aseña, v ía f or mas HTML
– audit able: bit ácor a (“logs ”)
MailClient MailSender – dat os: BD det r ás del ser vidor W eb
sendText • Pr oblema t ecnol ógico
– oper aciones t r ansaccionales (at ómicas per o compuest as)
– ...per o HTTP es “st at eless”: cada invocación par t e de cer o
• Solución
– ‘Sesiones’: pasar est ado, o guar dar est ado y pasar clave;
ambos casos pueden usar URL, f or ma, cookie...
Sesión 01 [2004-ii-16] Arquitectura de Software - 7 Sesión 01 [2004-ii-16] Arquitectura de Software - 8
H.Astudillo H.Astudillo
2
Fase 1 - Notas Obs: problemas sistémicos
• Pr oblemas sist émicos • Mayor escala pr ovoca pr oblemas sistémicos
– lent o e inest able – Rendimient o, disponibilidad (est abilidad), conf iabilidad...
• CGI levant a pr ocesos -> memor ia y velocidad – N o puede ident if icar se un lugar específ i co ‘culpable’
– colisiones en bit ácor as y dat os – No son def ect os de pr ogr amaci ón, sino malas decisiones
• pr oblemas de concur r encia sobr e pr ot ocolos, polít icas de r eplicaci ón, concur r encia...
– dif ícil de monit or ear • I mpact o de r equisit os
• Soluciones (complement ar ias) – El ar quit ect o pr ivilegia las pr opiedades sist émicas por
– pr ocesos r esident es en memor ia (por sesión) sobr e la “f uncionalidad” (t ar eas)
– cont r ol de concur r encia (pesimist a, pr obablement e) – En gener al, con sist emas gr andes es más dif ícil sat isf acer
las pr opiedades de ej ecuci ón que ej ecut ar la t ar ea misma
– monit or eo dinámico y global
– r eplicación de ser vidor es (balanceo de car ga) – Er r or es de ar quit ect ur a (o diseño) son car os
• Foco del ar quit ect o
– r equisit os sist émicos (descr ipci ón y solución)
• Pr oblema
– aspect os especializados del dominio r equier en modelos
más r icos
– est os modelos r equier en administ r ación (como par t e del
sist ema)
3
Obs: arquitecturas sistematizadas Fase 3: integración
• Pr oblemas r ecur r ent es, usualment e coexist ent es • Pr oblema (gr ande al f in)
• Pr e-empaquet ar t ecnologías – El banco decide incor por ar pago de cuent as y
t r ansf er encias
– sesiones, cont r ol de concur r encia, monit or eo...
• Por usuar i os i ndi vi duales y/ o cor por at i vos
• ‘Ar quit ect ur as de línea de pr oduct os’ – Tr ansacciones con ef ect os en t er cer os
– f act or ización y r euso i nt r a- or ganización • N o-r epudiables
• ‘Ar quit ect ur as de r ef er encia’ par a aplicaciones • Mal uso puede af ect ar al banco, no sólo a los ususar i os
– ‘Ser vlet s’: obj et os- pr ocesos (esquema MVC) – Conex ión con sist emas legado
– ASP (Act ive Ser ver Pages): • Ant iguos, per o f uncionando (y bien)
• Plat af or mas het er ogéneas
• ‘Ar quit ect ur as de r ef er encia’
– CORBA (obj et os dist r ibuidos het er ogéneos; casi S .O.)
– RM- ODP (Open Dist r ibut ed Pr ocessing- Ref er ence Model)
4
Obs2: evaluando arquitecturas Reflexión
• I mplant ando ar quit ect ur as • ¿Qué hemos hecho?
– Solución H 0 : pr ogr amar (f lex ible/ ameno vs. cost o/ t iempo) – I nt r oducción paulat ina de f uent es de complej idad
– Tecnologías con capacidades suf icient es (J 2EE, .N ET...) • Madur ez t ecnológica
• Escala (t amaño)
– Pr oduct os: comer cial vs. Open Sour ce (r iesgo vs. cost o) • Complej idad del dominio
• Pr oblema • Het er ogeneidad
– Evaluar ar quit ect ur as & compar ar alt er nat ivas – I nt r oducción paulat ina de t emas de ar quit ect ur a
• Descr i pci ón de ar qui t ect ur as
• ¿Qué signif ica ‘mej or ’? • Pr oblemas sist émicos
– cr it er ios de opt imalidad: ef ect ividad, cost o, simplicidad, • Ar quit ect ur as sist emat izadas
f ut ur a int egr ación o cr ecimient o, mar ket ing... • Evaluación y compar ación
– sólo los ‘st akeholder s’ pueden r ealment e escoger (no son – Enf oque a vuelo de páj ar o
decisiones t écni cas) • Sin not ación det allada
– una buena ar quit ect ur a es una buena descr ipci ón de una • Sin det alles t écnicos (de pr oblemas ni soluciones)
buena solución
• “buena”: r esponde las pr egunt as de los ‘st akeholder s’
La disciplina
• Or igen hist ór ico de la disciplina
– Per cepción cr ecient e que pr oblemas de diseño ‘en gr ande’
son cualit at ivament e dif er ent es
– Énf asis en diseñar par a logr ar pr opiedades más que par a
“Arquitectura de Software” t ener f unciones
– Shaw&Gar lan (1993): r ef er encia est ándar
• (Aunque hay publicaciones ant er ior es con nombr es similar es)
• I dent if icar on “est ilos de ar quit ect ur a”
• Pr ivilegiar on medir y compar ar por sobr e mer ament e hacer
• T r adición cont inúa en el SEI (CMU)
5
Otras analogías Arquitectura y programación
• Analogías desde la indust r ia de const r ucción • Nót ese la dif er encia con hacer un pr ogr ama
(especif icar una comput ación)
– El ar quit ect o de sof t war e como ar quit ect o de edif icios
– La descr ipción de la ‘f uncionalidad’ (t ar eas) t iene menos
• Analogías desde la indust r ia cinemat ogr áf ica impor t ancia r elat iva
– El ar quit ect o del pr oyect o es el dir ect or de la película – En gener al, al const r uir gr andes sist emas es más dif ícil
sat isf acer las pr opiedades de la ej ecución que ej ecut ar la
– El j ef e del pr oyect o es el pr oduct or de la película t ar ea misma
• For mas de educación (y socialización) – Er r or es de ar quit ect ur a (o diseño) son pr áct icament e
incur ables
– En est udios: como los abogados y los ar quit ect os
• Apr ender mir ando por encima del hombr o
– En clínicas: como los médicos
• Apr ender en equipo en modo cr isis
– Pasiva: como los ingenier os
• Cur sos t eór icos, pr áct ica post-gr aduaci ón
6
¿De qué hablan los arquitectos? Definiciones más formales [1/2]
• Post ur a # 1: ar quit ect os de gr andes sist emas de • I EEE 1471
SW ‘piensan’ en macr o-component es – ‘Ar chit ect ur e is t he f undament al or ganizat ion of a
– Capas (‘layer s’) syst em, embodied in it s component s, t heir r elat ionships
– Pr ocesos y ‘pipes’ t o each ot her and t o t he envir onment , and t he pr inciples
guiding it s design and evolut ion.’
– Client es y ser vidor es
• I EEE 1471
• Post ur a 2: ‘piensan’ en polít icas y mecanismos – An ar chit ect ur e is t he highest - level concept of a syst em
– Toler ancia a f allas, r endimient o … in it s envir onment
– Replicación - - > ‘f ailover ’, balanceo de car ga … – highest level = essent ial, unif ying concept s and pr inciples
• Tenemos 2 vocabular ios con f ocos – syst em = applicat ion, syst em, plat f or m, syst em- of
complement ar ios: syst ems, ent er pr ise, pr oduct line, ...
– Est r uct ur a: component es y conect or es – envir onment = development , oper at ional, pr ogr ammat ic,
– Pr opiedades: polít icas y mecanismos cont ex t
– I mplicat ion: Ever y Syst em has an Ar chit ect ur e
7
Requisitos - resumen Atributos
• Resumiendo • [ G+A,1.1.2]
– 3 t ipos – dist inguir pr oduct o, pr oceso, especif icación
• Funciones
• Pr opi edades
• Rest r icciones
– Conf ir mar que los 3 t ipos sean document ados
• O al menos ent endi dos
• los “af ect ados” por la calidad de lo que hace el ar quit ect o
arquitecto
• St akeholder s usuales
– Analist a (r epr esent a al client e)
arq
– I mplant ador (pr ogr amador y/ o diseñador de sub- par t es) uit
etu
ra
implantador
uit
tu
– J ef e de pr oyect o
etu
ite
ra
qu
ar
8
Calidad según los stakeholders ¿“Evaluable”? ¿“Manejable”?
• (ver [ G+A,1.2] ) • Solución evaluable...
• La solución debe... – Debe per mit ir evaluar compr omisos y opciones
– Sat isf acer los r equisit os (analist as) • Por lo t ant o, debe t ener r ast r eabilidad ent r e las par t es de
la solución y del pr oblema
– Ser ‘const r uible’ (pr ogr amador es & diseñador es)
– Ser t est able (Q A) • Pr oceso manej able...
– Debe ser par t icionada e indicar dependencias
– Ser administ r able (administ r ador es)
• Par t iciones: unidades nat ur ales de asignación de t r abaj o
• La descr ipción de la solución debe... • Dependencias: la base par a def inir calendar io
– Ser evaluable (ot r os ar quit ect os)
• Solución debe sat isf acer r equisit os
• El pr oceso de const r ucción debe... – ¿Obvio? Not r eally ; debe convencer al analist a
– Ser manej able (j ef e de pr oyect o)
9
Modelos de arquitectura Modelos – Particionamiento
• Modelos • Par t icionamient o por mat er ia/ especialist a
– En pr incipio, descr iben el sist ema en det alle – Modelo de dominio vs. modelo de sof t war e
• Poco r ealist a L
– I nf r aest r uct ur a vs. aplicaciones
• Deben descr ibir al menos... – Segur idad, t oler ancia a f allas, balanceo de car ga...
– Piezas mayor es – Dinámico/ est át ico
• Subsist emas, camadas, t opologías...
• Dependenci as t ecnológi cas y de pr oduct os • Vist as (‘views’)
– Decisiones clave globales – Descr ipciones concur r ent es par a aspect os alt er nat ivos
• Polít icas (t oler ancia a f allas, balanceo de car ga, invocación • RUP (Kr ucht en)
dinámica...) • RM-O DP, ot r as
– Desde dif er ent es per spect ivas (‘punt os de vist a’)
10
Fábula del ómnibus Fábula de la casita soleada
• ¿Qué lado del ómnibus? • Quier o hacer me una casa
– No me gust a viaj ar al sol – Tengo r ecur sos (o no t endr ía un ar quit ect o) y soy mañoso
– Viaj o f r ecuent ement e a Valpar aíso (nor oest e de St go.) – ¿Q ué me deber ía pr egunt ar el ar quit ect o?
• Voy en la AM • “¿Despier t a t empr ano o t ar de?”
• Regr eso en la PM • “¿T r abaj a en la casa?”
– Ej er cicio: ¿de qué lado viaj o siempr e? • “ ¿Cómo le caen las amigas de su esposa?”
– Pr oblema: viaj é a las 12 y me dio el sol • Mor alej a
• Mor alej a – El ar quit ect o no es un ingenier o
– Los f undament os e hist or ia de una decisión se pier den • Debe pr egunt ar me “por qué”, no “cómo”
• Podr íamos usa la hist or ia par a r econst r uir la decisión • Peligr o
• Peligr o – No bast a conocer los t ipos de pr egunt as par a poder
– Si cambian las cir cunst ancias, no sabr emos que hacer las en f or ma út il
posiblement e hay que cambiar la decisión
Sesión 01 [2004-ii-16] Arquitectura de Software - 61 Sesión 01 [2004-ii-16] Arquitectura de Software - 62
H.Astudillo H.Astudillo
11
Referencias [2/2] Recursos
• Clemens Szyper ski • “Sof t war e Ar chit ect ur e”
– Component Sof t war e : Beyond Obj ect-Or i ent ed Pr ogr ammi ng, – Sof t war e Engineer ing I nst it ut e (SEI ), Car negie-Mellon
Addison W esley (1998) Univer sit y
• I var J acobson, Mar t in Gr iss , Pat r ik J onsson – www.sei.cmu.edu/ at a/
– Sof t war e Reuse: Ar chit ect ur e, Pr ocess and Or ganizat ion f or • “Sof t war e Ar chit ect ur e Paper s”
Business Success, Addison W esley (1997) – Sof t war e Engineer ing Resear ch Labor at or y (SERL), Univer sit y
of Color ado
• Philippe Kr ucht en
– www.cs.color ado.edu/ user s/ ser l/ ar ch/ paper s.ht ml
– T he Rat ional Unif ied Pr ocess: An I nt r oduct ion (2nd Ed.),
Addison W esley (2000)
– ht t p:/ / www.r at ional.com/ whit epaper s/
12