Archyno
ArchiMateFundamentos

¿Qué es ArchiMate?

El lenguaje de modelado para la arquitectura empresarial: un vocabulario pequeño que describe un proceso de negocio, la aplicación que hay detrás y el servidor que hay debajo - y, más útil aún, las líneas entre ellos.

10 min de lecturaArchiMate 41 de 5

La respuesta corta

  • Un vocabulario pequeño para un proceso de negocio, la aplicación detrás y el servidor debajo - y las líneas entre ellos, que son el verdadero asunto.
  • UML profundiza en un sistema; ArchiMate se extiende a lo ancho por muchos y se queda superficial a propósito. No son lenguajes rivales.
  • La especificación se lee gratis en The Open Group. La marca, la certificación de herramientas y la de profesionales, no.
  • El marco y las once relaciones se leen en una tarde. Lo que exige práctica es decidir qué no modelar.
Una vista de ArchiMate que abarca tres capas. A un asegurado lo sirve un servicio de presentación de siniestro, que realiza el proceso de negocio de gestión de siniestros. Al proceso de gestión de siniestros lo sirve un servicio de aplicación de registro de siniestro, realizado por el componente de administración de pólizas, al que a su vez sirve el nodo base de datos de siniestros.
Seis elementos en tres capas. Léelo hacia arriba: la base de datos sirve a la aplicación, la aplicación sirve al proceso, el proceso realiza el servicio que el cliente ve de verdad.

01Qué es#

ArchiMate es un lenguaje de modelado para arquitectura empresarial: un estándar de The Open Group y el único lenguaje de uso extendido construido para este trabajo. Donde UML describe software y BPMN describe un proceso, ArchiMate describe una organización: qué hace, qué la sostiene y sobre qué se ejecuta, en un solo modelo y con un solo vocabulario.

Lo que hace y no hace ninguna otra cosa es cruzar las fronteras. Un diagrama de clases no puede decir que una pieza de software sostiene un proceso de negocio. Un diagrama de proceso no puede decir de qué servidor depende el proceso. ArchiMate puede decir ambas cosas en la misma imagen, con los mismos once tipos de relación de principio a fin, y esa es toda su razón de ser.

02El marco: capas y aspectos#

ArchiMate organiza todo su conjunto de elementos en una cuadrícula. Por un lado están las capas, que dicen cuán cerca del metal está un elemento. Por el otro, los aspectos, que dicen qué clase de cosa es. Cada tipo de elemento del lenguaje ocupa exactamente una celda.

ElementoNotaciónQué significa
Estrategiarecurso, capacidad, curso de acciónQué es capaz de hacer la organización, antes de decidir cómo.
Negocioactor, rol, proceso, servicio, objetoQué hace la organización, en sus propios términos.
Aplicacióncomponente, servicio, interfaz, objeto de datosEl software que lo sostiene.
Tecnologíanodo, dispositivo, software de sistema, artefactoAquello sobre lo que corre el software.
Físicaequipo, instalación, materialCosas con las que puedes tropezar. Fabricación y logística.
Implementaciónpaquete de trabajo, entregable, meseta, brechaEl programa de cambio que te lleva de aquí a allí.
Motivacióninteresado, impulsor, objetivo, requisitoPor qué todo esto es como es. Atraviesa todas las capas anteriores.

Las capas, de arriba abajo. La motivación no es una capa en el mismo sentido: se engancha a elementos en cualquier punto del modelo.

Los aspectos son el segundo eje y son más fáciles: un elemento es activo (hace algo: un actor, un componente, un nodo), comportamiento (algo que se hace: un proceso, una función, un servicio), o pasivo (algo sobre lo que se actúa: un objeto de negocio, un objeto de datos, un artefacto). Los elementos activos se dibujan con esquinas rectas, el comportamiento con esquinas redondeadas, y los pasivos con forma de objeto.

Aprender la cuadrícula es casi todo lo que hay que aprender del lenguaje. En cuanto sabes que un "servicio" es un elemento de comportamiento y existe en todas las capas, ya sabes qué son un servicio de negocio, un servicio de aplicación y un servicio de tecnología, y el artículo de las capas solo añade detalle en vez de enseñar algo nuevo.

03Cómo se dibujan los elementos#

La notación de ArchiMate es lo contrario de la de UML. UML da a cada clase de diagrama sus propias formas: óvalos para casos de uso, rombos para decisiones, cajas isométricas para nodos. ArchiMate le da a casi todo un rectángulo y distingue los elementos de otras tres maneras.

ElementoNotaciónQué significa
Coloramarillo, azul, verde, moradoLa capa. Negocio amarillo, aplicación azul, tecnología verde, motivación morado. Convención más que mandato, pero universal en la práctica.
Esquinasrectas vs redondeadasRecta es un elemento de estructura activa, redondeada es comportamiento. Una caja azul redondeada es una función o un servicio de aplicación; una recta es un componente.
Glifo de esquinaicono pequeño, arriba a la derechaQué tipo de elemento dentro de la celda. La flecha para un proceso, el círculo para un servicio, la figura para un actor.
Anidamientouna caja dentro de otraUna relación dibujada como contención en vez de como línea: normalmente composición o agregación. Legal, compacta y ambigua mientras el modelo no diga cuál.

04Las relaciones son el lenguaje#

Los elementos son la mitad fácil. Los once tipos de relación son donde los modelos salen bien o mal, y cuatro de ellos llevan casi todo el significado:

