Yazılımda Katmanlı Mimari
Günümüzde gelişen teknoloji ile kullanıcılar tarafındaki isteklerin sayısı gitgide fazlalaşmaktadır. Bunun sonucunda, yazılımlar daha problemli bir hal almaktadır. İstenilen her bir fonksiyonellik yazılım projelerine implemente edilmesi anlamına gelir. Bu fonksiyonelliklerin çok fazla olduğunu düşünürsek yazılım projeleri de karmaşık bir hale geliyor. İşte bu karmaşık yapıyı yönetmek ve değişimi kolaylaştırmak adına projeler belirli bir standarda ve düzene ihtiyaç duyuyor.
İlginizi Çekebilir:Linux Komutları
Uygulamalarda veriye nasıl erişileceği, üstünde ne gibi uygulamalar yapılacağı ve kullanıcı tarafına ne şekilde sunum yapılacağı bir programcı için en önemli sorunlardır. Çok katmanlı mimari yaklaşım da bu karmaşık yapıyı sorumluluklara, fonksiyonelliklere, işlere ve görevlere göre birbirinden ayırarak daha basit ve yönetilebilir uygulamalar yapılmasını sağlar. Çünkü katmanlara ayrıştırılarak hazırlanmış programlarda her yapılan eylem ayrı ayrı tasarlanmıştır ve neyin nerede olduğu açıktır. Böylece müdahale edilmesi gereken durumlarda bu işlem kolayca ve zaman kaybetmeden yerine getirilir.
İhtiyaca göre daha fazla katmana ayrıştırılabilen katmanlı mimari 3 ayrı katmandan oluşmaktadır. Bunlar: Veri Katmanı (Data Layer), İş Katmanı (Business Layer) ve Sunum Katmanı (Presentation Layer) olarak sıralanabilir [1].
A. Veri Katmanı
Üç katmanlı mimaride en alt katman verinin veritabanından çekilmesi ve gelen verinin veritabanına eklenmesi işleminin yapıldığı veri katmanıdır (Data Layer)[1]. Bu katman sadece Veritabanına erişimi sağlamakla sorumludur[2]. Veri katmanı ile veritabanında hazırda bulunan veriler uygulamaya çekilir. Aynı şekilde uygulama ortamına kullanıcı tarafından girilen verilerin de hazırda bulunan veritabanına kaydedilmesi işleminde de veri katmanına ihtiyaç duyulur. Her veritabanı için ayrı bir veriye erişim sınıfını içerebilir. Kurumsal uygulamalarda kullanıcı tabloları, raporlara ait tablolar, temel uygulama tabloları farklı farklı veritabanlarında bulunabilir. Bu katmanda yazılan veri erişim sınıfı biraz daha soyut ve daha generic bir yapıda olmasına dikkat edilmelidir.
B. İş Katmanı
Oluşturulan uygulamaya veri katmanı vasıtasıyla çekilen veriler direkt olarak entegre edilemez. Çünkü veri katmanıyla sadece veriler uygulama ortamına çekilmiştir fakat üstünde yapılacak olan işlemler hala belli değildir. Bunun için çekilmiş olan verilerin yapılan uygulamaya uyarlama işlemi yerine getirilmelidir. Bu da iş katmanı (Business Layer) ile sağlanmaktadır[1]. İş katmanı ile oluşturulan programa uyarlanmış veriler artık hazır hale gelmiştir. Veritabanına ait operasyonel (CRUD) işlemler, kullanıcı rolleri, yönetimi, yetkilendirmeler bu katmanda yapılan projelerin sorumluluğundadır.
C. Sunum Katmanı
Son olarak, uygulamanın kullanıcı ile etkileşimi olan arayüzün yapılandırıldığı sunum katmanı (Presentation Layer) gelmektedir. Sunum katmanı ile iş katmanında hazır hale getirdiğimiz verilerin artık kullanıcıya gidecek olan görünümü belirlenir ve artık oluşturduğumuz uygulama tamamen bitmiştir.
Üç katmanlı mimarinin birbirileri arasında bir etkileşim olduğu gözükmektedir.Önce veri katmanı (Data Layer) ile veriler veritabanından çekilir, iş katmanı (Business Layer) ile bu verilerin uygunluğu sağlanır ve sunum katmanı (Presentation Layer) ile bir arayüz oluşturulup kullanıcıya veriler gösterilir. Bu işlem tam tersi yönde de yapılabilir, yani kullanıcı arayüz vasıtasıyla veri girişi yapar (Sunum katmanı), girilen veri veritabanına uygun hale getirilir (İş katmanı) ve son olarak veri tabanına aktarılır (Veri katmanı).
İlginizi Çekebilir: Büyük Veri
II. ÖRNEK UYGULAMA
A. Veri Katmanı
B. İş Katmanı
C. Sunum Katmanı
REFERANSLAR
[2] https://blog.kodcu.com/2014/01/geleneksel-katmanli-mimari-uygulamalar/
Paşa Yazıcı – Yazılım Mühendisi – Aktif Mühendislik