Tổng quan về Ngôn ngữ mô hình hóa Kiến trúc Chính phủ điện tử ArchiMate

1. Mở đầu

Ngôn ngữ mô hình hóa ArchiMate (ArchiMate Language hay ArchiMate Specification) là một tiêu chuẩn mở, độc lập và được công bố bởi Nhóm Mở (The Open Group), cung cấp ngôn ngữ đồ họa cho phép các kiến trúc sư mô tả, phân tích và biểu diễn trực quan mối quan hệ giữa các miền kiến trúc một cách rõ ràng, và hoàn toàn phù hợp với Khung Kiến trúc của Nhóm Mở (The Open Group Architecture Framework-TOGAF).

Xem thêmMô hình hóa Kiến trúc nghiệp vụ với ArchiMate

Bài viết này, tác giả muốn giới thiệu một số nội dung tổng quan về Ngôn ngữ mô hình hóa ArchiMate - một công cụ hỗ trợ xây dựng Kiến trúc Chính phủ điện tử phổ biến trên thế giới hiện nay.

2. Lịch sử phát triển

ArchiMate Language, một phần được dựa trên tiêu chuẩn IEEE 1471 (một tiêu chuẩn của IEEE dùng để mô tả kiến trúc phần mềm, nó đã được thay thế bởi tiêu chuẩn ISO/IEC/IEEE 42010:2011), được tạo ra vào giai đoạn 2002-2004 tại Hà Lan bởi một nhóm dự án của Viện Nghiên cứu Công nghệ thông tin TellALa Instituut hợp tác với một số đối tác đến từ chính phủ, các tổ chức công nghiệp và các học viện như Trường đại học Ordina, Radboud Universiteit Nijmegen, Viện Nghiên cứu Toán học và Khoa học máy tính Centrum Wisskunde & Infomatica và Viện Khoa học máy tính tiên tiến Leiden và Centrum Wiskunde & Information. Năm 2008, ArchiMate được chuyển nhượng cho Nhóm Mở. Từ năm 2009, Diễn đàn ArchiMate của Nhóm Mở đã phát triển liên tiếp và công bố các phiên bản của ArchiMate trên trang web công cộng của mình. Các phiên bản bao gồm:

- ArchiMate 1.0: được công bố vào tháng 2 năm 2009 dưới dạng tiêu chuẩn kỹ thuật chính thức;

- ArchiMate 2.0: được công bố vào tháng 1 năm 2012;

- ArchiMate 2.1: được công bố vào năm 2013;

- ArchiMate 3.0: được công bố vào tháng 6 năm 2016;

- ArchiMate 3.0.1: đây là phiên bản ArchiMate mới nhất, được công bố vào tháng 8 năm 2017. Phiên bản mới nhất của ArchiMate được tạo ra để đáp ứng một số yêu cầu như: Tăng cường liên hệ giữa chiến lược nghiệp vụ với các hoạt động nghiệp vụ và công nghệ thông tin; Đổi mới công nghệ kết hợp công nghệ thông tin và thế giới vật lý; Sử dụng trong các lĩnh vực mới (ví dụ: sản xuất,...); Tăng cường tính nhất quán và dễ hiểu; Tăng cường sự liên kết giữa các tiêu chuẩn của Nhóm Mở, đáng chú ý là với Khung TOGAF.

3. Một số nội dung cơ bản

Các khái niệm cốt lõi và mối quan hệ của Ngôn ngữ ArchiMate có thể được coi là một khung, gọi là Khung ArchiMate (ArchiMate Framework). Khung này phân chia kiến trúc thành 3 lớp (layer) gồm: Lớp nghiệp vụ; Lớp ứng dụng và Lớp công nghệ. Trong mỗi lớp, 3 khía cạnh cần xem xét gồm: các phần tử hoạt động (active elements); cấu trúc và các phần tử bên trong xác định việc sử dụng hay truyền đạt thông tin. Một trong những mục tiêu của ngôn ngữ ArchiMate là xác định mối quan hệ giữa các khái niệm trong các miền kiến ​​trúc khác nhau. Do đó, các khái niệm của ngôn ngữ này sẽ nắm giữ các khái niệm chi tiết, được sử dụng để mô hình hóa các miền riêng lẻ (ví dụ: UML để mô hình hóa các sản phẩm phần mềm, BPMN được sử dụng để mô hình hóa quy trình nghiệp vụ,...).

Các định nghĩa

