Mô hình tổ chức hệ thống phần mềm - ứng dụng

Hoạt động đầu tiên trong quá trình thiết kế kiến trúc hệ thống phần mềm hay ứng dụng là xây dựng mô hình tổ chức hệ thống đó. Vậy mô hình tổ chức hệ thống đó có mấy loại, bài viết này sẽ đưa ta trả lời các loại tổ mô hình của nó. 
Khái niệm về tổ chức là một hệ thống được tạo ra từ các cá thể để làm dễ dàng việc đạt mục tiêu bằng hợp tác và phân công lao động. Có 3 phương pháp để tổ chức hệ thống thường sử dụng: Mô hình dữ liệu dùng chung, mô hình client - server, mô hình phân lớp.

1. Mô hình dữ liệu dùng chung

Các hệ thống con phải trao đổi dữ liệu và làm việc với nhau một cách hiệu quả. Việc trao đổi dữ liệu được thực hiện theo hai cách:
  • Dữ liệu chia sẻ được lưu ở CSDL trung tâm hoặc kho dữ liệu và được tất cả các hệ thống con truy nhập.
  • Mỗi hệ thống con bảo trì CSDL của chính nó và truyền dữ liệu một cách tường minh cho các hệ thống con khác.
Nếu số lượng dữ liệu dùng chung rất lớn thì mô hình kho dữ liệu dùng chung thường được sử dụng phổ biến nhất. Ưu điểm của mô hình này là:
  • Đây là phương pháp hiệu quả để chia sẻ số lượng lớn dữ liệu.
  • Các hệ thống con không cần quan tâm tới những hoạt động liên quan đến dữ liệu như: sao lưu, bảo mật,… vì đã có bộ quản lý trung tâm thực hiện nhiệm vụ này.
Tuy nhiên, việc sử dụng kho dữ liệu dùng chung cũng có một số nhược điểm sau:
  • Tất cả các hệ thống con phải chấp nhận mô hình kho dữ liệu.
  • Việc cải tiến dữ liệu rất phức tạp và tốn kém
  • Khó phân tán một cách hiệu quả
  • Không có giới hạn cho các chính sách quản lý cụ thể.

2. Mô hình Client - Server

Mô hình kiến trúc client-server là một mô hình hệ thống trong đó hệ thống bao gồm một tập hợp các server cung cấp dịch vụ và các client truy nhập và sử dụng các dịch vụ đó. Các thành phần chính của mô hình này bao gồm:
  • Tập hợp các server sẽ cung cấp những dịch vụ cụ thể như: in ấn, quản lý dữ liệu…
  • Tập hợp các client truy nhập đến server để yêu cầu cung cấp dịch vụ.
  • Hệ thống mạng cho phép client truy cập tới dịch vụ mà server cung cấp.
Client phải biết tên của server và các dịch vụ mà server cung cấp. Nhưng server thì không cần xác định rõ client và hiện tại có bao nhiêu client. Client tạo ra một yêu cầu tới server và chờ server trả lời.
Ưu điểm của mô hình client - server là:
  • Phân tán dữ liệu rõ ràng
  • Sử dụng các hệ thống được kết nối mạng một cách hiệu quả và chi phí dành cho phần cứng có thể rẻ hơn.
  • Dễ dàng bổ sung hoặc nâng cấp server
Nhược điểm của mô hình client - server là:
  • Không phải là mô hình dữ liệu dùng chung nên các hệ thống con có thể sử dụng các tổ chức dữ liệu khác nhau. Do đó, việc trao đổi dữ liệu có thể không hiệu quả.
  • Quản lý mỗi server không thống nhất, dư thừa.
  • Không đăng ký tên và dịch vụ tập trung. Điều này làm cho việc tìm kiếm server hoặc các dịch vụ rất khó khăn.

3. Mô hình phân lớp

Mô hình phân lớp tổ chức hệ thống thành nhiều lớp và mỗi lớp cung cấp một tập các dịch vụ. Mỗi lớp có thể được coi như một máy trừu tượng (abstract machine) mà ngôn ngữ của máy được định nghĩa bởi các dịch vụ mà lớp đó cung cấp. Do đó, mô hình này thường được sử dụng để mô hình hoá giao diện (interface) của hệ thống con.

Mô hình phân lớp hỗ trợ phát triển các hệ thống con theo kiểu tăng vòng ở nhiều lớp khác nhau. Khi giao diện của một lớp thay đổi thì chỉ những lớp liền kề nó mới bị ảnh hưởng.