ElementoNotaciónQué significa
ServicioEl origen proporciona funcionalidad al destino. El caballo de batalla: así una capa sostiene a la de arriba.
RealizaciónEl origen hace concreto un destino más abstracto. Un proceso realiza un servicio; un componente realiza un servicio de aplicación.
AsignaciónUn elemento activo ejecuta un comportamiento. Bola en quien actúa, flecha en lo que se hace.
AccesoEl comportamiento lee o escribe un elemento pasivo: un objeto, un artefacto.

Cuatro de once. Las otras siete, y las reglas de qué pares son legales, son el tema de un artículo propio.

La distinción que se falla primero es servicio frente a realización. La realización dice "esto esaquello, hecho real"; el servicio dice "esto ayudaa aquello". Un componente de pagos realiza el servicio de pagos (la misma capacidad en dos niveles de abstracción) y el servicio de pagos sirve al proceso de compra (dos cosas distintas, una útil a la otra). Invertirlos produce un modelo que parece correcto y responde mal a las preguntas de impacto; ver el artículo de las relaciones.

05¿ArchiMate o UML?#

El mismo tema dibujado en UML: un componente PolicyAdministration que depende de una interfaz IClaimRegistration, con una clase Claim que lleva id, submittedOn y amount.
El mismo asunto en UML. Preciso sobre el software, callado sobre a quién sirve, que es el intercambio que los dos lenguajes hacen en direcciones opuestas.

Compáralo con el diagrama de cabecera. La versión UML sabe que Claim.submittedOn es una fecha; la versión ArchiMate no tiene ni idea. La versión ArchiMate sabe que si la base de datos de siniestros cae, al final un asegurado no puede declarar un siniestro; la versión UML ni siquiera puede formular la pregunta.

Úsalo cuando

  • La pregunta abarca a la vez negocio, aplicaciones e infraestructura
  • Estás haciendo análisis de impacto: qué se rompe si esto se retira
  • Entre los interesados hay gente que no lee diagramas de software
  • Necesitas un modelo, no catorce tipos de diagrama, para mantener la coherencia

Usa otra cosa cuando

  • Estás diseñando el interior de un sistema: usa UML
  • Necesitas atributos, tipos y multiplicidades: usa un diagrama de clases
  • Estás especificando un proceso para ejecutarlo: usa BPMN
  • El modelo es un esquema de base de datos: usa un diagrama ER

Los dos se complementan en vez de competir, y una práctica sana usa ambos: ArchiMate para el paisaje y UML para los sistemas que hay en él. Lo que no funciona es estirar un lenguaje para hacer los dos trabajos, que en la práctica significa un modelo ArchiMate con atributos atornillados o un diagrama de clases con servidores dibujados junto a las clases.

06Qué falla primero#

  1. Modelar toda la empresa. Nadie lo termina y nadie lo lee. Modela la parte de la que depende una decisión, y para.
  2. Usar asociación para todo. Un modelo cuyas líneas son todas asociaciones simples no lleva más información que una foto de una pizarra. Si no puedes elegir una relación concreta, todavía no entiendes la conexión.
  3. Una vista gigante. El modelo es el modelo; una vista es una ventana a él para un público. Cinco vistas enfocadas ganan a un póster. Los puntos de vista son el mecanismo.
  4. Componentes de aplicación con nombre de equipo. Los equipos se reorganizan dos veces al año y los sistemas no. Nombra el sistema.
  5. Saltarse la capa de motivación. Seis meses después nadie recuerda qué requisito justificaba la parte de aspecto raro, y se quita.

En una línea cada uno

  1. 01ArchiMate describe una organización de extremo a extremo: negocio, aplicación, tecnología.
  2. 02Cada elemento ocupa una celda de una cuadrícula de capa por aspecto; aprender la cuadrícula es casi todo el lenguaje.
  3. 03Las esquinas rectas son estructura activa, las redondeadas comportamiento, las formas de objeto pasivo.
  4. 04El color señala la capa por convención, no por especificación.
  5. 05Realización significa "es aquello, hecho concreto"; servicio significa "ayuda a aquello".
  6. 06Usa ArchiMate para el paisaje y UML para los sistemas que hay en él, no uno para ambas cosas.

07Preguntas frecuentes#

¿Para qué se usa ArchiMate?

Para describir la arquitectura empresarial: los procesos de negocio, las aplicaciones que los sostienen y la tecnología de debajo, en un solo modelo con un solo vocabulario. Su verdadero sentido son las líneas entre esas capas, como qué aplicación sirve a qué proceso y qué nodo ejecuta qué aplicación.

¿Qué diferencia hay entre ArchiMate y UML?

UML modela software: clases, componentes e interacciones dentro de un sistema. ArchiMate modela una empresa: las capas de negocio, aplicación y tecnología y cómo dependen entre sí. UML profundiza en un sistema, ArchiMate se extiende a lo ancho por muchos y se queda superficial a propósito.

¿ArchiMate es gratuito?

La especificación la publica The Open Group y puede leerse sin coste. ArchiMate es una marca registrada de The Open Group, y la certificación de herramientas y profesionales es un programa aparte y de pago.

¿Cuál es la versión actual de ArchiMate?

ArchiMate 4 es la versión mayor actual. Las versiones 3.x siguen muy extendidas, y el marco de capas y aspectos y el conjunto de relaciones están en buena medida sin cambios entre ellas, así que un modelo 3.x se lee bien para quien aprendió la 4.

¿Cuánto se tarda en aprender ArchiMate?

El marco y las once relaciones se leen en una tarde. Lo que exige práctica es aplicarlos de forma consistente en un modelo grande, porque la mayor parte de la dificultad está en decidir qué no modelar, no en qué símbolo dibujar.

En esta serie

Lecturas relacionadas

Todos los artículos