N Katmanlı (Çok Katmanlı), 3 Katmanlı, 2 Katmanlı ArchiEXAMPLE ile doku
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 modeli, Yazılım Geliştiricilerinin maksimum esneklikle Yeniden Kullanılabilir uygulama/sistemler oluşturmasını sağlar.
In N katmanlı, “N” aşağıdaki gibi kullanılan bir dizi katmanı veya katmanı ifade eder: 2 katmanlı, 3 katmanlı veya 4 katmanlı vb.. Aynı zamanda “Çok Katmanlı Archidoku”.
n-katmanlı mimari endüstri tarafından kanıtlanmış 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üzeyde 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.
Konsepti daha net anlamak için hatırlanması gereken bazı genel terimler.
- Dağıtılmış Ağ: Ağ bilgisayarlarında bulunan bileşenlerin eylemlerini yalnızca iletiler geçirerek koordine ettiği ve ilettiği bir ağ mimarisidir. Farklı düğümlerde bulunan ancak kullanıcıya tek bir sistem olarak görünen birden fazla sistemin bir koleksiyonudur.
- Farklı ağlar tarafından ayrı ayrı yönetilebilen tek bir veri iletişim ağı sağlar.
- Dağıtılmış Ağ'ın bir örneği - farklı istemciler bir tarafta LAN mimarisi içinde bağlanırken, diğer tarafta servis düğümleri içeren bir sunucu rafıyla birlikte yüksek hızlı anahtarlara bağlanırlar.
- Müşteri sunucusu Archidoku: İstemcinin (bir program) bir sunucudan (başka bir program) bir hizmet talep ettiği bir mimari modeldir. yani İnternet üzerinden veya intranet üzerinden sağlanan istek-cevap 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.
- Bunda istemci bilgisayar, bir son kullanıcıya bir sunucudan bir hizmet veya kaynak talep etmek için bir arayüz sağlar ve diğer taraftan sunucu, isteği işler ve sonucu son kullanıcıya görüntüler.
- İstemci-Sunucu Modeline bir örnek – bir ATM makinesi. Bir banka, büyük müşteri veritabanları içindeki uygulamayı işleyen sunucudur ve ATM makinesi, bazı basit uygulama işlemlerine sahip bir kullanıcı arayüzüne sahip olan istemcidir.
- Platform: Bilgisayar bilimi veya yazılım endüstrisinde platform, uygulama programlarının üzerinde çalışabileceği bir sistemdir. İşlemcilerin/mikroişlemcilerin belirli işlemleri gerçekleştirmesi için 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 elde etmek için çalıştırılabileceği ve yürütülebileceği bir sistem veya tabandır.
- 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 bazı yaygın Db'lerdir.
N Katmanı Türleri Archidokular
Farklı N-Katmanlı türleri vardır Archigibi dokular 3 katmanlı Archidoku, 2 Katmanlı Archidoku 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 tüm bu üç katmanı anlamak için öğrenci formunun basit bir örneğini aldık. Bir öğrenci hakkında İsim, Adres, E-posta ve Resim gibi bilgiler içeriyor.
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();
Kod Açıklama
- Yukarıdaki kod, uygulamaların ön uç görünümünün temel tasarımını ve ayrıca diğer katmanların işlevlerinin birbirleriyle entegre olabilmeleri için çağrılmasını tanımlar.
İş Erişim Katmanı –
Bu, uygulama katmanından veriyi alıp veri katmanına aktaran iş katmanının işlevidir.
- İş mantığı, İstemci katmanı ile Veri Erişim Katmanı arasında bir arayüz görevi görür
- Verilerin doğrulanması, hesaplamalar, veri ekleme/değiştirme gibi tüm iş mantığı, iş mantığı katmanının altına yazılır.
- İstemci ile veri katmanı arasındaki iletişimi daha hızlı ve daha 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ı için verileri kabul edecek ve veri katmanına iletecek olan iş katmanının işlevini kullanıyor. İş katmanı kodları, sunum katmanında ve veri katmanında tanımlanan işlevler arasında aracı görevi görür ve işlevlerin tersini ç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 isteğin tamamını kabul eder ve veritabanına 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 mimarilerinde sunum katmanı veya kullanıcı arayüzü katmanı istemci tarafında çalışırken, veri kümesi katmanı sunucu tarafında çalıştırılır ve saklanır.
İstemci ile sunucu arasında İş mantığı katmanı veya anlık katman yoktur.
Tek Katmanlı veya 1 Katmanlı Archidoku
Uygulamayı kişisel bilgisayarda çalıştırmaya eşdeğer olduğundan en basit olanıdır. Bir uygulamanın çalışması için gerekli bileşenlerin tümü tek bir uygulama veya sunucu üzerindedir.
Sunum katmanı, İş mantığı katmanı ve veri katmanının tümü tek bir makinede bulunur.
Çok Katmanlı Avantajları ve Dezavantajları Archidokular
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 profesyonellerinin mimarinin tüm katmanları üzerinde tam kontrole sahip olması gerektiği düşünüldüğünde, n katmanlı mimariye ilişkin ipuçları aşağıda verilmiştir.
- Sabun XML gibi bir teknik kullanarak katmanları başka bir katmandan mümkün olduğunca ayırmaya çalışın.
- Bir iş mantığı katmanı ile ilişkisel veritabanı katmanı (veri katmanı) arasında bir eşleme oluşturmak için bazı otomatik araçları kullanın. Bu haritalama tekniklerinin modellenmesine yardımcı olabilecek araçlar şunlardır: Entity Framework ve Hibernate for .Net vb.
- İstemci sunucusu katmanında mümkün olduğunca tüm istemciler için ayrı bir kitaplıkta ortak bir kod koyun. 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.
ÖZET
N-katmanlı mimari, bir uygulamanın tüm bileşenlerini (iş katmanı, sunum katmanı ve veritabanı katmanı) tek bir çatı altında yönetmeye yardımcı olur.
Yerel ağ üzerinde az sayıda kullanıcı kullanan uygulamalar n-katmanlı mimariden faydalanabilir.
Bu tür mimari tasarım, bir uygulamanın İnternet üzerinde verimli bir şekilde sürdürülmesini, ölçeklenmesini ve dağıtılmasını sağlar.