15. Decisiones de entorno de desarrollo
Decisiones de entorno de ejecución
Guía para el equipo
Estructura del código
CTO / Desarrollador senior
el arquitecto
34. Arquitectura
empresarial
“La organización fundamental
de un sistema, compuesta por
sus componentes, las relaciones
entre ellos y su entorno, así
como los principios que
gobiernan su diseño y
evolución.”
Existe, esté definida o no
Business
Data
Application
Technology
37. Arquitectura
de ejecución
Componentes software reutilizables
alineados con requerimientos
Arquitectura
de desarrollo
Herramientas, estándares y
metodologías para el desarrollo de
software
Arquitectura
de operación
Mecanismos para garantizar el nivel de
servicio y operación del software
Arquitectura
técnica
Infraestructura (HW y SW base) para
soportar el desarrollo y operación del
sistema.
Negocio
38. Arquitectura
de ejecución
Componentes software reutilizables
alineados con requerimientos
Arquitectura
de desarrollo
Herramientas, estándares y
metodologías para el desarrollo de
software
Arquitectura
de operación
Mecanismos para garantizar el nivel de
servicio y operación del software
Arquitectura
técnica
Infraestructura (HW y SW base) para
soportar el desarrollo y operación del
sistema.
Negocio
c
Logging
Monitorización
Caché
Procesos batch
Alertas
Internacionalización
Llamadas a servicios
Configuración
Transaccionalidad
Autenticación …
39. Arquitectura
de ejecución
Componentes software reutilizables
alineados con requerimientos
Arquitectura
de desarrollo
Herramientas, estándares y
metodologías para el desarrollo de
software
Arquitectura
de operación
Mecanismos para garantizar el nivel de
servicio y operación del software
Arquitectura
técnica
Infraestructura (HW y SW base) para
soportar el desarrollo y operación del
sistema.
Negocio
IDE
Pruebas unitarias
Estrategia de pruebas
Templates
Gestión de configuración
Modelado de datos
Generadores de código
Documentación
Integración continua
Encodings …
40. Arquitectura
de ejecución
Componentes software reutilizables
alineados con requerimientos
Arquitectura
de desarrollo
Herramientas, estándares y
metodologías para el desarrollo de
software
Arquitectura
de operación
Mecanismos para garantizar el nivel de
servicio y operación del software
Arquitectura
técnica
Infraestructura (HW y SW base) para
soportar el desarrollo y operación del
sistema.
Negocio
Entornos
Promoción
Autorizaciones
Automatismos
Versionado
Alta disponibilidad
Registro de servicios
Alta disponibilidad
Contingencia
Intervenciones
41. Arquitectura
de ejecución
Componentes software reutilizables
alineados con requerimientos
Arquitectura
de desarrollo
Herramientas, estándares y
metodologías para el desarrollo de
software
Arquitectura
de operación
Mecanismos para garantizar el nivel de
servicio y operación del software
Arquitectura
técnica
Infraestructura (HW y SW base) para
soportar el desarrollo y operación del
sistema.
Negocio
Hardware
Software de base
Virtualización
Containers
Cloud pública / privada
Topología de red
Licencias
Instalación
Mantenimiento
42. Arquitectura
de ejecución
Componentes software reutilizables
alineados con requerimientos
Arquitectura
de desarrollo
Herramientas, estándares y
metodologías para el desarrollo de
software
Arquitectura
de operación
Mecanismos para garantizar el nivel de
servicio y operación del software
Arquitectura
técnica
Infraestructura (HW y SW base) para
soportar el desarrollo y operación del
sistema.
Negocio
53. Workspace workspace = new Workspace("Spring PetClinic", "");
// create a software architecture model
Model model = workspace.getModel();
SoftwareSystem springPetClinic =
model.addSoftwareSystem("Spring PetClinic",
"Allows employees to view and manage information “ +
"regarding the veterinarians, the clients, and their pets.");
Person clinicEmployee = model.addPerson("Clinic Employee",
"An employee of the clinic");
clinicEmployee.uses(springPetClinic, "Uses");
// create some views to visualise the model
ViewSet viewSet = workspace.getViews();
SystemContextView contextView =
viewSet.createContextView(springPetClinic);
contextView.addAllSoftwareSystems();
contextView.addAllPeople();
// upload the model and views to structurizr.com
StructurizrClient structurizrClient = new
StructurizrClient("https://api.structurizr.com",
"key", "secret");
structurizrClient.putWorkspace(1, workspace);
Descripción de la
arquitectura en
código
structurizr
54. The Craftsman I Would Like to Be
Alex Bolboaca
El título no es lo importante
Aprende tu técnica
Piensa a diferentes niveles
Sé pragmático
Rodéate de artesanos
Aprende toda tu vida
http://www.alexbolboaca.ro/