Apa itu N-Tier?
Sebuah N-Tier Application Program adalah salah satu yang didistribusikan di antara tiga atau lebih yang terpisah komputer dalam jaringan terdistribusi.
Bentuk paling umum dari n-tier adalah Aplikasi 3-tier, dan diklasifikasikan menjadi tiga kategori.
- Pemrograman antarmuka pengguna di komputer pengguna
- Logika bisnis di komputer yang lebih terpusat, dan
- Data yang diperlukan di komputer yang mengelola database.
Model arsitektur ini menyediakan Pengembang Perangkat Lunak untuk membuat aplikasi / sistem yang dapat digunakan kembali dengan fleksibilitas maksimum.
Dalam N-tier, "N" mengacu pada sejumlah tingkatan atau lapisan yang digunakan seperti - 2-tingkat, 3-tingkat atau 4-tingkat, dll . Ini juga disebut " Arsitektur Multi-Tier" .
Arsitektur n-tier adalah model arsitektur perangkat lunak yang terbukti industri. Sangat cocok untuk mendukung aplikasi server-klien tingkat perusahaan dengan memberikan solusi untuk skalabilitas, keamanan, toleransi kesalahan, dapat digunakan kembali, dan pemeliharaan. Ini membantu pengembang untuk membuat aplikasi yang fleksibel dan dapat digunakan kembali.
Dalam tutorial ini, Anda akan belajar-
- Apa itu N-Tier?
- Arsitektur N-Tier
- Jenis Arsitektur N-Tier
- Arsitektur 3-Tier
- Arsitektur 2-Tingkat
- Arsitektur Tingkat Tunggal atau 1 Tingkat
- Keuntungan dan Kerugian Arsitektur Multi-Tier
- Kiat dan Pengembangan Arsitektur N-Tier
Arsitektur N-Tier
Representasi diagram dari sistem n-tier digambarkan di sini - lapisan presentasi, aplikasi, dan database.
Ketiga lapisan ini dapat dibagi lagi menjadi sub-lapisan yang berbeda tergantung pada kebutuhan.
Beberapa situs populer yang telah menerapkan arsitektur ini adalah
- MakeMyTrip.com
- Aplikasi perusahaan Sales Force
- Kereta Api India - IRCTC
- Amazon.com, dll.
Beberapa istilah umum yang perlu diingat, sehingga dapat memahami konsep dengan lebih jelas.
- Jaringan Terdistribusi: Ini adalah arsitektur jaringan, di mana komponen yang terletak di komputer jaringan berkoordinasi dan mengkomunikasikan tindakan mereka hanya dengan meneruskan pesan. Ini adalah kumpulan dari beberapa sistem yang terletak di node yang berbeda tetapi tampak bagi pengguna sebagai satu sistem.
- Ini menyediakan jaringan komunikasi data tunggal yang dapat dikelola secara terpisah oleh jaringan yang berbeda.
- Contoh Jaringan Terdistribusi- di mana klien yang berbeda terhubung dalam arsitektur LAN di satu sisi dan di sisi lain mereka terhubung ke sakelar berkecepatan tinggi bersama dengan rak server yang berisi node layanan.
- Arsitektur Klien-Server: Ini adalah model arsitektur di mana klien (satu program) meminta layanan dari server (program lain), yaitu layanan respons permintaan yang disediakan melalui internet atau melalui intranet.
Dalam model ini, Klien akan berfungsi sebagai satu set program / kode yang mengeksekusi serangkaian tindakan melalui jaringan. Sedangkan Server , di sisi lain, adalah sekumpulan program lain, yang mengirimkan set hasil ke sistem klien seperti yang diminta.
- Dalam hal ini, komputer klien menyediakan antarmuka ke pengguna akhir untuk meminta layanan atau sumber daya dari server dan di sisi lain server kemudian memproses permintaan tersebut dan menampilkan hasilnya kepada pengguna akhir.
- Contoh Model Client-Server- mesin ATM. Bank adalah server untuk memproses aplikasi dalam database pelanggan yang besar dan mesin ATM adalah klien yang memiliki antarmuka pengguna dengan beberapa pemrosesan aplikasi sederhana.
- Platform: Dalam ilmu komputer atau industri perangkat lunak, platform adalah sistem tempat program aplikasi dapat berjalan. Ini terdiri dari kombinasi perangkat keras dan perangkat lunak yang memiliki instruksi bawaan untuk prosesor / mikroprosesor untuk melakukan operasi tertentu.
- Dengan kata yang lebih sederhana, platform adalah sistem atau basis di mana aplikasi apa pun dapat dijalankan dan dijalankan untuk mendapatkan tugas tertentu.
- Contoh Platform - Mesin pribadi yang dimuat dengan Windows 2000 atau Mac OS X sebagai contoh dari 2 platform berbeda.
- Basis data: Merupakan kumpulan informasi dengan cara yang terorganisir sehingga dapat dengan mudah diakses, dikelola dan diperbarui.
- Contoh Database - MySQL, SQL Server, dan Oracle Database adalah beberapa Db yang umum.
Jenis Arsitektur N-Tier
Ada berbagai jenis Arsitektur N-Tier, seperti Arsitektur 3-tier, Arsitektur 2-Tier dan Arsitektur 1- Tier.
Pertama, kita akan melihat Arsitektur 3-tier, yang sangat penting.
Arsitektur 3-Tier
Dengan melihat diagram di bawah ini, Anda dapat dengan mudah mengidentifikasi bahwa arsitektur 3-tier memiliki tiga lapisan yang berbeda.
- Lapisan presentasi
- Lapisan Logika Bisnis
- Lapisan database
Di sini kami telah mengambil contoh sederhana dari bentuk siswa untuk memahami ketiga lapisan ini. Ini memiliki informasi tentang siswa seperti - Nama, Alamat, Email, dan Gambar.
Lapisan Antarmuka Pengguna atau Lapisan Presentasi
Lapisan Presentasi
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();
Penjelasan Kode
- Kode di atas mendefinisikan desain dasar tampilan ujung depan aplikasi serta memanggil fungsi lapisan lain sehingga dapat diintegrasikan satu sama lain.
Lapisan Akses Bisnis -
Ini adalah fungsi dari lapisan bisnis yang menerima data dari lapisan aplikasi dan meneruskannya ke lapisan data.
- Logika bisnis bertindak sebagai antarmuka antara lapisan Klien dan Lapisan Akses Data
- Semua logika bisnis - seperti validasi data, perhitungan, penyisipan / modifikasi data, ditulis di bawah lapisan logika bisnis.
- Itu membuat komunikasi lebih cepat dan lebih mudah antara klien dan lapisan data
- Mendefinisikan aktivitas alur kerja yang tepat yang diperlukan untuk menyelesaikan tugas.
// 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;}}
Penjelasan kode
Kode tersebut menggunakan fungsi lapisan bisnis, yang akan menerima data untuk lapisan aplikasi dan meneruskannya ke lapisan data. Kode lapisan Bisnis bertindak sebagai mediator antara fungsi yang ditentukan dalam lapisan presentasi dan lapisan data dan memanggil fungsi vice -versa.
Lapisan Akses Data
Ini adalah fungsi lapisan data, yang menerima data dari lapisan bisnis dan melakukan operasi yang diperlukan ke dalam database.
// 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;}}
Penjelasan kode
Kode yang ditentukan dalam lapisan dataset di atas menerima seluruh permintaan: diminta oleh sistem dan melakukan operasi yang diperlukan ke dalam database.
Arsitektur 2-Tingkat:
Ini seperti arsitektur Client-Server, di mana komunikasi terjadi antara klien dan server.
Dalam jenis arsitektur perangkat lunak ini, lapisan presentasi atau lapisan antarmuka pengguna berjalan di sisi klien sementara lapisan dataset dijalankan dan disimpan di sisi server.
Tidak ada lapisan logika Bisnis atau lapisan langsung di antara klien dan server.
Arsitektur Tingkat Tunggal atau 1 Tingkat:
Ini adalah yang paling sederhana karena setara dengan menjalankan aplikasi di komputer pribadi. Semua komponen yang diperlukan untuk menjalankan aplikasi berada di satu aplikasi atau server.
Lapisan presentasi, lapisan logika bisnis, dan lapisan data semuanya berada di satu mesin.
Keuntungan dan Kerugian Arsitektur Multi-Tier
Keuntungan |
Kekurangan |
|
|
|
|
| |
| |
| |
|
Karenanya, ini adalah bagian dari program yang mengenkripsi masalah bisnis dunia nyata dan menentukan bagaimana data dapat diperbarui, dibuat, disimpan, atau diubah untuk menyelesaikan tugas secara lengkap.
Kiat dan Pengembangan Arsitektur N-Tier
Mengingat para profesional perangkat lunak harus memiliki kendali penuh atas semua lapisan arsitektur, tips arsitektur n-tier diberikan seperti di bawah ini
- Cobalah untuk memisahkan lapisan dari lapisan lain sebanyak mungkin dengan menggunakan teknik seperti sabun XML.
- Gunakan beberapa alat otomatis untuk menghasilkan pemetaan antara lapisan logika bisnis dan lapisan database relasional (lapisan data). Alat yang dapat membantu dalam memodelkan teknik pemetaan ini adalah - Entity Framework dan Hibernate for .Net dll.
- Di lapisan penyaji klien, letakkan kode umum untuk semua klien di pustaka terpisah sebanyak mungkin. Ini akan memaksimalkan penggunaan kembali kode untuk semua jenis klien.
- Lapisan cache dapat ditambahkan ke lapisan yang ada untuk mempercepat kinerja.
Ringkasan:
Arsitektur N-tier membantu mengelola semua komponen (lapisan bisnis, lapisan presentasi, dan lapisan database) aplikasi di bawah satu atap.
Aplikasi yang menggunakan sejumlah kecil pengguna di jaringan area lokal dapat memanfaatkan arsitektur n-tier.
Desain arsitektur seperti itu memastikan pemeliharaan, peningkatan, dan penerapan aplikasi di Internet secara efisien.