Metrópolis y Gobierno de SOA - Willy .Net
Metrópolis y Gobierno de SOA - Willy .Net
Metrópolis y Gobierno de SOA - Willy .Net
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Relación <strong>de</strong> la estrategia <strong>de</strong><br />
producto con la arquitectura<br />
Importancia. ¿Cuán alta es la prioridad <strong>de</strong> las expectativas <strong>de</strong><br />
valor que se ven afectadas por el <strong>de</strong>safío? Si estas expectativas<br />
<strong>de</strong> valor son específicas <strong>de</strong> algunos contextos, ¿cuál es la prioridad<br />
relativa <strong>de</strong> estos contextos?<br />
Magnitud. ¿Cuán gran<strong>de</strong> es el impacto en las expectativas <strong>de</strong><br />
valor causado por factores restrictivos?<br />
Consecuencia. ¿Cuántas opciones realistas parece haber?<br />
¿Estas opciones tienen diferencias importantes en dificultad o<br />
efectividad?<br />
Aislamiento. ¿Cuán aislado está el impacto <strong>de</strong> las opciones más<br />
realistas? Cuanto más divulgado esté el impacto, más peso tendrá<br />
el factor.<br />
Una vez priorizados los <strong>de</strong>safíos <strong>de</strong> arquitectura, se formulan<br />
los enfoques para los <strong>de</strong> mayor prioridad. Mientras que las técnicas<br />
como estilos y patrones <strong>de</strong> arquitectura [3] [8] pue<strong>de</strong>n ayudar,<br />
esta es un área don<strong>de</strong> la vasta experiencia en temas <strong>de</strong> problema-solución<br />
es invaluable. Los enfoques eficaces a <strong>de</strong>safíos<br />
importantes son resultado <strong>de</strong> un trabajo habilidoso, profundo, <strong>de</strong><br />
esfuerzo y meticuloso. Esto es verdad, in<strong>de</strong>pendientemente <strong>de</strong> si<br />
el problema tiene que ver con cirugía, gerencia ejecutiva o arquitectura<br />
<strong>de</strong> software.<br />
Al tratar cada <strong>de</strong>safío, su enfoque <strong>de</strong>limitará las soluciones<br />
para otros <strong>de</strong>safíos, y a veces creará nuevos. Si las priorida<strong>de</strong>s<br />
<strong>de</strong> <strong>de</strong>safío <strong>de</strong> arquitectura son correctas, la mayoría <strong>de</strong> las limitaciones<br />
posteriores serán a<strong>de</strong>cuadas. Sin embargo, en algunos<br />
casos el enfoque a un <strong>de</strong>safío <strong>de</strong> alta prioridad impactará negativamente<br />
en varios <strong>de</strong>safíos <strong>de</strong> prioridad levemente menor. La<br />
prioridad combinada <strong>de</strong> <strong>de</strong>safíos impactados compensará al <strong>de</strong>safío<br />
<strong>de</strong> mayor prioridad. En este caso, es aconsejable respaldar y<br />
formular un enfoque diferente al <strong>de</strong>safío original.<br />
Levar anclas<br />
Finalmente, una vez formulados los enfoques al conjunto <strong>de</strong><br />
<strong>de</strong>safíos <strong>de</strong> alta prioridad, se podrá expresar la estrategia <strong>de</strong><br />
arquitectura. El arquitecto analiza el conjunto <strong>de</strong> enfoques y consi<strong>de</strong>ra<br />
el conjunto <strong>de</strong> principios <strong>de</strong> guía en las siguientes áreas:<br />
Organización. ¿Cómo se organiza el sistema en subsistemas y<br />
componentes? ¿Cuál es la composición y responsabilida<strong>de</strong>s <strong>de</strong><br />
cada uno? ¿Cómo se pue<strong>de</strong> configurar el sistema en una red?<br />
¿Qué tipos <strong>de</strong> usuarios y sistemas externos existen? ¿Dón<strong>de</strong> se<br />
ubican y cómo se conectan?<br />
Operación. ¿Cómo interactúan los componentes? ¿En qué casos<br />
es sincrónica la comunicación? ¿En qué casos es asincrónica?<br />
¿Cómo se coordinan las acciones <strong>de</strong> los componentes? ¿Cuándo<br />
es aceptable configurar un componente o realizarle un diagnóstico?<br />
¿Cómo se <strong>de</strong>tectan errores, cómo se diagnostican y corrigen?<br />
Variabilidad. ¿Cuáles funciones importantes <strong>de</strong>l sistema se permiten<br />
para variar <strong>de</strong> un entorno <strong>de</strong> configuración a otro? ¿Qué<br />
opciones se soportan para cada función, y cuándo se pue<strong>de</strong><br />
optar (por ejemplo, compilar, enlace, instalación, puesta en marcha,<br />
o tiempo <strong>de</strong> funcionamiento)? ¿Qué <strong>de</strong>pen<strong>de</strong>ncias existen<br />
entre puntos <strong>de</strong> variación?<br />
Evolución. ¿Cómo está diseñado el sistema para soportar el<br />
cambio mientras mantiene su estabilidad? ¿Qué tipos específicos<br />
<strong>de</strong> cambio importante se han anticipado, y cuales son las maneras<br />
preferibles <strong>de</strong> tratarlos?<br />
En resumen, la estrategia <strong>de</strong> arquitectura es el timón y la quilla<br />
<strong>de</strong>l barco, brindando dirección y estabilidad. Se espera que sea<br />
una <strong>de</strong>claración breve y <strong>de</strong> alto nivel <strong>de</strong> la dirección que todos<br />
los interesados <strong>de</strong>berán enten<strong>de</strong>r, y <strong>de</strong>berá ser relativamente<br />
estable durante la vida útil <strong>de</strong>l sistema.<br />
La Figura 3 muestra cómo los Mo<strong>de</strong>los <strong>de</strong> Valor y Estrategia <strong>de</strong><br />
38<br />
Arquitectura se relacionan con los métodos <strong>de</strong> cascada y espiral.<br />
Los Mo<strong>de</strong>los <strong>de</strong> Valor y Estrategia <strong>de</strong> Arquitectura operan al primer<br />
punto y a un mayor nivel que estos métodos. Cuando se<br />
estudian los mo<strong>de</strong>los <strong>de</strong> valor y se formula la estrategia <strong>de</strong> arquitectura,<br />
brindan una gran base para especificar requerimientos y<br />
<strong>de</strong>finir una arquitectura más <strong>de</strong>tallada. El mo<strong>de</strong>lo <strong>de</strong> valor conduce<br />
los requerimientos, e influye en la <strong>de</strong>finición <strong>de</strong> la arquitectura<br />
al brindar información para realizar intercambios. La estrategia<br />
<strong>de</strong> arquitectura brinda una más <strong>de</strong>tallada <strong>de</strong>finición <strong>de</strong> la arquitectura,<br />
y un conjunto <strong>de</strong> requerimientos <strong>de</strong>rivados necesarios<br />
para superar los obstáculos conocidos.<br />
Una analogía a<strong>de</strong>cuada es ver a la estrategia <strong>de</strong> arquitectura<br />
como planificación estratégica, y los mo<strong>de</strong>los <strong>de</strong> valor como análisis<br />
<strong>de</strong> mercado. En esta perspectiva, los requerimientos son<br />
objetivos y políticas corporativas. La <strong>de</strong>finición <strong>de</strong> arquitectura es<br />
la organización comercial y el plan operativo, y los casos <strong>de</strong> uso<br />
son equivalentes a procesos comerciales.<br />
Pocas empresas establecen objetivos corporativos, estructura<br />
organizativa, planes operativos, y procesos comerciales sin primero<br />
tener una i<strong>de</strong>a clara <strong>de</strong> su misión, mercados, competidores,<br />
recursos y estrategia. Incluso menos empresas efectivas hacen<br />
esto.<br />
La Figura 4 muestra cómo los Mo<strong>de</strong>los <strong>de</strong> Valor y Estrategia<br />
<strong>de</strong> Arquitectura se relacionan con métodos ágiles.<br />
PROGRAMACIÓN EXTREMA y SCRUM hacen concesiones<br />
para una <strong>de</strong>finición <strong>de</strong> arquitectura. SCRUM lo hace en forma<br />
expresa, esperando que se <strong>de</strong>fina la arquitectura en la primera<br />
repetición <strong>de</strong> 4-5 semanas.<br />
PROGRAMACIÓN EXTREMA lo hace en forma implícita. Uno<br />
<strong>de</strong> los 12 principios clave <strong>de</strong> PROGRAMACIÓN EXTREMA se<br />
llama System Metaphor (Metáfora <strong>de</strong> Sistema).<br />
Este principio no se usa tan frecuentemente ni se entien<strong>de</strong><br />
tan bien como sus parientes famosos: Small Releases, Pair<br />
Programming, Test Driven Development. En los comienzos <strong>de</strong><br />
PROGRAMACIÓN EXTREMA, el equipo que trabajaba en el<br />
Chrysler Payroll System gran<strong>de</strong> y complejo necesitaba una<br />
buena forma <strong>de</strong> <strong>de</strong>scribir la gestión <strong>de</strong> flujo <strong>de</strong> trabajo a las<br />
personas a cargo <strong>de</strong>l <strong>de</strong>sarrollo Chrysler.<br />
Figura 6. Integración <strong>de</strong> Arquitectura sobre Creación <strong>de</strong> Valor<br />
con Métodos Ágiles.<br />
• Journal 5 • www.microsoft.com /architecture