- Khung cốt lõi của ArchiMate (ArchiMate Core Framework): là một cấu trúc tham chiếu dùng để phân loại các phần tử của Ngôn ngữ cốt lõi ArchiMate. Nó bao gồm 3 lớp (layer) và 3 khía cạnh (aspect).

- Ngôn ngữ cốt lõi của ArchiMate (ArchiMate Core Language): là thành phần chính của ngôn ngữ ArchiMate, xác định các khái niệm và mối quan hệ để mô hình hóa các Kiến trúc chính phủ điện tử. Nó bao gồm các khái niệm theo 3 lớp: Nghiệp vụ, Ứng dụng và Công nghệ.

- Khía cạnh (Aspect): là sự phân loại các phần tử dựa trên các đặc tính, không phụ thuộc vào lớp và có liên hệ với các bên liên quan khác. Nó được sử dụng để xác định vị trí của phần tử trong mô hình đặc tả ArchiMate.

- Thuộc tính (Attribute): là thuộc tính liên quan đến một phần tử hoặc một mối quan hệ của ngôn ngữ ArchiMate.

- Khái niệm (Concept): là một phần tử hoặc một mối quan hệ.

- Phần tử (Element): là một đơn vị cơ bản trong mô hình đặc tả ArchiMate, được sử dụng để xác định và mô tả các thành phần cấu thành của Kiến trúc Chính phủ điện tử và tập các đặc tính duy nhất của chúng.

- Lớp (Layer): là một khái niệm của Khung ArchiMate mô hình hóa một tổ chức.

- Mô hình (Model): là một tập các khái niệm trong ngữ cảnh cấu trúc ngôn ngữ ArchiMate.

- Mối quan hệ (Relationship): là một kết nối giữa khái niệm nguồn và đích.

Cấu trúc ngôn ngữ ArchiMate

Ngôn ngữ cốt lõi ArchiMate định nghĩa cấu trúc của các phần tử chung và mối quan hệ của chúng, có thể được cụ thể hóa trong các lớp khác nhau. Ba lớp được định nghĩa trong ngôn ngữ cốt lõi ArchiMate như sau:

1. Lớp nghiệp vụ mô tả các dịch vụ nghiệp vụ được cung cấp cho khách hàng. Các dịch vụ nghiệp vụ này được thực hiện trong tổ chức bởi các quy trình nghiệp vụ do các tác nhân nghiệp vụ thực hiện.

2. Lớp ứng dụng mô tả các dịch vụ ứng dụng hỗ trợ nghiệp vụ và các ứng dụng thực hiện chúng.

3. Lớp công nghệ mô tả các dịch vụ công nghệ như xử lý, lưu trữ và dịch vụ truyền thông cần thiết để chạy các ứng dụng, phần mềm hệ thống và phần cứng máy tính thực hiện các dịch vụ đó. Các phần tử vật lý được thêm vào để mô hình hóa thiết bị vật lý, vật liệu và mạng phân phối cho lớp này.

Cấu trúc của các mô hình trong các lớp là tương tự nhau. Các loại phần tử và mối quan hệ tương tự được sử dụng, mặc dù bản chất chính xác và độ chi tiết của chúng khác nhau.

Cùng với hướng dịch vụ, mối quan hệ quan trọng nhất giữa các lớp được hình thành bởi các mối quan hệ phục vụ, cho thấy các phần tử trong một lớp được phục vụ bởi các dịch vụ của các lớp khác. Tuy nhiên, lưu ý rằng các dịch vụ không chỉ cần phục vụ các phần tử trong lớp khác mà còn có thể phục vụ các phần tử trong cùng một lớp. Loại liên kết thứ hai được hình thành bởi các mối quan hệ hiện thực hóa: các phần tử ở lớp thấp hơn có thể hiện thực hóa các phần tử ở các lớp cao hơn; ví dụ: một đối tượng dữ liệu (Lớp ứng dụng) có thể hiện thực hóa một đối tượng nghiệp vụ (Lớp nghiệp vụ); hoặc một sản phẩm (Lớp công nghệ) có thể hiện thực hóa một đối tượng dữ liệu hay một thành phần ứng dụng (Lớp ứng dụng).

Khung cốt lõi của ArchiMate

Cấu trúc của khung cốt lõi cho phép mô hình hóa tổ chức theo các quan điểm khác nhau, trong đó vị trí trong các ô làm nổi bật mối quan tâm của các bên liên quan. Một bên liên quan thường có thể có mối quan tâm bao gồm nhiều ô.

