N Katmanlı (Çok Katmanlı), 3 Katmanlı, 2 Katmanlı ArchiEXAMPLE ile doku
⚡ Akıllı Özet
N-katmanlı mimari, diğer adıyla çok katmanlı mimari, bir uygulamayı sunum, iş mantığı ve veri gibi üç veya daha fazla ayrı katmana dağıtır. Bu model, kurumsal düzeydeki istemci-sunucu uygulamaları için ölçeklenebilirliği, güvenliği ve yeniden kullanılabilirliği artırır.

N-Katmanı nedir?
An N Katmanlı Uygulama program, dağıtılmış bir ağdaki üç veya daha fazla ayrı bilgisayar arasında dağıtılan bir programdır.
N-katmanın en yaygın biçimi 3-katmanlı Uygulamadır ve üç kategoriye ayrılır.
- Kullanıcının bilgisayarında kullanıcı arayüzü programlama
- Daha merkezi bir bilgisayarda iş mantığı ve
- Bir veritabanını yöneten bir bilgisayarda gerekli veriler.
Bu mimari model, yazılım geliştiricilerine maksimum esneklikle yeniden kullanılabilir uygulamalar/sistemler oluşturma olanağı sunar.
In N katmanlı, “N” Kullanılan katman veya seviye sayısını ifade eder, örneğin – 2 katmanlı, 3 katmanlı veya 4 katmanlı vb.. Aynı zamanda “Çok Katmanlı Archidoku".
n-katmanlı mimari Sektörde kendini kanıtlamış bir yazılım mimarisi modelidir. Ölçeklenebilirlik, güvenlik, hata toleransı, yeniden kullanılabilirlik ve sürdürülebilirlik çözümleri sunarak kurumsal düzeydeki istemci-sunucu uygulamalarını desteklemek için uygundur. Geliştiricilerin esnek ve yeniden kullanılabilir uygulamalar oluşturmasına yardımcı olur.
N Katmanlı Archidoku
Burada çok katmanlı bir sistemin diyagramatik temsili sunum, uygulama ve veritabanı katmanlarını göstermektedir.

Bu üç katman, gereksinimlere bağlı olarak farklı alt katmanlara da bölünebilir.
Bu mimariyi uygulayan popüler sitelerden bazıları şunlardır:
- MakeMyTrip.com
- Satış Gücü kurumsal uygulaması
- Hindistan Demiryolları - IRCTC
- Amazon.com vb.
Kavramı daha net anlamak için hatırlanması gereken bazı yaygın terimler şunlardır:
- Dağıtılmış Ağ: Ağ mimarisi, ağ bilgisayarlarında bulunan bileşenlerin eylemlerini yalnızca mesaj alışverişi yoluyla koordine edip iletişim kurduğu bir yapıdır. Farklı düğümlerde yer alan birden fazla sistemin bir araya gelmesinden oluşur, ancak kullanıcıya tek bir sistem gibi görünür.
- Farklı ağlar tarafından ayrı ayrı yönetilebilen tek bir veri iletişim ağı sağlar.
- Dağıtılmış Ağlara bir örnek olarak, farklı istemcilerin bir tarafta LAN mimarisi içinde birbirine bağlı olduğu, diğer tarafta ise servis düğümlerini içeren bir sunucu rafı ile birlikte yüksek hızlı anahtarlara bağlı olduğu bir yapı gösterilebilir.
- Müşteri sunucusu Archidoku: Bu, istemcinin (bir programın) sunucudan (başka bir program) bir hizmet talep ettiği bir mimari modelidir. yani İnternet üzerinden veya intranet aracılığıyla sağlanan bir istek-yanıt hizmetidir. Bu modelde, Müşteri ağ üzerinde bir dizi eylemi yürüten bir program/kod kümesi olarak hizmet edecektir. Sırasında sunucu, ise sonuç kümelerini istenildiği gibi istemci sistemine gönderen başka bir program kümesidir.
- Bu sistemde, istemci bilgisayar son kullanıcının sunucudan bir hizmet veya kaynak talep etmesi için bir arayüz sağlar; sunucu ise bu talebi işler ve sonucu son kullanıcıya gösterir.
- İstemci-Sunucu Modeline bir örnek – bir ATM makinesi. Banka, büyük müşteri veritabanları içindeki uygulamaları işleyen sunucudur ve ATM makinesi, bazı basit uygulama işlemlerini gerçekleştiren bir kullanıcı arayüzüne sahip istemcidir.
- Platform: Bilgisayar biliminde veya yazılım endüstrisinde, platform, bir uygulama programının çalışabileceği bir sistemdir. Belirli işlemleri gerçekleştirmek için bir işlemci/mikroişlemciye yönelik yerleşik talimatlar içeren donanım ve yazılım kombinasyonundan oluşur.
- Daha basit bir ifadeyle, platform, herhangi bir uygulamanın belirli bir görevi yerine getirmek için çalışabileceği ve yürütülebileceği bir sistem veya temeldir.
- Platforma bir örnek – Yüklü kişisel bir makine Windows 2000 farklı platforma örnek olarak 2 veya Mac OS X.
- Veri tabanı: Kolayca erişilebilecek, yönetilebilecek ve güncellenebilecek şekilde organize edilmiş bir bilgi topluluğudur.
- Veritabanı Örnekleri – MySQL, SQL Sunucu ve Oracle Database Bunlar bazı yaygın veritabanlarıdır.
N Katmanı Türleri Archidokular
Farklı N-Katmanlı türleri vardır Archigibi dokular 3 katmanlı Archidoku, 2 Katmanlı Archimimari ve 1 Katmanlı Archidoku.
İlk önce 3 katmanlı göreceğiz ArchiBu çok önemli.
3 Katmanlı Archidoku
Aşağıdaki şemaya bakarak bunu kolayca tanımlayabilirsiniz. 3 katmanlı mimari üç farklı katmana sahiptir.
- Sunum katmanı
- İş Mantığı katmanı
- Veritabanı katmanı

