什么是 ArchiMate 图表?
一个ArchiMate 图表是一种高层次的企业架构建模可视化工具,用于跟踪组织内战略、业务流程、软件应用和物理数据基础设施。与深入分析软件执行流程的传统UML图不同,ArchiMate 帮助业务分析师、解决方案架构师和CTO们描绘高层次企业目标如何依赖于底层IT系统。
虽然基础版 PlantUML 包含原生图形,但生产级别的企业布局需要官方的Archimate-PlantUML标准库扩展。通过使用声明式宏和标准化颜色带,它可帮助您保持一致且符合 TOGAF 标准的模型。借助VPasCode,您可以在文本中完全定义您的架构模块和关系线,让引擎动态处理框体颜色方案和对齐方式。
核心语法指南:元素与构造
要在 PlantUML 中安全使用官方 ArchiMate 扩展,您必须包含标准库文件,正确实现类别宏,处理嵌套块,并应用明确的结构关系。
1. 初始化 ArchiMate 标准库
为了启用官方宏、颜色调色板和结构化构造型,您的脚本块必须在启动标签下方直接导入标准库文件。您可选择性地应用官方主题之一,以确保高对比度的可见性:
@startuml
!include <archimate/Archimate>
!theme archimate-standard from <archimate/themes>
2. 使用类别宏声明元素
标准库通过在类别前缀宏中包裹原生形状来简化元素创建。元素遵循严格的类别_元素名称(ID, "标签")命名规范。前缀决定结构层级,并自动注入正确的颜色标记:
- 战略与动机(紫色):
动机_利益相关者(),战略_能力() - 业务层(黄色):
业务_参与者(),业务_流程(),业务_服务() - 应用层(蓝色):
应用组件(),应用服务() - 技术层(绿色):
技术节点(),技术系统软件()
!include <archimate/Archimate>
动机利益相关者(CEO, "首席执行官")
应用组件(CRM, "Salesforce CRM系统") 
3. 定义组边界和结构嵌套
企业地图很大程度上依赖视觉包含来表示所有权或运行时隔离。您可以使用以下宏创建边界文件夹:Group() 或 Grouping()宏,或使用花括号将元素嵌套在彼此内部:
!include <archimate/Archimate>
Grouping(应用子系统, "客户管理套件") {
应用组件(AuthMod, "OAuth令牌模块")
应用服务(UserReg, "用户注册API")
} 
4. 映射标准化的企业关系
ArchiMate对连接使用严格的词汇表。不是使用原始箭头,标准库提供了专用的关系宏,格式为Rel_关系类型(来源_ID, 目标_ID, "标签")。要强制手动调整方向,可以附加空间方向提示(例如_Up, _Down, _Left,或_Right):
!include <archimate/Archimate>
动机-利益相关者(CEO, "首席执行官")
应用-组件(CRM, "Salesforce CRM 系统")
分组(AppSubsystem, "客户管理套件") {
应用-组件(AuthMod, "OAuth Token 模块")
应用-服务(UserReg, "用户注册 API")
}
' 结构与行为关系示例
关系-实现(UserReg, AuthMod, "实现安全功能")
关系-服务-权利(CRM, CEO, "提供仪表板") 
分层架构图的最佳实践
- 隔离不同的层级: 从上到下按顺序组织你的脚本(动机 > 业务 > 应用 > 技术),以便让利益相关者直观理解你的架构布局。
- 使用简短的组件 ID: 保持内部宏追踪字符串简短(例如使用
AP_01或Srv_Auth),同时将描述性、面向客户的文本保留给双引号标签参数。 - 在跨层连线中强制使用明确的方向: 当跨越结构边界时,布局路径可能会不可预测地变化。使用方向性宏(如
Rel_Access_Down())可确保数据流在层级分割处平稳地向下流动。
现实世界的 PlantUML ArchiMate 示例
示例 1:经典战略能力映射(动机与战略层级)
此功能蓝图记录了组织的战略层级,展示了企业利益相关者如何与业务能力及实现的技术成果保持一致。
@startuml
!include <archimate/Archimate>
!theme archimate-standard from <archimate/themes>
title 战略企业对齐图
动机-利益相关者(CFO, "首席财务官")
动机-驱动因素(CostEfficiency, "运营成本降低")
战略-能力(AutomatedBilling, "企业发票自动化")
业务-流程(InvoiceRun, "月末账目对账")
' 建立战略依赖关系
关系-关联(CFO, CostEfficiency, "旨在改进")
关系-影响(AutomatedBilling, CostEfficiency, "积极影响")
关系-实现(InvoiceRun, AutomatedBilling, "实现能力")
@enduml 
语法解析: 通过执行紫色的战略宏,引擎能够清晰地映射出各个元素。清晰的关系宏将人类利益相关者与组织动机连接起来,使企业战略与底层执行行为保持一致。
示例 2:端到端三层企业系统(跨层网格)
此高级蓝图展示了全面的跨层架构拓扑。它将一个运营中的业务流程从上至下映射到支持的应用程序微服务,直至底层的云基础设施主机。
@startuml
!include <archimate/Archimate>
!theme archimate-standard from <archimate/themes>
title 多层应用架构对齐
Grouping(BizLayer, "业务运营") {
Business_Actor(Agent, "客户服务支持人员")
Business_Process(Ticketing, "处理企业支持工单")
}
Grouping(AppLayer, "应用生态系统") {
Application_Service(TicketSvc, "Zendesk 集成 API")
Application_Component(DataRouter, "事件处理引擎")
}
Grouping(TechLayer, "基础设施层") {
Technology_SystemSoftware(K8sCluster, "Kubernetes 编排集群")
Technology_Node(CloudVM, "AWS EC2 m6i.xlarge 计算目标")
}
' 使用方向性提示平滑建立跨层映射
Rel_Assignment(Agent, Ticketing, "每日执行")
Rel_Serving_Down(TicketSvc, Ticketing, "支持网页工单界面")
Rel_Composition(DataRouter, TicketSvc, "接收来自")
Rel_Realization_Down(K8sCluster, DataRouter, "托管应用容器")
Rel_Composition_Down(CloudVM, K8sCluster, "提供核心虚拟化裸金属资源")
@enduml 
语法分解: 此图突出了结构化分组 组件的威力。元素会根据其宏观家族自动获得不同的、分层特定的颜色色调(黄色、蓝色、绿色)。方向性关系覆盖,如Rel_Serving_Down 和 Rel_Realization_Down 会促使依赖关系优雅地沿企业网格向下传递。