Thiết kế kiến trúc hệ thống mở

Đọc hai bài báo gần đây (bài 1bài 2) cũng thấy mừng cho ngành Công nghệ Thông tin nước nhà bắt đầu đi vào nề nếp. Đây cũng là vấn đề tôi ấp ủ nhưng chưa làm được, xả ra trên blog vậy.

Cách đây khoảng 3 năm, đặt vấn đề với FIS về “Thiết kế kiến trúc hệ thống” theo một framework có sẵn còn thấy ngơ ngác, đưa cho cái link TOGAF thì tấm tắc khen hay. Vậy mà bây giờ đã có người đỗ chứng chỉ! Tuy nhiên đây là một công việc khá khó, khối lượng lớn, một người e rằng quá ít.

Ngay cả việc bộ Ngoại giao giao cho Microsoft thiết kế kiến trúc chuẩn cũng là việc đáng bàn. Nhưng cái đó để sau.

Vậy thì “Kiến trúc hệ thống” hoặc “Kiến trúc doanh nghiệp”, rộng hơn là “Kiến trúc một tổ chức” tạm dịch từ “Enterprise Architecture” là cái gì?

Khi xây một cái nhà, bước đầu tiên là thiết kế kiến trúc (nếu cả một khu nhà lớn thì trước đó còn có cả quy hoạch nữa). Thiết kế kiến trúc xong mới đến thiết kế xây dựng, thiết kế thi công và thiết kế hoàn công.

Xây một hệ thống thông tin lớn cũng vậy. Kiến trúc của một tổ chức được định nghĩa theo ISO/IEC 42010:2007 là:

Tổ chức cơ bản của một hệ thống thể hiện trong các bộ phận cấu thành, quan hệ giữa các bộ phận với nhau và với môi trường ngoài và trong các nguyên tắc chỉ đạo việc thiết kế và phát triển các bộ phận đó

The fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution.”

Qua định nghĩa này, kiến trúc hệ thống liên quan đến toàn bộ các mặt hoạt động của một tổ chức mà trong đó, hệ thống tin học chỉ là một bộ phận công cụ.

Kiến trúc hệ thống đại thể có các thành phần lớn sau:

  1. Kiến trúc nghiệp vụ (Business Architecture): xác định chiến lược hoạt động của tổ chức, cách quản lý, hệ thống tổ chức và các hoạt động nghiệp vụ chính.
  2. Kiến trúc ứng dụng (Application Architecture): là bản thiết kế (đến mức nào?) các ứng dụng, tương tác giữa chúng với nhau và quan hệ của chúng với các hoạt động nghiệp vụ chính của tổ chức.
  3. Kiến trúc dữ liệu (Data Architecture): mô tả cấu trúc các kho dữ liệu logic và vật lý của tổ chức và các tài nguyên dùng quản lý dữ liệu.
  4. Kiến trúc công nghệ (Technology Architecture): mô tả hạ tầng phần mềm để khai triển các ứng dụng quan trọng, cốt lõi của hệ thống.

Mục 1 là trách nhiệm các nhà lãnh đạo, mục 2 và 3 có khi được gọi chung là Kiến trúc hệ thống thông tin (Information System Architecture).

Khối lượng công việc thiết kế như trên rất lớn và rất phức tạp. Vì vậy cần phải có một quy trình thiết kế tiêu chuẩn và vô số công cụ hỗ trợ gọi chung là Phương pháp kiến trúc hoặc Khung kiến trúc (Achitecture Framework).

Phương pháp kiến trúc là một công cụ dùng để phát triển các kiến trúc bao gồm:

  • một phương pháp thiết kế hệ thống thông tin gồm nhiều bộ phận có tương tác với nhau
  • một bộ các công cụ thiết kế và một từ điển thuật ngữ thống nhất.
  • một danh sách các tiêu chuẩn nên dùng
  • một danh sách các sản phẩm thoả mãn chuẩn có thể dùng để xây dựng nên các bộ phận của hệ thống thông tin.

Nói nôm na nó là bản hướng dẫn từng bước thiết kế kiến trúc như thế nào.

Cái framework này rất quan trọng để có được một thiết kế đúng, hợp lý, thống nhất chung cho toàn hệ thống. Vì vậy chính phủ một số nước cũng như các bộ quốc phòng Anh, Mỹ và thậm chí NATO đều ban hành framework chuẩn cho hệ thống của mình (xem thêm). Các công ty và các loại tổ chức khác thì có thể chọn một trong các frameworks phổ biến để áp dụng.

TOGAF (The Open Group Architecture Framework) là một framework do tổ chức Open Group xây dựng. Open Group là một consortium độc lập với công nghệ và nhà cung cấp có mục tiêu hỗ trợ truy cập thông tin tích hợp bên trong và giữa các tổ chức dựa trên các chuẩn mở và tính tương tác toàn cầu (The Open Group is a vendor- and technology-neutral consortium, whose vision of Boundaryless Information Flow™ will enable access to integrated information within and between enterprises based on open standards and global interoperability.) Thành viên của Open Group có các đại công ty như HP, IBM, HSBC, các trường, viện, và các tổ chức, cá nhân khác.

Phiên bản 1 của TOGAF ra đời năm 1995 trên cơ sở framework TAFIM của bộ quốc phòng Mỹ. Phiên bản 9 là mới nhất hiện nay. Tài liệu được công bố công khai trên mạng và có thể tải về dùng nội bộ miễn phí (dùng thương mại, thiết kế kiếm tiền thì phải trả tiền).

Mỗi bản TOGAF là một tài liệu dài cỡ 300 trang mô tả rất chi tiết các khái niệm, các bước thiết kế cụ thể, các tiêu chuẩn, form mẫu, các công cụ hỗ trợ. Xem thoáng qua thì rất hay và rất thích nhưng hiểu được thì … chết liền, mất khá nhiều thời gian và nơ ron thần kinh mà cũng chưa chắc đã hiểu, chưa nói đến ứng dụng!

Điểm hay của TOGAF là nó vô tư (độc lập với công nghệ và nhà cung cấp, dựa trên các chuẩn mở), tài liệu hướng dẫn từng bước rất chi tiết, có diễn đàn hỗ trợ, nói tóm lại là nó mở. Ai đã từng làm thiết kế đều biết cửa ăn hoa hồng dễ nhất là trói thiết kế vào vật tư, sản phẩm cụ thể. Nhược điểm là nó không định ra tiêu chí thế nào là một kiến trúc tốt.

Bởi vậy, tôi mới thấy băn khoăn về cái thiết kế của bộ Ngoại giao. Có nên tin vào tính vô tư của Microsoft hay không?

One thought on “Thiết kế kiến trúc hệ thống mở

  1. Pingback: Hội thảo quốc gia Chính phủ điện tử và một kiến nghị với VFOSSA | ZXC232-Phần mềm tự do nguồn mở – Free and open source software

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s