N katmanlı mimari nedir?
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 sayede uygulamanın bileşenleri modüler hale geliyor ve uygulamayı daha kolay bir şekilde koruyabiliyoruz. Uygulamayı her sorumluluk için iyileştirebilirsiniz. Web isteklerini işleyen mantıksal katman, ana görevi olan web isteklerini işlemeye odaklanır. Veri depolama veya iş mantığı çalıştırma adımlarına katkıda bulunmasına gerek yoktur. Diğer taraftan veri erişim mantıksal katmanı, veri deposu iletişimini iyileştirme üzerine odaklanır ve verilerin kullanıcılara nasıl gösterildiği konusuyla ilgilenmez. 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.
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.
- Başarısız kaynakları algılamak için yük dengeleme ekleyen ve istekleri iyi olan sistemlere yönlendiren uygulama daha güçlü olabilir.
- Uygulama, katmanlar arasındaki ağ iletişimini kısıtlayan ve yalnızca gerekli erişime izin vererek daha güvenli olabilir.
Fiziksel katmanlar arasındaki iletişim yukarıdan aşağıya doğru gerçekleşmelidir. Her katmanın altındaki bir sonraki katmanla konuşmasına izin verilir, ancak genellikle katmanları atlamasına izin verilmez. Bu işlem bir fiziksel katmanın kullanıma sunulan yüzey alanını sınırlayarak güvenliğin artırılması amacıyla yapılır.
Üç 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, N katmanlı stilde en yaygın kullanılan modeldir ve bu modülün geri kalanında her biri tek bir mantıksal uygulama katmanı çalıştıran üç fiziksel katmanlı modelden bahsedecek ve her iki katman türü için de yalnızca katman terimini kullanacağız.
Sunum katmanı
Sunum katmanı genellikle kullanıcı isteklerini işler. Bunlar, bir web sayfasına erişen kullanıcılar veya açık bir API aracılığıyla uygulamanıza genel erişim olabilir. Bu katmanda odak kullanıcı deneyimine, sezgisel bir arabirim gibi şeyler sağlamaya ve son kullanıcı ile uygulamanız arasında güvenli iletişim sağlamaya odaklanır.
Bu katmanda, verilerin kullanıcıya nasıl sun olduğu dışında verilerin kendisiyle kaygılanmaznız. 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 sunlandığıyla veya verilerin nasıl depolandığı ve alınarak ilgili değildir. Burada odak, uygulamanın aldığı isteği gerçekleştirmek için gerekli olan iş mantığı üzerindedir.
Veri katmanı
Bu katmanda odak veri depolamaya odaklanı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 sunulma şekliyle veya veriler üzerinde çalıştırılan mantıkla ilgilenmez. Saklı yordam kullanımı bu katmana dahil edilebilir ancak verilerle ilgili mantıksal işlemlerin çoğunun üst katmanlarda gerçekleştirilmesi gerekir.
N katmanlı mimarilerin kullanım alanları
N katmanlı mimarinin ne olduğu hakkında konuştuk. Şimdi de bu stilde bir mimariyi ne zaman kullanabileceğiniz açık bakalım. Aşağıdakiler için N katmanlı mimariyi kullanmayı deneyebilirsiniz:
- Küçük ile orta ölçekli web uygulamaları
- Şirket içi bir uygulamayı, mümkün olduğunca az yeniden düzenleme gereksinimiyle Azure’a geçirme
- Becerileri ve geliştirici özelliklerini şirket içi geliştirme deneyimiyle birlikte 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. Bunlar genel uygulamalar veya bir kuruluş tarafından dahili olarak kullanılan iş hattı 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 başladıktan sonra, uygulamalarınızı daha da geliştirmek için hizmet olarak platform (PaaS) hizmetlerinden faydalanabilirsiniz.
Bu yaygın bir mimari stili olduğundan mühendisler genellikle daha yüksek düzeyde deneyime ve deneyime sahiptir. Bu mimariyi seçerek, yeni mimari desenlerini kullanmaya gerek kalmadan uygulamaları dağıtmak için mevcut beceri kümelerini kullanabilirsiniz.
Bilginizi ölçün
Yardıma mı ihtiyacınız var? Sorun giderme kılavuzumuza gözatın veya sorun bildirerek belirli bir konuda geri bildiriminizi paylaşın.