Cấp N(Nhiều tầng), 3 tầng, 2 tầng Archikiến trúc với VÍ DỤ
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 khả năng 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ố tầng hoặc lớp đang được sử dụng 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 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.
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 phổ biến đã á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 nhớ để hiểu khái niệm rõ ràng hơn.
- Mạng phân phối: Đây là một kiến trúc mạng, trong đó các thành phần nằm tại các máy tính mạng phối hợp và truyền đạt hành động của chúng chỉ bằng cách truyền thông điệp. Đây là một tập hợp nhiều hệ thống nằm tại 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 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á đỡ 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ô hình kiến trúc trong đó máy khách (một chương trình) yêu cầu dịch vụ từ máy chủ (một chương trình khác) tức là Đây là dịch vụ đáp ứng yêu cầu được cung cấp qua internet hoặc qua 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á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ủ 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– máy ATM. Ngân hàng là máy chủ để xử lý ứng dụng 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ố quy trình 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 trên đó. 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 để bộ 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 cơ sở nơi mọi ứng dụng có thể chạy và thực thi để đạt được 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 là một số Db 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 Archikiến trúc 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 tôi lấy một ví dụ đơn giản về biểu mẫu sinh viên để hiểu tất cả ba lớp này. Nó có thông tin về sinh viên 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();
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ư cách 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 Máy khách 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 việc liên lạc giữa máy khách và lớp dữ liệu nhanh hơn 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ã
Mã đang sử dụng chức năng của lớp nghiệp vụ, lớp này sẽ chấp nhận dữ liệu cho lớp ứng dụng và chuyển đến lớp dữ liệu. Mã lớp Kinh doanh đóng vai trò 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 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ã
Mã được xác định trong lớp tập dữ liệu ở trên chấp nhận toàn bộ yêu cầu: do hệ thống yêu cầu và thực hiện các thao tác cần thiết vào 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 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ủ.
Cấp đơn hoặc 1 cấp Archikiến trúc
Đâ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 cần thiết để một ứng dụng chạy đều nằm trên một ứng dụng hoặc 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.
Ưu điểm và nhược điểm của nhiều tầng Archikiến trúc
Ư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
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 tầng được đưa ra như sau
- Cố gắng tách các lớp khỏi lớp khác càng nhiều càng tốt bằng cách sử dụng kỹ thuật như XML xà phòng.
- 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 bày ứng dụng khách, hãy đặt một mã chung cho tất cả các ứng dụng 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 sử dụng lại mã cho tất cả các loại khách hàng.
- Lớp bộ đệm có thể được thêm vào lớp hiện có để tăng tốc hiệu suất.
Tổng kết
Kiến trúc N tầng 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 ứng dụng dưới một mái nhà.
Các ứng dụng sử dụng số lượng người dùng nhỏ trên mạng cục bộ có thể được hưởng lợi từ kiến trúc n tầng.
Thiết kế kiến trúc như vậy đảm bảo việc duy trì, mở rộng quy mô và triển khai ứng dụng trên Internet một cách hiệu quả.