Nhiều bạn sinh viên ngành CNTT nhầm lẫn giữa mô hình 3 tier và 3 layer. Tuy nhiên, thực tế chúng hoàn toàn khác nhau. Bài viết sau đây chia sẻ giúp các bạn phân biệt giữa 3 Tier và 3 layer.
1. Mô hình 3 Tier
1.1 Mô hình 3 Tier là gì?
Theo wikipedia: 3-tiers là một kiến trúc kiểu client/server mà trong đó, các yếu tố như:
- Giao diện người dùng (UI-user interface);
- Các quy tắc xử lý(BR-business rule hay BL-business logic);
- Việc lưu trữ dữ liệu được phát triển như những module độc lập.
Là những yếu tố được duy trì trên các nền tảng độc lập. Mô hình 3 tầng (3-tiers) được coi là một kiến trúc phần mềm và là một mẫu thiết kế.
1.2 Các phành phần của 3 Tier
3 Tier gồm 03 thành phần chính:
- Presentation tier: bao gồm các thành phần phần xử lý giao diện Graphic User Interface (GUI). Presentation tỉe dùng để giao tiếp với người dùng. Nhiệm vụ chính là hiển thị dữ liệu và nhận dữ liệu từ người dùng.
- Business tier: gồm các thành phần Business Logic Layer (BLL), Data Access Layer (DAL) và Data Tranfer Object (DTO). Được dùng để cung cấp các chức năng của phần mềm
- Data tier: lưu trữ dữ liệu, là các hệ quản trị CSDL như MS SQL Server, Oracle, SQLite, MS Access, XML files, text files,…Dùng để lưu trữ dữ liệu, cho phép lớp Business Logic có thể tìm kiếm, trích xuất, cập nhật…
1.3. Ưu điểm và nhược điểm mô hình 3 Tier
Ưu điểm: Dễ dàng mở rộng, thay đổi quy mô của hệ thống: Khi cần tải lớn, người quản trị có thể dễ dàng thêm các máy chủ vào nhóm, hoặc lấy bớt ra trong trường hợp ngược lại.
Nhược điểm:
- Việc truyền dữ liệu giữa các tầng sẽ chậm hơn vì phải truyền giữa các tiến trình khác nhau (IPC), dữ liệu cần phải được đóng gói -> truyền đi -> mở gói trước khi có thể dùng được.
- Việc phát triển ứng dụng phức tạp hơn.
2. Mô hình 3 layer ( 3 lớp)
2.1 Mô Hình 3 layer là gì ?
- Mô hình 3 lớp hay còn được gọi là mô hình Three Layer (3-Layer), mô hình này ra đời nhằm phân chia các thành phần trong hệ thống, các thành phần cùng chức năng sẽ được nhóm lại với nhau và phân chia công việc cho từng nhóm để dữ liệu không bị chồng chéo và chạy lộn xộn.
- Mô hình này phát huy hiệu quả nhất khi bạn xây dựng một dự án(project) lớn, việc quản lý code và xử lý dữ liệu lỗi dễ dàng hơn.
2.2. Các thành phần của mô hình 3 lớp
– Presentation Layer (GUI): Lớp này có nhiệm vụ chính giao tiếp với người dùng. Nó gồm các thành phần giao diện ( win form, web form,…) và thực hiện các công việc như nhập liệu, hiển thị dữ liêu, kiểm tra tính đúng đắn dữ liệu trước khi gọi lớp Business Logic Layer (BLL).
– Business Logic Layer (BLL): Layer này phân ra 2 thành nhiệm vụ :
- Đây là nơi đáp ứng các yêu cầu thao tác dữ liệu của GUI layer, xử lý chính nguồn dữ liệu từ Presentation Layer trước khi truyền xuống Data Access Layer và lưu xuống hệ quản trị CSDL.
- Đây còn là nơi kiểm tra các ràng buộc, tính toàn vẹn và hợp lệ dữ liệu, thực hiện tính toán và xử lý các yêu cầu nghiệp vụ, trước khi trả kết quả về Presentation Layer.
– Data Access Layer (DAL): Lớp này có chức năng giao tiếp với hệ quản trị CSDL như thực hiện các công việc liên quan đến lưu trữ và truy vấn dữ liệu ( tìm kiếm, thêm, xóa, sửa,…).
2.3. Ưu điểm khi sử dụng mô hình 3 lớp
- Việc phân chia thành từng lớp giúp cho code được tường minh hơn. Nhờ vào việc chia ra từng lớp đảm nhận các chức năng khác nhau và riêng biệt như giao diện, xử lý, truy vấn thay vì để tất cả lại một chỗ. Nhằm giảm sự kết dính.
- Dễ bảo trì khi được phân chia, thì một thành phần của hệ thống sẽ dễ thay đổi. Việc thay đổi này có thể được cô lập trong 1 lớp, hoặc ảnh hưởng đến lớp gần nhất mà không ảnh hưởng đến cả chương trình.
- Dễ phát triển, tái sử dụng: khi chúng ta muốn thêm một chức năng nào đó thì việc lập trình theo một mô hình sẽ dễ dàng hơn vì chúng ta đã có chuẩn để tuân theo. Và việc sử dụng lại khi có sự thay đổi giữa hai môi trường ( Winform sang Webfrom ) thì chỉ việc thay đổi lại lớp GUI.
- Dễ bàn giao. Nếu mọi người đều theo một quy chuẩn đã được định sẵn, thì công việc bàn giao, tương tác với nhau sẽ dễ dàng hơn và tiết kiệm được nhiều thời gian.
- Dễ phân phối khối lượng công việc. Mỗi một nhóm, một bộ phận sẽ nhận một nhiệm vụ trong mô hình 3 lớp. Việc phân chia rõ ràng như thế sẽ giúp các lập trình viên kiểm soát được khối lượng công việc của mình.
Tóm lại:
Mặc dù cấu trúc phân chia giống nhau (presentation, bussiness , data). Tuy nhiên chúng hoàn toàn khác nhau. Nếu 3 tiers có tính vật lí thì 3 layer có tính logic. Nghĩa là ta phân chia ứng dụng thành các phần (các lớp) theo chức năng hoặc vai trò một cách logic. Các layer khác nhau được thực thi trong 1 phân vùng bộ nhớ của process. Vì thế nên một tier có thể có nhiều layer.
Xem thêm
> Đại học Phú Xuân tuyển sinh ngành Công nghệ Thông tin
> Điểm qua 09 ngành đào tạo bắt nhịp xu thế của Đại học Phú Xuân
> Đại học Phú Xuân đồng hành cùng học sinh Việt Nam với học bổng đầu vào hấp dẫn