Cấp N(Nhiều tầng), 3 tầng, 2 tầng Archikiến trúc với VÍ DỤ
⚡ Tóm tắt thông minh
Kiến trúc N-Tier, hay còn gọi là kiến trúc đa tầng, phân phối một ứng dụng trên ba hoặc nhiều lớp riêng biệt như lớp trình bày, lớp logic nghiệp vụ và lớp dữ liệu. Mô hình này cải thiện khả năng mở rộng, bảo mật và khả năng tái sử dụng cho các ứng dụng máy chủ-khách hàng cấp doanh nghiệp.

Cấp N là gì?
An Ứng dụng cấp N chương trình là chương trình được phân phối giữa ba hoặc nhiều máy tính riêng biệt trong mạng phân tán.
Hình thức phổ biến nhất của n tầng là Ứng dụng 3 tầng và được phân thành ba loại.
- Lập trình giao diện người dùng trên máy tính của người dùng
- Logic nghiệp vụ trong một máy tính tập trung hơn, và
- Dữ liệu cần thiết trong máy tính quản lý cơ sở dữ liệu.
Mô hình kiến trúc này cung cấp cho các nhà phát triển phần mềm một cách để tạo ra các ứng dụng/hệ thống có thể tái sử dụng với tính linh hoạt tối đa.
In Cấp N, “N” đề cập đến một số cấp bậc hoặc lớp đang được sử dụng, ví dụ như – 2 tầng, 3 tầng hoặc 4 tầng, v.v.. Nó còn được gọi là “Nhiều tầng Archikiến trúc".
Kiến trúc n tầng Đây là mô hình kiến trúc phần mềm đã được chứng minh trong ngành. Nó phù hợp để hỗ trợ các ứng dụng máy chủ-khách hàng cấp doanh nghiệp bằng cách cung cấp các giải pháp về khả năng mở rộng, bảo mật, khả năng chịu lỗi, khả năng tái sử dụng và khả năng bảo trì. Nó giúp các nhà phát triển tạo ra các ứng dụng linh hoạt và có thể tái sử dụng.
Cấp N Archikiến trúc
Ở đây mô tả sơ đồ của hệ thống n tầng – các lớp trình bày, ứng dụng và cơ sở dữ liệu.

Ba lớp này có thể được chia nhỏ thành các lớp con khác nhau tùy theo yêu cầu.
Một số trang web nổi tiếng đã áp dụng kiến trúc này là:
- MakeMyTrip.com
- Ứng dụng doanh nghiệp Sales Force
- Đường sắt Ấn Độ – IRCTC
- Amazon.com, v.v.
Một số thuật ngữ thông dụng cần ghi nhớ để hiểu rõ hơn khái niệm:
- Mạng phân phối: Đây là một kiến trúc mạng trong đó các thành phần đặt tại các máy tính trong mạng phối hợp và truyền đạt hành động của chúng chỉ bằng cách gửi thông điệp. Nó là một tập hợp gồm nhiều hệ thống đặt tại các nút khác nhau nhưng lại hiển thị cho người dùng như một hệ thống duy nhất.
- Nó cung cấp một mạng truyền thông dữ liệu duy nhất có thể được quản lý riêng biệt bởi các mạng khác nhau.
- Một ví dụ về Mạng phân tán – trong đó các máy khách khác nhau được kết nối trong kiến trúc mạng LAN ở một phía và ở phía khác, chúng được kết nối với các bộ chuyển mạch tốc độ cao cùng với một giá đỡ máy chủ chứa các nút dịch vụ.
- Máy khách-Máy chủ Archikiến trúc: Đây là một mô hình kiến trúc trong đó máy khách (một chương trình) yêu cầu một dịch vụ từ máy chủ (một chương trình khác). tức là Đây là dịch vụ yêu cầu-phản hồi được cung cấp qua internet hoặc mạng nội bộ. Trong mô hình này, Khách hàng sẽ phục vụ như một bộ chương trình/mã thực thi một bộ hành động qua mạng. Trong khi của chúng tôimặt khác, là một tập hợp của một chương trình khác, gửi các tập hợp kết quả đến hệ thống máy khách theo yêu cầu.
- Trong mô hình này, máy tính khách cung cấp giao diện cho người dùng cuối để yêu cầu một dịch vụ hoặc tài nguyên từ máy chủ, và mặt khác, máy chủ sẽ xử lý yêu cầu và hiển thị kết quả cho người dùng cuối.
- Một ví dụ về mô hình Client-Server là máy ATM. Ngân hàng đóng vai trò là máy chủ xử lý các ứng dụng trong cơ sở dữ liệu khách hàng khổng lồ, còn máy ATM là máy khách có giao diện người dùng với một số chức năng xử lý ứng dụng đơn giản.
- Nền Tảng: Trong khoa học máy tính hoặc ngành công nghiệp phần mềm, nền tảng là một hệ thống mà trên đó một chương trình ứng dụng có thể chạy. Nó bao gồm sự kết hợp giữa phần cứng và phần mềm có chứa các lệnh được lập trình sẵn để bộ xử lý/vi xử lý thực hiện các thao tác cụ thể.
- Nói một cách đơn giản hơn, nền tảng là một hệ thống hoặc một cơ sở mà bất kỳ ứng dụng nào cũng có thể chạy và thực thi để hoàn thành một nhiệm vụ cụ thể.
- Một ví dụ về Nền tảng - Một máy cá nhân được tải với Windows 2000 hoặc Mac OS X là ví dụ về 2 nền tảng khác nhau.
- Cơ sở dữ liệu: Nó là một tập hợp thông tin một cách có tổ chức để có thể dễ dàng truy cập, quản lý và cập nhật.
- Ví dụ về Cơ sở dữ liệu – MySQL, SQL Máy chủ và Oracle Database Dưới đây là một số cơ sở dữ liệu phổ biến.
Các loại cấp N Archikiến trúc
Có nhiều loại N-Tier khác nhau Archikết cấu, như 3 tầng Archikiến trúc, 2 tầng Archikết cấu và 1 tầng Archikiến trúc.
Đầu tiên chúng ta sẽ thấy 3 tầng Archikiến trúc, điều này rất quan trọng.
3-Cấp Archikiến trúc
Nhìn vào sơ đồ dưới đây, bạn có thể dễ dàng nhận ra rằng Kiến trúc 3 tầng có ba lớp khác nhau.
- Lớp trình bày
- Lớp logic nghiệp vụ
- Lớp cơ sở dữ liệu

