EXAMPLE ile N Katmanlı (Çok Katmanlı), 3 Katmanlı, 2 Katmanlı Mimari

İçindekiler:

Anonim

N-Katman nedir?

Bir N-katmanı uygulama programı, dağıtılmış ağ içinde üç ya da daha fazla ayrı bilgisayar arasında dağıtılır biridir.

N-katmanın en yaygın biçimi 3-katmanlı Uygulamadır ve üç kategoriye ayrılmıştı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 bilgisayardaki gerekli veriler.

Bu mimari modeli, Yazılım Geliştiricilerin maksimum esneklikle Yeniden kullanılabilir uygulamalar / sistemler oluşturmasını sağlar.

Olarak N-katmanlı, "N", - gibi kullanılmaktadır katman veya katmanların sayısı anlamına gelir; 2-katmanlı, 3-bağlayıcı ile ya da 4-katmanlı, vb . Aynı zamanda " Çok Katmanlı Mimari" olarak da adlandırılır .

N katmanlı mimari , endüstride kanıtlanmış bir yazılım mimarisi modelidir. Ölçeklenebilirlik, güvenlik, hata toleransı, yeniden kullanılabilirlik ve bakım kolaylığı konularında çözümler 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.

Bu eğitimde öğreneceksiniz-

  • N-Katman nedir?
  • N-Katmanlı Mimari
  • N-Katmanlı Mimari Türleri
    • 3 Katmanlı Mimari
    • 2 Katmanlı Mimari
    • Tek Katmanlı veya 1 Katmanlı Mimari
  • Çok Katmanlı Mimarilerin Avantajları ve Dezavantajları
  • N-Katmanlı Mimari İpuçları ve Geliştirme

N-Katmanlı Mimari

Burada n katmanlı bir sistemin diyagramatik temsili - sunum, uygulama ve veritabanı katmanları - tasvir edilmektedir.

N Katmanlı Mimari Şeması

Bu üç katman, gereksinimlere bağlı olarak farklı alt katmanlara ayrılabilir.

Bu mimariyi uygulayan popüler sitelerden bazıları

  • MakeMyTrip.com
  • Sales Force kurumsal uygulaması
  • Hindistan Demiryolları - IRCTC
  • Amazon.com vb.

Kavramı daha net anlamak için hatırlanması gereken bazı ortak terimler.

  • Dağıtılmış Ağ: Ağ bilgisayarlarında bulunan bileşenlerin eylemlerini yalnızca mesaj ileterek koordine ettiği ve ilettiği bir ağ mimarisidir. Farklı düğümlerde bulunan, ancak kullanıcıya tek bir sistem olarak görünen çoklu sistemlerin bir koleksiyonudur.
    • Farklı ağlar tarafından ayrı ayrı yönetilebilen tek bir veri iletişim ağı sağlar.
    • Farklı istemcilerin bir tarafta LAN mimarisi içinde ve diğer tarafta servis düğümleri içeren bir raf sunucu ile birlikte yüksek hızlı anahtarlara bağlandığı bir Dağıtılmış Ağ örneği.
  • İstemci-Sunucu Mimarisi: İstemcinin (bir programın) bir sunucudan (başka bir program) hizmet talep ettiği mimari modeldir, yani internet veya intranet üzerinden sağlanan bir istek-yanıt hizmetidir.

    Bu modelde, Müşteri , ağ üzerinden bir dizi eylemi gerçekleştiren bir program / kod seti olarak hizmet edecektir. İken Sunucusu , diğer taraftan, istendiği gibi istemci sistemine sonuç kümelerini gönderir başka bir program, bir dizi.

    • Bunda, istemci bilgisayar bir son kullanıcıya bir sunucudan bir hizmet veya kaynak talep etmesi için bir arayüz sağlar ve diğer yandan sunucu daha sonra talebi işler ve sonucu son kullanıcıya gösterir.
    • İstemci-Sunucu Modeli örneği - bir ATM makinesi. Bir banka, uygulamanın büyük müşteri veritabanları içinde işlenmesi için sunucudur ve ATM makinesi, bazı basit uygulama işlemleriyle bir kullanıcı arayüzüne sahip olan istemcidir.
  • Platform: Bilgisayar bilimi veya yazılım endüstrisinde, platform, uygulama programının çalışabileceği bir sistemdir. Bir işlemcinin / mikroişlemcinin belirli işlemleri gerçekleştirmesi için yerleşik bir talimat içeren bir donanım ve yazılım kombinasyonundan oluşur.
    • Daha basit bir deyişle, platform, belirli bir görevi elde etmek için herhangi bir uygulamanın çalışabileceği ve yürütülebileceği bir sistem veya temeldir.
    • Bir Platform örneği - 2 farklı platforma örnek olarak Windows 2000 veya Mac OS X ile yüklenmiş kişisel bir makine.
  • Veritabanı: Kolayca erişilebilmesi, yönetilebilmesi ve güncellenebilmesi için organize bir şekilde bilgi koleksiyonudur.
    • Veritabanı Örnekleri - MySQL, SQL Server ve Oracle Veritabanı bazı yaygın veritabanlardır.

