N katmanlı mimari nedir?

Tamamlandı

N katmanlı bir mimari bir uygulamayı mantıksal katmanlara ve fiziksel katmanlara ayırır. N, uygulamanın ayrılmış olduğu fiziksel katman sayısını gösterir ve genellikle bu sayı ile mantıksal katman sayısı arasında bir ilişki olur. İki fiziksel katmanlı (istemci-sunucu) veya beş fiziksel katmanlı bir mimari oluşturabilirsiniz ancak en yaygın ve çoğu durumda en iyi yöntem, fiziksel katman sayısını dört ile sınırlandırmaktır.

Gelin şimdi mantıksal ve fiziksel katmanlara bir göz atalım.

Mantıksal katman nedir?

Mantıksal katmanlar, bir uygulamayı oluşturan uygulama kodunu mantıksal olarak ayırır. Her mantıksal katman kullanıcılardan gelen istekleri işleme, iş mantığını çalıştırma veya verileri depolama gibi belirli bir sorumluluğa sahiptir.

Bir uygulamayı mantıksal katmanlara ayırdığınızda her bir katmanı ayrıca ele alabilirsiniz. Bu ayrım, uygulamanın bileşenlerini modüler hale getirir ve uygulamanın bakımını daha kolay bir şekilde yapmamıza olanak tanır. Uygulamayı her sorumluluk için iyileştirebilirsiniz. Web isteklerini işleyen mantıksal katman, ana görevi olan web isteklerini işlemeye odaklanır. Verilerin depolanması veya iş mantığının çalıştırılmasıyla ilgili değildir. Buna karşılık, veri erişim katmanı veri deposuyla iletişimi iyileştirmeye odaklanır ve kullanıcıya verileri nasıl sunduğu hakkındaki ayrıntıları göz ardı eder. Odağın belirli özelliklerle sınırlandırılmasına görev ayrımı adı verilir.

Bu diyagramda yaygın kullanılan N katmanlı bir mimarideki mantıksal katmanlar gösterilmiştir. Her mantıksal katman, uygulamanın farklı bir aşamasından sorumludur. İş mantıksal katmanı, kullanıcı arabirimi mantıksal katmanı ile veri erişimi mantıksal katmanı arasındaki iletişimi yönetir.

Visualization of layers.

Fiziksel katman nedir?

Fiziksel katmanlar, uygulamanızın farklı işlem kaynakları üzerinde bulunan bölümleri arasındaki fiziksel ayrımı gösterir. Genellikle her fiziksel katman, uygulamanın bir mantıksal katmanını çalıştırır.

Mimarinin fiziksel katmanlar ayrılması birçok avantaj sağlar:

  • Fiziksel katmanlara kaynak ekleyerek uygulama bileşenlerini birbirinden bağımsız olarak ölçeklendirebilirsiniz.
  • Uygulama, başarısız kaynakları algılamak ve istekleri iyi durumdaki sistemlere yönlendirmek için yük dengeleme ekleyerek daha dayanıklı olabilir.
  • Uygulama, katmanlar arasındaki ağ iletişimini kısıtlayarak ve yalnızca gerekli erişime izin vererek daha güvenli olabilir.

Mimari, katmanlar arasındaki iletişimin yukarıdan aşağıya doğru olması gerektiğini belirtir. Her katman, altındaki bir sonraki katmanla konuşabilir, ancak genellikle katmanları atlamasına izin verilmez. Bu tasarım, katmanın kullanıma sunulan yüzey alanını sınırlayarak güvenliği artırır.

Visualization of tiers.

Üç katmanlı mimari

N katmanlı mimariler arasında en çok kullanılan üç katmanlı mimaridir. Mantıksal ve fiziksel katmanların sorumlulukları ve adları uygulamaya ve işe göre farklılık gösterebilir ancak üç katmanlı bir uygulamada genellikle şu katmanlar bulunur: sunum katmanı, uygulama katmanı veya orta katman ve veri katmanı. Bu mimari en yaygın N katmanlı stildir. Bu modülün geri kalanında, her katmanı uygulamanın tek bir katmanını çalıştıran üç katmanlı bir modele başvuracak ve bunlara eş anlamlı olarak katman olarak başvuracağız.

Sunum katmanı

Sunum katmanı genellikle kullanıcı isteklerini işler. Bu istekler, bir web sayfasına erişen kullanıcılar veya kullanıma sunulan BIR API aracılığıyla uygulamanıza genel erişim olabilir. Bu katmanda odak, kullanıcı deneyimindedir. Sezgisel bir arabirim gibi şeyler sağlamak ve son kullanıcı ile uygulamanız arasında güvenli iletişim sağlamak.