Burada, bu üç katmanı anlamak için basit bir öğrenci formu örneği kullandık. Formda öğrenciyle ilgili şu bilgiler yer alıyor: İsim, Adres, E-posta ve Fotoğraf.
Kullanıcı Arayüzü Katmanı veya Sunum Katmanı
Sunum Katmanı
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 açıklama
- Yukarıdaki kod, uygulamaların ön uç görünümünün temel tasarımını ve diğer katmanların işlevlerinin çağrılmasını tanımlayarak bunların birbirleriyle entegre olmasını sağlar.
İş Erişim Katmanı –
Bu, uygulama katmanından veriyi alıp veri katmanına aktaran iş katmanının işlevidir.
- İş mantığı, istemci katmanı ile veri erişim katmanı arasında bir arayüz görevi görür.
- Veri doğrulama, hesaplamalar, veri ekleme/değiştirme gibi tüm iş mantığı, iş mantığı katmanı altında yazılır.
- Bu, istemci ve veri katmanı arasındaki iletişimi daha hızlı ve kolay hale getirir.
- Bir görevi tamamlamak için gerekli olan uygun bir iş akışı etkinliğini tanımlar.
// 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; } }
Kodun açıklaması
Kod, uygulama katmanından veri alacak ve veri katmanına iletecek olan iş katmanının fonksiyonunu kullanmaktadır. İş katmanı kodları, sunum katmanında ve veri katmanında tanımlanan fonksiyonlar arasında aracı görevi görür ve fonksiyonları karşılıklı olarak çağırır.
Veri Erişim Katmanı
İş katmanından verileri alıp veritabanına gerekli işlemi gerçekleştiren veri katmanı fonksiyonudur.
// 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; } }
Kodun açıklaması
Yukarıdaki veri kümesi katmanında tanımlanan kod, sistem tarafından istenen tüm isteği kabul eder ve veritabanında gerekli işlemleri gerçekleştirir.
2 Katmanlı Archidoku
İstemci-Sunucu mimarisine benzer, iletişim istemci ve sunucu arasında gerçekleşir.
Bu tür yazılım mimarisinde, sunum katmanı veya kullanıcı arayüzü katmanı istemci tarafında çalışırken, veri kümesi katmanı sunucu tarafında yürütülür ve depolanır.
İstemci ve sunucu arasında iş mantığı katmanı veya ara katman bulunmamaktadır.
Tek Katmanlı veya 1 Katmanlı Archidoku
En basit yöntemdir, çünkü uygulamayı kişisel bir bilgisayarda çalıştırmaya eşdeğerdir. Bir uygulamanın çalışması için gerekli tüm bileşenler tek bir uygulama veya sunucuda bulunur.
Sunum katmanı, İş mantığı katmanı ve veri katmanının tümü tek bir makinede bulunur.
Çok Katmanlı Avantajları ve Dezavantajları Archidokular
Her tasarım tercihi gibi, çok katmanlı yaklaşım da aşağıda özetlenen bazı dezavantajlarının yanı sıra belirgin avantajlar da sunmaktadır.
| Avantajlar | Dezavantajlar |
|---|---|
| ölçeklenebilirlik | Çaba Artışı |
| Veri Integrity | Karmaşıklığın Artması |
| Reus yeteneği | |
| Azaltılmış Dağıtım | |
| Geliştirilmiş Güvenlik | |
| Geliştirilmiş Kullanılabilirlik |
Dolayısıyla, gerçek dünyadaki iş sorunlarını şifreleyen ve görevin tamamını tamamlamak için verilerin nasıl güncellenebileceğini, oluşturulabileceğini, saklanabileceğini veya değiştirilebileceğini belirleyen bir programın parçasıdır.
N Katmanlı Architecture İpuçları ve Geliştirme
Yazılım uzmanlarının mimarinin tüm katmanları üzerinde tam kontrol sahibi olması gerektiği göz önüne alındığında, n-katmanlı mimariye ilişkin ipuçları aşağıda verilmiştir:
- SOAP XML gibi bir teknik kullanarak katmanları birbirinden olabildiğince ayırmaya çalışın.
- Harita oluşturmak için bazı otomatik araçlar kullanın.ping İş mantığı katmanı ile ilişkisel veritabanı katmanı (veri katmanı) arasında bir bağlantı kurulmasını sağlayan araçlar. Bu bağlantıların modellenmesinde yardımcı olabilecek araçlar mevcuttur.ping Kullanılan teknikler arasında .Net için Entity Framework ve Hibernate gibi örnekler yer almaktadır.
- İstemci sunucu katmanında, tüm istemciler için ortak kodu mümkün olduğunca ayrı bir kütüphaneye yerleştirin. Bu, tüm istemci türleri için kodun yeniden kullanılabilirliğini en üst düzeye çıkaracaktır.
- Performansı hızlandırmak için mevcut bir katmana bir önbellek katmanı eklenebilir.