N-Katmanlı Mimari Türleri

3 Katmanlı Mimari, 2 Katmanlı Mimari ve 1 Katmanlı Mimari gibi farklı N Katmanlı Mimari türleri vardır .

Öncelikle çok önemli olan 3 katmanlı Mimariyi göreceğiz.

3 Katmanlı Mimari

Aşağıdaki şemaya bakarak, 3 katmanlı mimarinin üç farklı katmana sahip olduğunu kolayca anlayabilirsiniz .

  • Sunum katmanı
  • İş Mantığı katmanı
  • Veritabanı katmanı

3 Katmanlı Mimari Şeması

Burada, tüm bu üç katmanı anlamak için basit bir öğrenci formu örneği aldık. Ad, Adres, E-posta ve Resim gibi bir öğrenci hakkında bilgiler içerir.

Kullanıcı Arayüzü Katmanı veya Sunum Katmanı

Sunum Katmanı

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();

Kod Açıklama

  • Yukarıdaki kod, uygulamaların bir ön uç görünümünün temel tasarımını ve diğer katmanların işlevlerinin birbirleriyle entegre edilebilmeleri için çağrılmasını tanımlar.

İşletme Erişim Katmanı -

Bu, uygulama katmanından gelen verileri kabul eden ve veri katmanına ileten 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ı altında yazılır.
  • İstemci ve 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 functionreturn ds;}}

Kod açıklaması

Kod, uygulama katmanı için verileri kabul edecek ve veri katmanına iletecek olan iş katmanı 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şlevleri tersine çağırır.

Veri Erişim Katmanı

Bu, verileri iş katmanından alan ve gerekli işlemi veritabanına gerçekleştiren veri katmanı işlevidir.

// 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;}}

Kod açıklaması

Yukarıdaki veri kümesi katmanında tanımlanan kod, tüm talebi kabul eder: sistem tarafından talep edilir ve gerekli işlemleri veritabanında gerçekleştirir.

2 Katmanlı Mimari:

İstemci ve sunucu arasında iletişimin gerçekleştiği İstemci-Sunucu mimarisi gibidir.

Bu tür yazılım mimarisinde, sunum katmanı veya kullanıcı arabirimi katmanı istemci tarafında çalışırken, veri kümesi katmanı yürütülür ve sunucu tarafında depolanır.

İstemci ile sunucu arasında İş mantığı katmanı veya doğrudan katman yoktur.

Tek Katmanlı veya 1 Katmanlı Mimari:

Uygulamayı kişisel bilgisayarda çalıştırmaya eşdeğer olduğu için en basit olanıdır. Bir uygulamanın çalışması için gerekli tüm bileşenler tek bir uygulama veya sunucu üzerindedir.

Sunum katmanı, İş mantığı katmanı ve veri katmanının tümü tek bir makinede bulunur.

Çok Katmanlı Mimarilerin Avantajları ve Dezavantajları

Avantajlar

Dezavantajları

  • Ölçeklenebilirlik
  • Çaba Artışı
  • Veri bütünlüğü
  • Karmaşıklıkta Artış
  • Tekrar Kullanılabilirlik
  • Azaltılmış Dağıtım
  • Geliştirilmiş Güvenlik
  • Geliştirilmiş Kullanılabilirlik

Bu nedenle, gerçek dünyadaki iş sorunlarını şifreleyen ve tüm görevi 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ı Mimari İpuçları ve Geliştirme

Yazılım profesyonellerinin mimarinin tüm katmanları üzerinde tam bir kontrole sahip olması gerektiği düşünüldüğünde, n katmanlı mimari ile ilgili ipuçları aşağıda verilmiştir.

  1. Sabun XML gibi bir teknik kullanarak katmanları mümkün olduğunca başka bir katmandan ayırmaya çalışın.
  2. 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 .Net için Hibernate vb.
  3. İstemci sunum katmanında, mümkün olduğunca ayrı bir kitaplığa tüm istemciler için ortak bir kod yerleştirin. Bu, her tür istemci için kodun yeniden kullanılabilirliğini en üst düzeye çıkaracaktır.
  4. 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 alan ağında az sayıda kullanıcı kullanan uygulamalar, n katmanlı mimariden yararlanabilir.

Bu tür bir mimari tasarım, bir uygulamanın İnternet üzerinde verimli bir şekilde sürdürülmesini, ölçeklendirilmesini ve dağıtılmasını sağlar.