Kích thước của khung như sau:

• Các lớp: Ba cấp độ mà một tổ chức có thể được mô hình hóa trong ArchiMate - Nghiệp vụ, ứng dụng và công nghệ (như Hình 1).

•  Các khía cạnh:

- Khía cạnh cấu trúc chủ động (Active Structure): đại diện cho các phần tử cấu trúc (các tác nhân nghiệp vụ, các thành phần ứng dụng và các thiết bị hiển thị hành vi thực tế; tức là, các đối tượng của hoạt động).

- Khía cạnh hành vi (behavior): đại diện cho hành vi (các quy trình, chức năng, sự kiện và dịch vụ) được thực hiện bởi các tác nhân. Các phần tử cấu trúc được gán cho các phần tử hành vi, để hiển thị ai hoặc cái gì.

- Khía cạnh cấu trúc bị động (Passive Aspect): đại diện cho các đối tượng mà hành vi được thực hiện. Đây thường là các đối tượng thông tin trong Lớp nghiệp vụ và các đối tượng dữ liệu trong Lớp ứng dụng, nhưng chúng cũng có thể được sử dụng để thể hiện các đối tượng vật lý.

Lưu ý rằng ngôn ngữ ArchiMate không yêu cầu người thiết kế mô hình sử dụng bất kỳ bố cục cụ thể nào, kể cả cấu trúc của khung này; nó chỉ đơn thuần là sự phân loại các yếu tố ngôn ngữ.

Các phần tử chính

Có 2 loại phần tử chính bao gồm:

- Phần tử hành vi (behavior element): thể hiện khía cạnh về tính năng động của tổ chức, được phân chia thành phần tử hành vi bên trong (internal behavior element), phần tử hành vi bên ngoài (external behavior element) và sự kiện (event).

+ Phần tử hành vi bên trong thể hiện một đơn vị của hoạt động được thực hiện bởi một hoặc nhiều phần tử cấu trúc chủ động.

+ Phần tử hành vi bên ngoài, còn được gọi là một dịch vụ, thể hiện một hành vi được phơi ra bên ngoài một cách rõ ràng.

+ Sự kiện là một phần tử hành vi biểu thị một sự thay đổi trạng thái.

            Các ký hiệu của các phần tử hành vi:

 

- Phần tử cấu trúc (structure element): được phân chia thành phần tử cấu trúc chủ động (active structure element) và phần tử cấu trúc bị động (passive structure element).

+ Phần tử cấu trúc chủ động là các đối tượng có thể thực hiện hành vi, và bao gồm phần tử cấu trúc chủ động bên trong (internal structure element) và phần tử cấu trúc bị động bên ngoài (external structure element). Các phần tử cấu trúc bị động bên trong chẳng hạn như là các tác nhân nghiệp vụ, các thành phần ứng dụng, các nút,... sẽ thực hiện hành vi, trong khi, các phần tử cấu trúc bị động bên ngoài (còn được gọi là các giao diện) sẽ phơi hành vi này ra môi trường bên ngoài. Một giao diện đưa ra cách nhìn bên ngoài về nhà cung cấp dịch vụ và giấu đi cấu trúc bên trong. Nói cách khác, một phần tử cấu trúc chủ động bên ngoài sẽ thể hiện một điểm truy cập mà một hoặc nhiều dịch vụ được cung cấp ra môi trường.

Các ký hiệu của các phần tử cấu trúc chủ động:

+ Phần tử cấu trúc bị động có thể được truy cập bởi các phần tử hành vi, nhưng không thể thực hiện hành vi, thường là các thông tin hoặc đối tượng dữ liệu, cũng có thể thể hiện các đối tượng vật lý.

Các ký hiệu của các phần tử cấu trúc bị động:

Các mối quan hệ


