Что такое MVP. Мировые примеры успешных MVP. Как делать MVP.
1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure...
-
Upload
maria-cristina-prado-cordero -
Category
Documents
-
view
218 -
download
0
Transcript of 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure...
![Page 1: 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com.](https://reader035.fdocument.pub/reader035/viewer/2022081515/5665b4e71a28abb57c94a7b1/html5/thumbnails/1.jpg)
1
Introducción a la Arquitecturade Sistema
Maximiliano DéboliDirector De DesarrolloMVP [email protected]
![Page 2: 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com.](https://reader035.fdocument.pub/reader035/viewer/2022081515/5665b4e71a28abb57c94a7b1/html5/thumbnails/2.jpg)
2
¿Qué es la arquitectura de software?
• Conjunto de decisiones importantes acerca de la organización de un sistema
• Selección de elementos estructurales y las interfaces que componen al sistema
• Funcionalidad, facilidad de uso, capacidad, rendimiento, la reutilización, la comprensión, limitaciones económicas y la tecnología, intercambios y estética
![Page 3: 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com.](https://reader035.fdocument.pub/reader035/viewer/2022081515/5665b4e71a28abb57c94a7b1/html5/thumbnails/3.jpg)
3
Fowler• El mayor nivel de desglose de un sistema en sus partes.
• Las decisiones que son difíciles de cambiar.
• Existen múltiples arquitecturas en un sistema.
• Que es arquitectónicamente importante que puede cambiar la vida de un sistema.
• La arquitectura se reduce a cualquier cosa que sea importante.
![Page 4: 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com.](https://reader035.fdocument.pub/reader035/viewer/2022081515/5665b4e71a28abb57c94a7b1/html5/thumbnails/4.jpg)
4
Consideraciones relevantes a la arquitectura
• Como va a ser desplegada la aplicación en producción.
• Como los usuarios utilizar la aplicación.
• Cuales son los atributos de calidad, tales como la seguridad, rendimiento, simultaneidad, etc.
• Cuales son las tendencias arquitectónicas que pudieran afectarnos.
![Page 5: 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com.](https://reader035.fdocument.pub/reader035/viewer/2022081515/5665b4e71a28abb57c94a7b1/html5/thumbnails/5.jpg)
5
Objetivos de la arquitectura•Exponer la estructura del sistema, pero ocultar los detalles de implementación
• Hacer posibles todos los casos de uso.
• Trate de abordar las preocupaciones de las diversas partes interesadas
• Manejar al mismo tiempo los requerimientos funcionales y de calidad
![Page 6: 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com.](https://reader035.fdocument.pub/reader035/viewer/2022081515/5665b4e71a28abb57c94a7b1/html5/thumbnails/6.jpg)
6
Esce
nario
s
Atrib
utos
de
calid
ad
Requ
erim
ient
os/R
estr
icci
ones
Tran
sver
sale
s
Mob
ile
Tipos de aplicaciones
RIA
Rich
Clie
nt
Serv
ice
Aplic
ació
n w
eb
N …
Clie
nt S
erve
r
Estilos de arquitectura
Com
pone
nt-B
ased
Laye
red
Arch
itect
ure
Mes
sage
Bus
MVC
Arc
hite
ctur
e
Obj
ect O
rient
ed
N …
Marco de Arquitectura
•Caching•Comunication•Concurrency and transactions•Configuration Management•Coupling and Cohesion•Data Access•Exception Management
•Layering•Logging and instrumentation•State Management•Structure•Validation•Workflow
![Page 7: 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com.](https://reader035.fdocument.pub/reader035/viewer/2022081515/5665b4e71a28abb57c94a7b1/html5/thumbnails/7.jpg)
7
Tipos de Aplicaciones• Aplicaciones para dispositivos móviles
• Rich Client para aplicaciones que se ejecutarán en una PC cliente.
• RIA para aplicaciones desplegadas en internet con apoyo de interfaces ricas de usuario y soporte de media
• Servicios para apoyar comunicaciones entre componentes débilmente acoplados.
• Aplicaciones web para escenarios completamente conectados
![Page 8: 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com.](https://reader035.fdocument.pub/reader035/viewer/2022081515/5665b4e71a28abb57c94a7b1/html5/thumbnails/8.jpg)
8
Estrategia de despliegue
•Restricciones de Red y protocolos.
• En entornos poco flexibles tener en cuenta restricciones.
• Tener en cuenta atributos de calidad como la seguridad, rendimiento y mantenibilidad.
• Políticas y procedimientos.
• Especificar los requisitos y limitaciones en la arquitectura y la infraestructura.
![Page 9: 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com.](https://reader035.fdocument.pub/reader035/viewer/2022081515/5665b4e71a28abb57c94a7b1/html5/thumbnails/9.jpg)
9
Estilos de arquitectura
• Conjunto de principios.
• Normas que especifican los tipos de componentes que puede utilizar para montar un sistema.
• Limitaciones en la forma en que se ensamblan y las hipótesis sobre el significado de cómo ponerlos juntos.
![Page 10: 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com.](https://reader035.fdocument.pub/reader035/viewer/2022081515/5665b4e71a28abb57c94a7b1/html5/thumbnails/10.jpg)
10
Tecnología apropiada
• Tipo de aplicación que queremos desarrollar.
• Preferencia ante diferentes opciones.
• Políticas de la organización.
• Limitaciones de la infraestructura.
• Habilidades de los recursos.
![Page 11: 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com.](https://reader035.fdocument.pub/reader035/viewer/2022081515/5665b4e71a28abb57c94a7b1/html5/thumbnails/11.jpg)
11
Atributos de calidad
• Los atributos de calidad deben estar separados de los requerimientos funcionales.
• Desde una perspectiva técnica, implementar atributos de calidad, es la diferencia entre un sistema bueno ó malo.
• Dos tipos de atributos de calidad. Los que se pueden medir en run-time. Los que solo se pueden medir inspeccionando.
![Page 12: 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com.](https://reader035.fdocument.pub/reader035/viewer/2022081515/5665b4e71a28abb57c94a7b1/html5/thumbnails/12.jpg)
12
Atributos de calidad
• Cual es el atributo de calidad clave para nuestro sistema? Identificarlo en la etapa de diseño.
• ¿Cuáles son los requisitos fundamentales para hacer frente a estos atributos? ¿Son realmente cuantificable?
• ¿Cuáles son los criterios de aceptación para estos atributos?
![Page 13: 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com.](https://reader035.fdocument.pub/reader035/viewer/2022081515/5665b4e71a28abb57c94a7b1/html5/thumbnails/13.jpg)
13
Funciones transversalesAutenticación
Autorización
Cache
Comunicación
Manejo de excepciones
Instrumentación y logueo
![Page 14: 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com.](https://reader035.fdocument.pub/reader035/viewer/2022081515/5665b4e71a28abb57c94a7b1/html5/thumbnails/14.jpg)
14
Diseñando la Arquitectura• Diseño ágil e incremental.
• ¿Cuáles son las partes fundamentales de la arquitectura que representan el mayor riesgo?
• ¿Cuáles son las partes de la arquitectura que tienen más probabilidades de cambiar, o cuyo diseño se puede retrasar hasta más tarde con poco impacto?
• ¿Cuáles son sus supuestos básicos, y cómo va a probarlos?
![Page 15: 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com.](https://reader035.fdocument.pub/reader035/viewer/2022081515/5665b4e71a28abb57c94a7b1/html5/thumbnails/15.jpg)
15
Principios claves de la Arquitectura
• Diseñar la arquitectura para adaptarse a los cambios.
• Modelado para el análisis y la reducción de riesgos.
• Modelos y puntos de vista son una buena herramienta de comunicación y colaboración.
• Identificar las principales decisiones de ingeniería. Invertir en conseguir estas decisiones clave desde el primer momento para que el diseño es más flexible y adaptable al cambio.
![Page 16: 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com.](https://reader035.fdocument.pub/reader035/viewer/2022081515/5665b4e71a28abb57c94a7b1/html5/thumbnails/16.jpg)
16
Enfoque incremental e iterativoConsidere la posibilidad de utilizar un enfoque incremental iterativo y refinado de la arquitectura.
• No tratar de hacerlo bien y completo de una vez.
• Iterativamente agregar detalles al diseño a través de múltiples pasos.
• Probar constantemente el diseño: ¿Qué necesidades explícitas o implícitas reúne esta arquitectura? ¿Cuáles son los principales riesgos con este enfoque arquitectónico? ¿De qué manera esta arquitectura es una mejora con respecto a la línea de base o el último candidato de arquitectura?
![Page 17: 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com.](https://reader035.fdocument.pub/reader035/viewer/2022081515/5665b4e71a28abb57c94a7b1/html5/thumbnails/17.jpg)
17
Arquitecturas de referencia y candidatos
La base de la arquitectura describe el sistema actual que es la forma actual de su sistema. Si se trata de uno nuevo, su base inicial es la primera de alto nivel.
• Tipo de Aplicación.
• Despliegue de la arquitectura.
• La arquitectura en si misma
• Opciones de tecnologías.
• Atributos de calidad
![Page 18: 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com.](https://reader035.fdocument.pub/reader035/viewer/2022081515/5665b4e71a28abb57c94a7b1/html5/thumbnails/18.jpg)
18
Architectural SpikesUna Spike de arquitectura es una prueba de extremo a extremo de un pequeño segmento de la aplicación.
Reducir riesgos y testear diferentes caminos y alternativas.
A medida que evoluciona su arquitectura, puede utilizar spikes para explorar diferentes escenarios sin afectar el actual diseño.
Un spike de arquitectura se traducirá a un candidato de arquitectura que puede ser cotejado con la línea base.
![Page 19: 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com.](https://reader035.fdocument.pub/reader035/viewer/2022081515/5665b4e71a28abb57c94a7b1/html5/thumbnails/19.jpg)
19
Architectural Spikes
• ¿Esta arquitectura introduce nuevos riesgos?
• ¿Esta arquitectura ayuda a mitigar riesgos adicionales ya conocidos?
• ¿Esta arquitectura posee requisitos adicionales?
• ¿Esta arquitectura permitirá casos de uso importantes?
• ¿Esta arquitectura esta enfocada a nuestros atributos de calidad?
![Page 20: 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com.](https://reader035.fdocument.pub/reader035/viewer/2022081515/5665b4e71a28abb57c94a7b1/html5/thumbnails/20.jpg)
20
Casos de uso arquitectonicamente importantes
• Son importantes para el éxito y la aceptación de la aplicación desplegada.
• Son suficientes para testear la utilidad de la arquitectura.
Después de haber determinado los casos de uso importantes se pueden utilizar para evaluar el éxito o el fracaso de arquitecturas candidatas .
![Page 21: 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com.](https://reader035.fdocument.pub/reader035/viewer/2022081515/5665b4e71a28abb57c94a7b1/html5/thumbnails/21.jpg)
21
Análisis y evaluación de arquitecturas
• Pruebe su diseño contra casos de uso que son importantes para el éxito de su aplicación, y que hagan uso de una parte importante del diseño.
• Usar escenarios para analizar su diseño con un enfoque en la calidad atributos.