Fundamentos de Definición de Arquitectura de Software

44
Septiembre 27 a Octubre 01 de 2005 Bogotá, Colombia Fundamentos de Definici de Arquitectura de Soft Mauricio Naranjo Chief Architect [email protected] Lucasian Labs Ltda.

description

Fundamentos de Definición de Arquitectura de Software

Transcript of Fundamentos de Definición de Arquitectura de Software

Fundamentos de Definición de Arquitectura de Software
Mauricio Naranjo Chief Architect [email protected]
Lucasian Labs Ltda.
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'2
Agenda Conferencia
( Arquitectura Vs- .ise/o
(4ecciones Aprendidas en 1onsultor5a
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'
Arquitectura de Software
3emos una”
(#$$$ &'(&
( Arquitectura es la or0ani7ación
fundamental de un sistema
 9 +elación entre ellos , con el
amiente-
e3olución-
)ractice % *a+man
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%',
Discusión
cr5tico---
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'-
(.os factores primarios en la in0enier5a de software
que <an incrementado la importancia de la
arquitectura8
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'(
$olución de Arquitecturas ( A/licaciones 0onol1ticas
( Interfaces 0ráficas de usuario =>?I@-
( Ser3icios de presentación6 ne0ocios
( Alto acoplamiento entre tiers-
Arquitectura Cliente%Seridor 
( 1lientes pesados6 no estándar 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'
$olución de Arquitecturas ( Arquitectura Cliente%Seridor
0ejorada
diferentes clientes o sistemas-
( Mejora la escalailidad-
( Mejora la fle;iilidad-
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'3
$olución de Arquitecturas
&%%-%%%(
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&5
$olución de Arquitecturas (6isión de Arquitectura 7rientada a Sericios 8S7A9
Cluster de Servidores de Aplicaciones
Aplicaciones Legadas
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&&
!ue es un Arquitecto de Software"
• :ational ;nified )rocess
desarrollo de software el cual es
responsale de8
 –  :roducir los artefactos necesarios8
.ocumento de descripción de
 –  Visuali7a el comportamiento del sistema-
 –  1rea los planos del sistema-
 –  .efine la forma en la cual los elementos del sistema traajan en conjunto-
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&2
Discusión
de software*
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&
Arquitectura 6s. Dise=o ( 4a arquitectura , el dise/o difieren en tres áreas8
Arquitectura Dise=o
espec5fico en detalles
con sistemas e;ternos6
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&'
Arquitectura 6s. Dise=o (4a arquitectura en3uel3e un conjunto de decisiones
estrat20icas de dise/o6 lineamientos6 re0las ,
patrones que restrin0en el dise/o , la implementación
de un software-
Las decisiones de arquitectura causan un alto impacto en los proyectos de I
Arquitectura
Diseño
Implementación
Código
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&,
Discusión
m2todos de desarrollo de software modernos*
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&-
Arquitectura ? )rocesos de Desarrollo )rinci/ios Fundamentales de )rocesos 0odernos
( .esarrollo iterati3o e incremental-
( Conducido /or las calidades sistmicas. ( Centrado en la arquitectura. ( .iri0ido por los casos de uso-
( asada en Modelos-
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&(
Arquitectura ? )rocesos de Desarrollo ( !ue es un )roceso de Arquitectura"
( :ational ;nified )rocess< ( Secuencia de acti3idades
que conlle3an a la
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&
Arquitectura ? )rocesos de Desarrollo :ational ;nified )rocess< En el proceso de definición de
arquitectura se producen8
( Matri7 ecnoló0ica de 4a,ers
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&3
Definición de Arquitectura en :;) Fase de #nicio ( 1on respecto a la arquitectura6 en la
fase de inicio de los pro,ectos se
estalece8
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'25
Definición de Arquitectura en :;) Fase de $laboración ( 1on respecto a la arquitectura6 en la
fase de elaoración se estalece8
 9 Arquitectura l1nea base.
 Arquitectura-
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'2&
Definición de Arquitectura en :;) ( 0odelo de 6ista 'B& ( CrameworD para .escripción de Arquitectura6 asado en 3istas
ló0icas , f5sicas ?M4 , una 3ista funcional de casos de uso-
)rocess 6iew De/lo?ment 6iew
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'22
Definición de Arquitectura en :;)
Prototipar la Arquitectura
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'2
Definición de Arquitectura en Sunone A0 ( Metodolo05a de desarrollo de software análo0a al ?nified
:rocess =?:@ con un fuerte 2nfasis en 1alidad de Ser3icio ,
:atrones de dise/o-
( El cuo8 frameworD conceptual6 el cual pro3ee una 3ista
tridimensional8
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'2'
Definición de Arquitectura en Sunone A0
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'2,
Definición de Arquitectura en Sunone ()rinci/ios Arquitectónicos (4a arquitectura es primariamente necesaria para crear
un frameworD para el desarrollo asado en patrones ,
para la entre0a de calidades sist2micas predeciles-
usiness
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'2-
Definición de Arquitectura en #F0
()rinci/ios Arquitectónicos (El proceso de creación de arquitectura dee ser un
proceso de creación de 3alor-
(4a arquitectura se descompone en elementos
arquitectónicos =AEs@-
proceso secuencial diri0ido por el +$I-
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'2(
Definición de Arquitectura en #F0
MM& A
=AEs@ se reali7a incrementalmente acorde a la
secuencia de MMCs6 determinada por el +$I-
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'2
$jem/lo de Definición de Arquitectura
(eanE rusted osting ( GorEsho/ de Arquitectura ? Dise=o de A/licaciones H2$$ ( 1urso GS'%I # 4ucasian 4as 4tda-
( Entidad que presta el <ostin0
de los ser3icios de anca
personal en Internet
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'23
$jem/lo de Definición de Arquitectura
(.ado un conjunto de requerimientos primarios
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'5
$jem/lo de Definición de Arquitectura
(Identificación de requerimientos funcionales , de
calidad de ser3icio =)oS@
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&
$jem/lo de Definición de Arquitectura
(Identificación de supuestos6 ries0os , restricciones
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'2
$jem/lo de Definición de Arquitectura
(Identificación de Actores , 1asos de ?so primarios
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'
$jem/lo de Definición de Arquitectura
( Arquitectura 4ó0ica- Identificación de tiers ló0icos6
susistemas , paquetes
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%''
$jem/lo de Definición de Arquitectura
(.ise/o de Arquitectura +untime- .ia0rama de
.esplie0ue-
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%',
$jem/lo de Definición de Arquitectura
(:lataforma ecnoló0ica- .efinición de la matri7
tecnoló0ica de la,ers , tiers
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'-
Discusión
comunes de ries0oH
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'(
Calidades Sistmicas ( El manejo inadecuado de los requerimientos no
funcionales6 es una de las fuentes más importante
de ries0o en los pro,ectos8  9 +e0las de ne0ocio de alta complejidad-
 9 1alidades sist2micas − Se0uridad
un ries0o primario relacionado con la arquitectura-
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'
Calidades Sistmicas
(Definición
( :ropiedades que estalecen la calidad de ser3icio =)oS@ que un sistema e;pone-
( Son 0loales a toda la arquitectura
( Influencian el dise/o-
(Familias de
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'3
Calidades Sistmicas % 0anifiestas
( )erformance- iempo de respuesta desde el punto de 3ista del
usuario-
correctamente-
procesar solicitudes-
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%''5
Calidades Sistmicas % 7/eracionales
administrati3as-
errores-
( Securit?- :re3ención de uso indeseado6 por auso o uso inapropiado8
 9 Identidad  9 Autoridad  9 1onfidencialidad  9 Auditailidad  9 Inte0ridad
( estabilit?- Esfuer7o in3ertido para detectar , aislar errores-
$ser3ales cuando el sistema está operando en producción-
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%''&
Calidades Sistmicas % $olutias (+elacionadas con el comportamiento del sistema
cuando sufre al0Jn camio-
( $scalabilit?- 4a <ailidad para soportar la calidad de ser3icio requerida conforme la car0a aumenta-
( FleIibilit?- Esfuer7o a<orrado cuando
se <ace un camio de confi0uración-
( )ortabilit?- Esfuer7o a<orrado
diferente-
errores-
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%''2
Lecciones A/rendidas en Consultor1a
( .efina una persona o un 0rupo de personas e;perimentadas6 encar0adas de definir , 3alidar arquitectura de sus pro,ectos-
( Estale7ca los requerimientos de calidad de ser3icio con los e;pertos del dominio , con los usuarios finales-
( In3olucre al equipo de traajo en el proceso de definición de
arquitectura-
( .ocumente , comunique la arquitectura , lineamientos de dise/o , lo0re aceptación- No la impon0a-
( Sea firme con las decisiones6 3alore impactos
e identifique ries0os-
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%''
Lecciones A/rendidas en Consultor1a
( Valore alternati3as de arquitectura , dise/o tomando en cuenta las calidades sist2micas , relación costo#eneficio-
( Instancie los mecanismos arquitectónicos definidos incrementalmente- No los instancie en loque-
( +eutilice frameworDs6 patrones de dise/o , mejores prácticas- Sea
racional en el uso de tecnolo05as-
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'''
Fundamentos de Definición de Arquitectura de Software
Mauricio Naranjo Chief Architect [email protected]
Lucasian Labs Ltda. www.lucasian.com