N-Tier là gì?
Một N-Tier Application chương trình là một trong đó là phân bố trong ba hoặc riêng biệt nhiều máy tính trong một mạng lưới phân phối.
Hình thức phổ biến nhất của cấp n là Ứng dụng 3 cấp, và nó được phân thành ba loại.
- Lập trình giao diện người dùng trong máy tính của người dùng
- Logic kinh doanh trong một máy tính tập trung hơn và
- Dữ liệu bắt buộc 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 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.
Trong N-tier, "N" đề cập đến một số tầng hoặc lớp đang được sử dụng như thế nào - 2 tầng, 3 tầng hoặc 4 tầng, vv . Nó còn được gọi là “ Kiến trúc nhiều tầng” .
Kiến trúc n-tier là một 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 khách-máy chủ 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.
Trong hướng dẫn này, bạn sẽ học-
- N-Tier là gì?
- Kiến trúc N-Tier
- Các loại kiến trúc N-Tier
- Kiến trúc 3 tầng
- Kiến trúc 2 tầng
- Kiến trúc một bậc hoặc 1 bậc
- Ưu điểm và nhược điểm của kiến trúc nhiều tầng
- Mẹo và phát triển kiến trúc N-Tier
Kiến trúc N-Tier
Ở đây mô tả biểu diễn dạng sơ đồ của hệ thống n-tier - 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ỏ hơn nữa thành các lớp con khác nhau tùy theo yêu cầu.
Một số trang web phổ biến đã áp dụng kiến trúc này là
- MakeMyTrip.com
- Ứng dụng doanh nghiệp của Lực lượng bán hàng
- Đường sắt Ấn Độ - IRCTC
- Amazon.com, v.v.
Một số thuật ngữ phổ biến cần nhớ, để hiểu khái niệm rõ ràng hơn.
- Mạng phân tán: Là một kiến trúc mạng, trong đó các thành phần nằm trong các máy tính mạng phối hợp và giao tiếp các hành động của chúng chỉ bằng cách chuyển các thông điệp. Nó là một tập hợp của nhiều hệ thống nằm ở các nút khác nhau nhưng xuất hiện với 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 - nơi các máy khách khác nhau được kết nối trong kiến trúc mạng LAN ở một bên và ở phía bên kia 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á đỡ các máy chủ chứa các nút dịch vụ.
- Kiến trúc Máy chủ-Máy chủ: 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ột máy chủ (một chương trình khác) tức là Nó là một dịch vụ phản hồi yêu cầu được cung cấp qua internet hoặc thông qua mạng nội bộ.
Trong mô hình này, Client sẽ đóng vai trò là một tập hợp chương trình / mã thực thi một tập hợp các hành động qua mạng. Trong khi máy chủ , mặt khác, là một tập hợp các chương trình khác, mà sẽ gửi bộ kết quả với hệ thống khách hàng theo yêu cầu.
- Trong trường hợp này, máy khách cung cấp giao diện cho người dùng cuối để yêu cầu dịch vụ hoặc tài nguyên từ máy chủ và mặt khác máy chủ 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 Máy khách-Máy chủ - một máy ATM. Ngân hàng là máy chủ xử lý đơn trong cơ sở dữ liệu khách hàng lớn và máy ATM là máy khách có giao diện người dùng với một số xử lý ứng dụng đơn giản.
- Nền tảng: Trong khoa học máy tính hoặc công nghiệp phần mềm, nền tảng là một hệ thống mà 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ó hướng dẫn tích hợp cho bộ vi xử lý / bộ vi xử lý để thực hiện các hoạt động 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ở nơi bất kỳ ứng dụng nào có thể chạy và thực thi để đạt được một tác vụ cụ thể.
- Ví dụ về Nền tảng - Một máy cá nhân được tải Windows 2000 hoặc Mac OS X làm ví dụ về 2 nền tảng khác nhau.
- Cơ sở dữ liệu: Là 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 thông tin.
- Ví dụ về Cơ sở dữ liệu - Cơ sở dữ liệu MySQL, SQL Server và Oracle là một số Db phổ biến.
Các loại kiến trúc N-Tier
Có nhiều loại Kiến trúc N-Tier khác nhau, như Kiến trúc 3 bậc, Kiến trúc 2 bậc và Kiến trúc 1- Bậc.
Đầu tiên, chúng ta sẽ thấy Kiến trúc 3 tầng, điều này rất quan trọng.
Kiến trúc 3 tầng
Bằng cách 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 kinh doanh
- Lớp cơ sở dữ liệu
Ở đây chúng tôi đã lấy một ví dụ đơn giản về dạng sinh viên để hiểu cả ba lớp này. Nó có thông tin về một sinh viên như - Tên, Địa chỉ, Email và Hình ả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 layerclsStudent objproperty=new clsStudent();// Object of the business layerclsStudentInfo objbs=new clsStudentInfo();// Object of the dataset in which we receive the data sent by the business layerDataSet ds=new DataSet();// here we are placing the value in the property using the object of the//property layerobjproperty.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();
Giải thích mã
- Đoạn mã trên xác định thiết kế cơ bản của giao diện người dùng của các ứng dụng cũng như gọi các chức năng 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ụ hoạt động như một giao diện giữa lớp Khách hàng 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 dưới lớp logic nghiệp vụ.
- Nó giúp giao tiếp nhanh hơn và dễ dàng hơn giữa máy khách và lớp dữ liệu
- 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 functionreturn ds;}}
Giải thích mã
Mã đang sử dụng chức năng của lớp nghiệp vụ, sẽ chấp nhận dữ liệu cho lớp ứng dụng và chuyển nó cho lớp dữ liệu. Các mã lớp nghiệp vụ hoạt động như một trung gian giữa các chức năng được xác định trong lớp trình bày và lớp dữ liệu và gọi các chức năng là vice -versa.
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 databasepublic class clsStudentData // Data layer class{// object of property layer classpublic 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 operationds=objdt.ExecuteSql(sql);return ds;}}
Giải thích mã
Đoạn mã định nghĩa trong lớp tập dữ liệu ở trên chấp nhận toàn bộ yêu cầu: được yêu cầu bởi hệ thống và thực hiện các hoạt động cần thiết vào cơ sở dữ liệu.
Kiến trúc 2 tầng:
Nó giống như kiến trúc Client-Server, nơi giao tiếp diễn ra giữa máy khách và máy chủ.
Trong kiểu kiến trúc phần mềm này, lớp trình bày hoặc lớp giao diện người dùng chạy ở phía máy khách trong khi lớp tậ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ụ hoặc lớp ngay lập tức giữa máy khách và máy chủ.
Kiến trúc một tầng hoặc 1 tầng:
Đây là cách đơ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 bắt buộc để một ứng dụng chạy đều nằm trên một ứng dụng hoặc một máy chủ.
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 duy nhất.
Ưu điểm và nhược điểm của kiến trúc nhiều tầng
Ưu điểm |
Nhược điểm |
|
|
|
|
| |
| |
| |
|
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ụ hoàn chỉnh.
Mẹo và phát triển kiến trúc N-Tier
Xem xét các chuyên gia phần mềm phải có toàn quyền kiểm soát tất cả các lớp của kiến trúc, các mẹo về kiến trúc n-tier được đưa ra như dưới đây
- Cố gắng tách các lớp khỏi một lớp khác càng nhiều càng tốt bằng cách sử dụng một kỹ thuật như Xà phòng XML.
- Sử dụng một số công cụ tự động để tạo ánh xạ 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 các kỹ thuật ánh xạ này là - Entity Framework và Hibernate cho .Net, v.v.
- Trong lớp trình diễn khách, hãy đặt một mã chung cho tất cả các máy khách trong 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 khách hàng.
- Một lớp bộ nhớ cache có thể được thêm vào một lớp hiện có để tăng tốc hiệu suất.
Tóm lược:
Kiến trúc N-tier giúp quản lý tất cả các thành phần (lớp nghiệp vụ, lớp trình bày và lớp cơ sở dữ liệu) của một ứng dụng dưới một mái nhà.
Các ứng dụng sử dụng một số lượng nhỏ người dùng trên mạng cục bộ có thể được hưởng lợi từ kiến trúc n-tier.
Thiết kế kiến trúc như vậy đảm bảo duy trì, mở rộng quy mô và triển khai một ứng dụng trên Internet một cách hiệu quả.