Sơ đồ ArchiMate là gì?
Một Sơ đồ ArchiMatelà một hình ảnh mô hình hóa kiến trúc doanh nghiệp cấp cao theo dõi các chiến lược, quy trình kinh doanh, các ứng dụng phần mềm và cơ sở hạ tầng dữ liệu vật lý trong toàn bộ tổ chức. Khác với các bản đồ UML truyền thống tập trung sâu vào các quy trình thực thi phần mềm, ArchiMate giúp các nhà phân tích kinh doanh, kiến trúc sư giải pháp và các CTO biểu diễn cách các mục tiêu cấp cao của doanh nghiệp phụ thuộc vào các hệ thống CNTT nền tảng.
Trong khi PlantUML cơ bản chứa các nguyên tố bản địa, các bố cục doanh nghiệp cấp độ sản xuất yêu cầu mở rộng thư viện tiêu chuẩn chính thức Archimate-PlantUML mở rộng thư viện tiêu chuẩn. Bằng cách sử dụng các macro khai báo và các dải màu chuẩn hóa, nó cho phép bạn duy trì các mô hình nhất quán, tuân thủ TOGAF. Với VPasCode, bạn có thể định nghĩa các khối kiến trúc và các mối quan hệ luồng hoàn toàn bằng văn bản, để động cơ xử lý các bảng màu hộp và căn chỉnh một cách động.
Hướng dẫn cú pháp cốt lõi: Các thành phần và cấu trúc
Để sử dụng an toàn mở rộng ArchiMate chính thức trong PlantUML, bạn phải bao gồm tệp thư viện tiêu chuẩn, triển khai đúng các macro danh mục, xử lý các khối lồng nhau và áp dụng các mối quan hệ cấu trúc rõ ràng.
1. Khởi tạo thư viện tiêu chuẩn ArchiMate
Để mở khóa các macro chính thức, bảng màu và các kiểu dáng cấu trúc, khối mã của bạn phải nhập tệp thư viện tiêu chuẩn ngay dưới thẻ khởi động. Bạn có thể tùy chọn áp dụng một trong các chủ đề chính thức để đảm bảo độ tương phản cao:
@startuml
!include <archimate/Archimate>
!theme archimate-standard from <archimate/themes>
2. Khai báo các thành phần bằng các macro danh mục
Thư viện tiêu chuẩn đơn giản hóa việc tạo thành phần bằng cách bao bọc các hình dạng bản địa bên trong các macro có tiền tố danh mục. Các thành phần tuân theo quy tắc đặt tên nghiêm ngặt DanhMuc_TenThanhPhan(ID, "Nhãn") quy tắc đặt tên. Tiền tố xác định lớp cấu trúc và tự động chèn mã màu phù hợp:
- Chiến lược & Động lực (Tím):
ĐộngLực_NgườiCóLợiÍch(),ChiếnLược_NăngLực() - Lớp Kinh doanh (Vàng):
KinhDoanh_ĐốiTượng(),KinhDoanh_QuyTrình(),KinhDoanh_DịchVụ() - Lớp Ứng dụng (Xanh dương):
Application_Component(),Application_Service() - Lớp Công nghệ (Xanh):
Technology_Node(),Technology_SystemSoftware()
!include <archimate/Archimate>
Motivation_Stakeholder(CEO, "Giám đốc điều hành")
Application_Component(CRM, "Hệ thống CRM Salesforce") 
3. Xác định ranh giới nhóm và cấu trúc lồng ghép
Các bản đồ doanh nghiệp phụ thuộc rất nhiều vào việc chứa hình ảnh để biểu diễn quyền sở hữu hoặc cách ly thời gian chạy. Bạn có thể tạo các thư mục giới hạn bằng cách sử dụng Group() hoặc Grouping() các macro, hoặc lồng các phần tử bên trong nhau bằng dấu ngoặc nhọn:
!include <archimate/Archimate>
Grouping(AppSubsystem, "Bộ công cụ quản lý khách hàng") {
Application_Component(AuthMod, "Module Token OAuth")
Application_Service(UserReg, "API đăng ký người dùng")
} 
4. Bản đồ các mối quan hệ doanh nghiệp chuẩn hóa
ArchiMate yêu cầu sử dụng từ vựng nghiêm ngặt cho các kết nối. Thay vì các mũi tên thô, thư viện chuẩn cung cấp các macro quan hệ chuyên dụng được định dạng như Rel_RelationType(From_ID, To_ID, "Nhãn"). Để buộc điều chỉnh định hướng thủ công, bạn có thể thêm các gợi ý định hướng không gian (ví dụ như _Up, _Down, _Left, hoặc _Phải):
!include <archimate/Archimate>
Motivation_Stakeholder(CEO, "Giám đốc điều hành")
Application_Component(CRM, "Hệ thống CRM Salesforce")
Grouping(AppSubsystem, "Bộ công cụ quản lý khách hàng") {
Application_Component(AuthMod, "Module xác thực OAuth")
Application_Service(UserReg, "API đăng ký người dùng")
}
' Ví dụ về mối quan hệ cấu trúc và hành vi
Rel_Realization(UserReg, AuthMod, "Thực hiện bảo mật")
Rel_Serving_Right(CRM, CEO, "Cung cấp bảng điều khiển") 
Các thực hành tốt nhất cho sơ đồ kiến trúc theo lớp
- Tách biệt các lớp riêng biệt:Sắp xếp các đoạn mã theo thứ tự từ trên xuống dưới (Động lực > Kinh doanh > Ứng dụng > Công nghệ) để tạo bố cục kiến trúc dễ hiểu cho các bên liên quan.
- Sử dụng mã thành phần ngắn gọn:Giữ các chuỗi theo dõi macro nội bộ ngắn gọn (ví dụ: dùng
AP_01hoặcSrv_Auth), trong khi dành các văn bản mô tả, thân thiện với khách hàng cho tham số nhãn được đặt trong dấu ngoặc kép. - Thiết lập hướng rõ ràng cho các dây chuyền xuyên lớp:Các đường bố cục có thể thay đổi bất ngờ khi vượt qua các ranh giới cấu trúc. Sử dụng các macro định hướng như
Rel_Access_Down()đảm bảo luồng dữ liệu di chuyển trơn tru theo hướng xuống xuyên qua các điểm chia lớp.
Các ví dụ thực tế về PlantUML ArchiMate
Ví dụ 1: Bản đồ năng lực chiến lược cổ điển (Mức độ Động lực & Chiến lược)
Bản thiết kế chức năng này ghi lại lớp chiến lược của tổ chức, minh họa cách các bên liên quan doanh nghiệp phối hợp với năng lực kinh doanh và các kết quả kỹ thuật đã đạt được.
@startuml
!include <archimate/Archimate>
!theme archimate-standard from <archimate/themes>
title Bản đồ định hướng chiến lược doanh nghiệp
Motivation_Stakeholder(CFO, "Giám đốc tài chính")
Motivation_Driver(CostEfficiency, "Giảm chi phí vận hành")
Strategy_Capability(AutomatedBilling, "Tự động hóa hóa đơn doanh nghiệp")
Business_Process(InvoiceRun, "Đối chiếu sổ kế toán cuối tháng")
' Kết nối các mối quan hệ chiến lược
Rel_Association(CFO, CostEfficiency, "Muốn cải thiện")
Rel_Influence(AutomatedBilling, CostEfficiency, "Tác động tích cực")
Rel_Realization(InvoiceRun, AutomatedBilling, "Thỏa mãn năng lực")
@enduml 
Phân tích cú pháp:Bằng cách thực thi các macro chiến lược màu tím, bộ xử lý sẽ hiển thị các thành phần một cách rõ ràng. Các macro quan hệ rõ ràng kết nối người liên quan với động lực tổ chức, giúp chiến lược doanh nghiệp được liên kết rõ ràng với các hành vi thực thi nền tảng.
Ví dụ 2: Hệ thống doanh nghiệp ba lớp toàn diện (Mạng lưới xuyên lớp)
Bản thiết kế nâng cao này minh họa một kiến trúc tổng thể, có cấu trúc chéo tầng. Nó ánh xạ một quy trình kinh doanh vận hành xuống qua các dịch vụ vi mô ứng dụng hỗ trợ đến máy chủ hạ tầng đám mây nền tảng.
@startuml
!include <archimate/Archimate>
!theme archimate-standard from <archimate/themes>
title Sự đồng bộ kiến trúc ứng dụng đa tầng
Grouping(BizLayer, "Hoạt động kinh doanh") {
Business_Actor(Agent, "Nhân viên hỗ trợ dịch vụ khách hàng")
Business_Process(Ticketing, "Xử lý vé hỗ trợ doanh nghiệp")
}
Grouping(AppLayer, "Hệ sinh thái ứng dụng") {
Application_Service(TicketSvc, "API tích hợp Zendesk")
Application_Component(DataRouter, "Động cơ xử lý sự kiện")
}
Grouping(TechLayer, "Tầng hạ tầng") {
Technology_SystemSoftware(K8sCluster, "Cụm điều phối Kubernetes")
Technology_Node(CloudVM, "Mục tiêu tính toán AWS EC2 m6i.xlarge")
}
' Thiết lập các bản đồ chéo tầng một cách trơn tru bằng cách sử dụng gợi ý định hướng
Rel_Assignment(Agent, Ticketing, "Thực hiện hàng ngày")
Rel_Serving_Down(TicketSvc, Ticketing, "Cung cấp giao diện web cho bàn làm việc")
Rel_Composition(DataRouter, TicketSvc, "Nhận webhook từ")
Rel_Realization_Down(K8sCluster, DataRouter, "Chứa container ứng dụng")
Rel_Composition_Down(CloudVM, K8sCluster, "Cung cấp hạ tầng bare-metal cho hypervisor cốt lõi")
@enduml 
Phân tích cú pháp: Bản đồ này nhấn mạnh sức mạnh của cấu trúc Grouping các thành phần. Các thành phần tự động nhận được các tông màu riêng biệt theo tầng (vàng, xanh dương, xanh lá) dựa trên họ macro của chúng. Các ghi đè mối quan hệ định hướng như Rel_Serving_Down và Rel_Realization_Down buộc các phụ thuộc phải lan truyền một cách tinh tế xuống mạng lưới doanh nghiệp.