(Tham khảo: https://pubs.opengroup.org/architecture/archimate2-doc/chap07.html)

Ngôn ngữ ArchiMate xác định một tập các mối quan hệ, trong đó, mỗi quan hệ xác định rõ điểm đầu và điểm cuối bao gồm 4 loại như sau:

- Mối quan hệ có cấu trúc (Structural relationships): mô hình hóa cấu trúc tĩnh hoặc tổ phần các khái niệm cùng loại hoặc khác nhau. Mối quan hệ cấu trúc gồm:

+ Mối quan hệ tổ hợp (Composition Relationship): chỉ ra rằng một phần tử bao gồm một hoặc nhiều khái niệm khác, luôn được phép giữa 2 thể hiện của cùng loại phần tử.

+ Mối quan hệ tập hợp (Aggregation Relationship): chỉ ra rằng một phần tử là nhóm của nhiều khái niệm khác.


The models below show the two ways to express that the product Car insurance aggregates a contract (Policy) and two business services.

+ Mối quan hệ giao việc (Assignment Relationship): thể hiện sự phân bổ trách nhiệm, việc thực hiện hành vi hoặc thực thi.

+ Mối quan hệ hiện thực hóa (Realization Relationship): chỉ ra một thực thể đóng vai trò quan trọng trong việc tạo ra, hoàn thành, duy trì hay hoạt động của một thực thể.


The model below illustrates two ways to use the realization relationship. An application (component) Financial application realizes the Billing service (application); the Billing data object realizes the business object Invoice.

- Mối quan hệ phụ thuộc (Dependency relationship): mô hình hóa cách thức các phần tử được sử dụng để hỗ trợ các phần tử khác. Có 3 loại mối quan hệ phụ thuộc:

+ Mối quan hệ phục vụ (Serving Relationship): thể hiện sự phụ thuộc kiểm soát, được thể hiện bằng một đường liền mạch.

+ Mối quan hệ truy cập (Access Relationship): thể hiện sự phụ thuộc về dữ liệu, được biểu thị bằng đường nét đứt.

+ Mối quan hệ ảnh hưởng (Influence Relationship): là loại phụ thuộc yếu nhất, được sử dụng để mô hình hóa cách thức các phần tử bị ảnh hưởng bởi các phần tử khác.

- Mối quan hệ động (Dynamic relationship): được sử dụng để mô hình hóa các phụ thuộc về hành vi giữa các phần tử hay là mô tả sự phụ thuộc tạm thời giữa các phần tử trong kiến trúc. Có 2 loại mối quan hệ động:

+ Mối quan hệ kích hoạt (Triggering Relationship): mô tả mối quan hệ tạm thời hoặc có nguyên nhân giữa các phần tử.

+ Mối quan hệ theo luồng (Flow Relationship): thể hiện việc truyền vận từ phần tử này sang phần tử khác.

- Các mối quan hệ khác như:

+ Mối quan hệ chuyên biệt (Specialization Relationship): chỉ ra một phần tử là một loại cụ thể của một phần tử khác.

+ Mối quan hệ phối hợp (Association Relationship): mô hình hóa mối quan hệ không xác định hoặc mối quan hệ không thể biểu diễn bằng mối quan hệ của ArchiMate.

+ Mối nối (Junction): không phải là mối quan hệ nhưng nó là một mối nối để nối các mối quan hệ kiểu rẽ nhánh.

4. Kết luận

Như vậy, ArchiMate là một kỹ thuật mô hình hóa để mô tả kiến trúc tổng thể. Nó thể hiện một tập hợp các khái niệm rõ ràng bên trong và các mối quan hệ giữa các miền kiến trúc và cung cấp một cấu trúc đơn giản, thống nhất để mô tả nội dung của các miền này. Thời gian vừa qua, Bộ Thông tin và Truyền thông đã dự thảo và xin ý kiến góp ý của các cơ quan, tổ chức, cá nhân về Dự thảo Khung kiến trúc Chính phủ điện tử Việt Nam phiên bản 2.0, trong tài liệu Kiến trúc tham chiếu tương hợp - IRA, ngôn ngữ ArchiMate được khuyến khích sử dụng để thiết kế kiến trúc vì nhiều lợi ích vượt trội của nó trong lĩnh vực Kiến trúc Chính phủ điện tử. Do vậy, ngôn ngữ ArchiMate sẽ ngày càng trở thành công cụ phổ biến với các kiến trúc sư nói riêng và với các bên liên quan về Kiến trúc Chính phủ điện tử trong tương lai không xa.

Đặng Thị Thu Hương.

Tài liệu tham khảo

[1] An Introduction to the ArchiMate 3.0 Specification, Theo Open Group, June, 2016;

[2] https://online.visual-paradigm.com/tutorials/archimate-tutorial/

[3] https://archimatetool.gitbook.io/project/archimate-key-elements

[4] https://pubs.opengroup.org/architecture/archimate3-doc/

[5] https://www.opengroup.org/archimate-forum/archimate-overview