Bu katmanda, kullanıcıya sunulma şekli dışında verilerin kendisiyle ilgilenmezsiniz. Genellikle bu katmanda veri işleme veya veri erişimi yoktur. Bu işlemler alt katmanların sorumluluğundadır.

Uygulama katmanı

Uygulama katmanı (genellikle ara katman olarak da adlandırılır) genellikle uygulamanın iş mantığının işlenmesine odaklanır. Müşteri siparişlerinin alınması, gönderi takibi veya alınan malzemelere göre stokların güncelleştirilmesi işlemleri bu katmanda gerçekleşir. Bu katman ayrıca veri katmanında gerçekleştirilen oluşturma, okuma, güncelleştirme ve silme (CRUD) işlemlerinden de sorumludur. Bu katman dış API'ler gibi bağımlı hizmetlere çağrı göndermek için de iyi bir noktadır.

Bu katman, bilgilerin kullanıcıya nasıl geri sunulduğundan veya verilerin nasıl depolandığı ve alındığıyla ilgilenmez. Burada odak, uygulamanın aldığı isteği gerçekleştirmek için gerekli olan iş mantığı üzerindedir.

Veri katmanı

Bu katmanda odak veri depolamadır. Verilerin tablolarda, dosyalarda veya diğer ortamlarda depolanması bu katmanın sorumluluğundadır. Bu katman, verilere erişmek için bir arabirim (T-SQL gibi) sunar. Üç katmanlı mimaride veri katmanı, uygulama katmanına veri erişimi sağlar.

Bu katman, verilerin kullanıcıya nasıl sunulduğuna veya verilerin etrafındaki herhangi bir mantığa odaklanmaz. Saklı yordamların kullanımı bu katmanda yer alabilir, ancak verilerle ilgili mantığın çoğu daha yüksek bir katmanda işlenmelidir.

N katmanlı mimarilerin kullanım alanları

N katmanlı mimarinin ne olduğundan bahsettiğimize göre bu stilde bir mimariyi ne zaman kullanacağınızı açıklayalım. Aşağıdakiler için N katmanlı mimariyi kullanmayı deneyebilirsiniz:

  • Küçük ve orta ölçekli web uygulamaları.
  • Şirket içi bir uygulamayı, mümkün olduğunca az yeniden düzenleme gereksinimiyle Azure’a geçirme.
  • Şirket içi geliştiricilerin becerilerini, özelliklerini ve deneyimini kullanma.

Bu stildeki mimarilerin kullanım örneği olarak web uygulamaları gösterilebilir. N katmanlı mimari stilinin karmaşık olmaması ve web uygulamalarındaki sorumluluklar arasında doğal bir ayrım oluşturması nedeniyle bu mimariden faydalanılabilir. Bu uygulamalar genel kullanıma yönelik veya kuruluş tarafından dahili olarak kullanılan iş kolu uygulamaları olabilir. Daha küçük veya daha az karmaşık uygulamalar için sunum ve uygulama katmanlarının birleştirildiği iki katmanlı (istemci/sunucu) mimarisi yeterli olabilir.

N katmanlı mimariler geleneksel şirket içi uygulamalarda yaygındır; bu nedenle, mevcut iş yüklerinin Azure’a geçirilmesine son derece uygun bir kullanımdır. Bu stildeki uygulamalar genellikle minimum yeniden düzenleme veya değişiklik sonrasında Azure'a geçirilir ve bu sayede ilk geçiş süreci kolaylaştırılır. Azure'a geçtikten sonra uygulamanızı daha da geliştirmek için hizmet olarak platform (PaaS) hizmetlerinden yararlanabilirsiniz.

Bu ortak bir mimari stili olduğundan mühendisler genellikle daha yüksek düzeyde deneyime ve bu stile aşinadır. Bu mimariyi seçtiğinizde yeni mimari desenlerine geçiş yapmadan mevcut becerileri kullanarak uygulamalarınızı dağıtabilirsiniz.

Bilgilerinizi kontrol edin

1.

İş ortağı API'siyle tümleştirmek için üç katmanlı bir uygulamayı güncelleştirmeniz gerekir. Bu işlevi hangi katmana eklemelisiniz?

2.

Kullanıcılara erişim izninin hangi mantıksal katmanda verilmesi uygun olur?