Arquitectura
Definición de Arquitectura en
RUP, IFM y SunTone AM
Mauricio Naranjo
Chief Software Architect
www.lucasian.com
The Software Architecture And Engineering Company
1
Objetivos
Esta presentación introduce:
•
•
•
•
Conceptos de arquitectura de software y su importancia
Definiciones de Calidades Sistémicas
El rol del arquitecto
Fundamentos de Definición deArquitectura en Procesos de
Desarrollo
• Lecciones aprendidas en consultoría de arquitectura y diseño
de aplicaciones J2EE
2
Fundamentos de Definición de
Arquitectura
Agenda
• Parte 1 - Fundamentos de
Arquitectura de Software
– Que es arquitectura de software?
– Cual es el rol de arquitecto?
– Calidades Sistémicas
• Parte 2 – Conceptos de Definición
de Arquitectura
– Rational UnifiedProcess (RUP)
– Suntone Architecture
Methodology (AM)
– Iterative Founding Method
3
Arquitectura de Software
Que es una arquitectura?
“No estamos seguros, pero la reconocemos cuando vemos una”
IEEE-1471-FAQ
4
Arquitectura de Software
• Software Architecture in
• IEEE 1471
Practice - Kazman
El nivel conceptual más alto de
un sistema en su ambiente.
• “Arquitectura es laorganización
fundamental de un sistema
descrita en:
– Sus componentes.
– Relación entre ellos y con el •
ambiente.
– Principios que guían su
diseño y evolución”.
“La estructura de estructuras
de un sistema, la cual abarca
componentes de software,
propiedades externas visibles
de estos componentes y sus
relaciones”.
“El objetivo de esta definición
es que la arquitectura de
softwaredebe abstraer alguna
información del sistema y aún
proveer suficiente información
para ser la base del análisis,
toma de decisiones y lograr la
reducción de riesgos”.
5
Arquitectura de Software
• SUN SL-425: Architecting
and Designing J2EE
Applications
“Arquitectura es la estructura
de los componentes más
“Arquitectura se refiere a la
significativos de un sistema
representaciónabstracta de los
interactuando a través de
componentes de un sistema y
interfaces con otros
su comportamiento”.
componentes conformados por
“La arquitectura no contiene
componentes sucesivamente
detalles de implementación”.
pequeños e interfaces”.
• Rational Unified Process
6
Arquitectura de Software
Que es un Proceso de Arquitectura?
Rational Unified Process:
• Secuencia deactividades que conllevan a la producción de
artefactos arquitectónicos:
– Descripción de arquitectura
– Prototipo arquitectónico
7
Por que es importante definir una
arquitectura?
Premisa
• Las arquitecturas de los sistemas, existen indiferente si han
sido definidas formalmente o no.
• Dos factores primarios en la ingeniería de software que han
incrementado la importancia de laarquitectura:
8
Evolución de Arquitecturas
Aplicaciones Monolíticas
Arquitectura Cliente-Servidor
•
•
Interfaces gráficas de usuario (GUI).
Servicios de presentación, negocios y
persistencia en la misma máquina.
•
•
•
•
Clientes pesados, no estándar
Conexiones dedicadas a BD
Protocolos pesados
Ejecución remota de SQLs
•
•
No hay concurrencia de usuarios.
Altoacoplamiento entre tiers.
•
•
•
•
Alta administración
Bajo rendimiento
Alto tráfico de red
Baja accesibilidad
•
•
•
Presentación
Lógica negocio
Persistencia
•
•
Presentación
Lógica de negocio
•
Persistencia
9
Evolución de Arquitecturas
Arquitectura Cliente-Servidor
Mejorada
•
•
•
•
•
•
•
•
Clientes pesados, no estándar.
Conexiones dedicadas a laBD.
Lógica de negocios en BD
Mejora en rendimiento
Alta administración
Baja escalabilidad
Baja flexibilidad
Baja portabilidad
Aplicaciones 3 niveles
•
•
•
•
Reutilización de lógica de negocio
para diferentes clientes o sistemas.
Mejora la escalabilidad.
Mejora la flexibilidad.
Independencia de la base de datos.
Clientes GUI
semi-livianos
Servidor de
Aplicaciones...
Regístrate para leer el documento completo.