Ở đây, chúng ta đã lấy một ví dụ đơn giản về mẫu đơn học sinh để hiểu rõ cả ba lớp thông tin này. Mẫu đơn này chứa thông tin về học sinh như: Tên, Địa chỉ, Email và Ảnh.
Lớp giao diện người dùng hoặc Lớp trình bày
Lớp trình bày
private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e) { // Object of the Property layer clsStudent objproperty=new clsStudent(); // Object of the business layer clsStudentInfo objbs=new clsStudentInfo(); // Object of the dataset in which we receive the data sent by the business layer DataSet ds=new DataSet(); // here we are placing the value in the property using the object of the //property layer objproperty.id=int.Parse(DataGridl.SelectedItem.Cells[1].Text.ToString()); // In this following code we are calling a function from the business layer and // passing the object of the property layer which will carry the ID till the database. ds=objbs.GetAllStudentBsIDWise(objproperty); // What ever the data has been returned by the above function into the dataset //is being populate through the presentation laye. txtId.Text=ds.Tables[0].Rows[0][0].ToString(); txtFname.Text=ds.Tables[0].Rows[0][1].ToString(); txtAddress.Text=ds.Tables[0].Rows[0][2].ToString(); txtemail.Text=ds.Tables[0].Rows[0][3].ToString();
Code Giải thích
- Đoạn mã trên định nghĩa thiết kế cơ bản cho giao diện người dùng của ứng dụng cũng như việc gọi các hàm của các lớp khác để chúng có thể được tích hợp với nhau.
Lớp truy cập doanh nghiệp –
Đây là chức năng của lớp nghiệp vụ chấp nhận dữ liệu từ lớp ứng dụng và chuyển nó đến lớp dữ liệu.
- Logic nghiệp vụ đóng vai trò là giao diện giữa lớp Client và lớp truy cập dữ liệu.
- Tất cả logic nghiệp vụ – như xác thực dữ liệu, tính toán, chèn/sửa đổi dữ liệu – đều được viết ở lớp logic nghiệp vụ.
- Nó giúp việc giao tiếp giữa máy khách và lớp dữ liệu trở nên nhanh chóng và dễ dàng hơn.
- Xác định một hoạt động quy trình công việc thích hợp cần thiết để hoàn thành một nhiệm vụ.
// this is the function of the business layer which accepts the data from the //application layer and passes it to the data layer. public class clsStudentInfo { public DataSet GetAllStudentBsIDWise(clsStudent obj) { DataSet ds=new DataSet(); ds=objdt.getdata_dtIDWise(obj);// Calling of Data layer function return ds; } }
Giải thích mã
Đoạn mã này sử dụng chức năng của lớp nghiệp vụ, chức năng này sẽ nhận dữ liệu từ lớp ứng dụng và chuyển tiếp đến lớp dữ liệu. Mã của lớp nghiệp vụ đóng vai trò trung gian giữa các hàm được định nghĩa trong lớp trình bày và lớp dữ liệu, và gọi các hàm theo chiều ngược lại.
Lớp truy cập dữ liệu
Đây là chức năng lớp dữ liệu, nhận dữ liệu từ lớp nghiệp vụ và thực hiện các thao tác cần thiết vào cơ sở dữ liệu.
// this is the datalayer function which is receiving the data from the business //layer and performing the required operation into the database public class clsStudentData // Data layer class { // object of property layer class public DataSet getdata_dtIDUise(clsStudent obj) { DataSet ds; string sql; sql="select * from student where Studentld=" +obj.id+ "order by Studentld; ds=new DataSet(); //this is the datalayer function which accepts the sql query and performs the //corresponding operation ds=objdt.ExecuteSql(sql); return ds; } }
Giải thích mã
Đoạn mã được định nghĩa trong lớp dữ liệu ở trên chấp nhận toàn bộ yêu cầu từ hệ thống và thực hiện các thao tác cần thiết trên cơ sở dữ liệu.
2-Cấp Archikiến trúc
Giống như kiến trúc Máy khách-Máy chủ, trong đó giao tiếp diễn ra giữa máy khách và máy chủ.
Trong loại kiến trúc phần mềm này, lớp trình bày hay lớp giao diện người dùng chạy ở phía máy khách, trong khi lớp dữ liệu được thực thi và lưu trữ ở phía máy chủ.
Không có lớp logic nghiệp vụ hay lớp trung gian nào giữa máy khách và máy chủ.
Cấp đơn hoặc 1 cấp Archikiến trúc
Đây là phương pháp đơn giản nhất, vì nó tương đương với việc chạy ứng dụng trên máy tính cá nhân. Tất cả các thành phần cần thiết để ứng dụng hoạt động đều nằm trên một ứng dụng hoặc máy chủ duy nhất.
Lớp trình bày, lớp logic nghiệp vụ và lớp dữ liệu đều nằm trên một máy.
Ưu điểm và nhược điểm của nhiều tầng Archikiến trúc
Cũng như bất kỳ lựa chọn thiết kế nào, phương pháp đa tầng mang lại những lợi ích rõ ràng cùng với một vài sự đánh đổi, được tóm tắt dưới đây.
| Ưu điểm | Nhược điểm |
|---|---|
| khả năng mở rộng | Tăng cường nỗ lực |
| Ngày Integrity | Tăng độ phức tạp |
| Tái sử dụng | |
| Giảm phân phối | |
| Cải thiện an ninh | |
| Cải thiện tính khả dụng |
Do đó, nó là một phần của chương trình mã hóa các vấn đề kinh doanh trong thế giới thực và xác định cách dữ liệu có thể được cập nhật, tạo, lưu trữ hoặc thay đổi để hoàn thành nhiệm vụ.
Cấp N ArchiMẹo và phát triển kiến trúc
Vì các chuyên gia phần mềm cần phải kiểm soát hoàn toàn tất cả các lớp của kiến trúc, dưới đây là một số lời khuyên về kiến trúc đa tầng:
- Hãy cố gắng tách rời các lớp khỏi nhau càng nhiều càng tốt bằng cách sử dụng kỹ thuật như SOAP XML.
- Sử dụng một số công cụ tự động để tạo bản đồ.ping Giữa lớp logic nghiệp vụ và lớp cơ sở dữ liệu quan hệ (lớp dữ liệu). Các công cụ có thể giúp mô hình hóa bản đồ này.ping Các kỹ thuật đó là Entity Framework và Hibernate cho .Net, v.v.
- Trong lớp trình bày phía máy khách, hãy đặt mã chung cho tất cả các máy khách vào một thư viện riêng biệt càng nhiều càng tốt. Điều này sẽ tối đa hóa khả năng tái sử dụng mã cho tất cả các loại máy khách.
- Lớp bộ đệm có thể được thêm vào lớp hiện có để tăng tốc hiệu suất.

