Monolitik Mimari Nedir?
Uygulamanın veritabanı işlemleri, frontend, backend ve servisler gibi tüm bileşenlerinin tek bir yapı içinde geliştirildiği ve çalıştırıldığı yazılım modeline monolitik mimari denir. Bu modelde, bir uygulamaya ait tüm kodlar tek bir proje içerisinde yer alır. Bu nedenle, genellikle tek parça yazılım olarak da adlandırılır.
Monolitik Mimarinin Bileşenleri Nelerdir?
- Kullanıcı Arayüzü (UI / Frontend)
- Kullanıcının etkileşimde bulunduğu, sayfaların tasarımlarının ve görünümünün düzenlendiği bileşendir.
- İş Mantığı (Business Logic)
- Uygulamanın kurallarının konulduğu kısımdır. Örneğin aynı email hesabında kullanıcı olamaz vb. Verilerin işlenmesi, hesaplanması ve doğrulanması bu katmanda yapılır.
- Veri Erişim Katmanı (Data Access Layer)
- Veritabanına CRUD işlemi yapar. SQL sorgu araçlarını kullanır ve veritabanı uygulama arasında köprü görevi görür.
- Veritabanı
- Uygulamanın kullandığı gerçek veri deposu (SQL Server, SQLite, MySQL vs.)
Monolitik Mimari’nin Avatanjları Nelerdir?
- Basitlik : Kodlar tek bir proje içinde toplandığı için geliştirmesi ve bakımı küçük projelerde daha kolaydır. Bu yüzden genellikle küçük veya orta ölçekli projelerde tercih edilir.
- Başlangıç için uygun : Küçük ekipler veya tek kişiyle geliştirilen projeler için idealdir.
- Performans : Servisler arasında ağ üzerinden iletişim olmadığı için uygulama içi işlemler daha hızlı çalışır. Bu da performans avantajı sağlar.
- Yayınlama : Tüm uygulama tek bir yapı (örneğin bir
.dllveya.exe) hâlinde çalıştığı için yayına almak (deploy etmek) oldukça kolaydır.
Monolitik Mimari’nin Dezavantajları Nelerdir?
- Büyüdükçe Karmaşıklık : Kod dosyaları çoğaldıkça yapı karmaşıklaşır ve yönetimi zorlaşır.
- Tek Noktada Çökme : Uygulamanın bir yerinde hata olursa tüm sistem etkilenebilir.
- Güncelleme Zorluğu : Küçük bir değişiklik için tüm uygulama yeniden deploy edilir.
Bu yüzden eğer büyük projelerde monolitik yapı tercih ediliyorsa, kodun daha düzenli ve sürdürülebilir olması için genellikle katmanlı mimari yapısı kullanılır.
Katmanlı Mimari Nedir?
Katmanlı mimari, bir yazılımın kodlarını mantıksal görevlerine göre bölerek daha düzenli ve yönetilebilir hâle getirmeyi amaçlayan bir yapıdır. Birçok yazılım projesinde kullanılan yaygın bir mimari modeldir. Her katman, yalnızca kendi sorumluluğundaki işi yapar ve diğer katmanlarla belirli kurallar çerçevesinde iletişim kurar. Genellikle 3 ana katmana ayrılır.
1.Data Access Katmanı(Veri Erişim Katmanı)
Bu katman, veritabanıyla doğrudan iletişim kurar. Veri ekleme, silme, güncelleme ve listeleme gibi işlemler burada gerçekleştirilir. Yalnızca veritabanı işlemleriyle ilgilenir, iş mantığı veya kullanıcı arayüzü ile ilgili görevler üstlenmez.
2.Business Layer(Sunum Katmanı)
Bu katman, uygulamanın kurallarını, doğrulamalarını ve iş süreçlerini barındırır. Sunum (UI) katmanından gelen istekleri işler, gerekli kontrolleri yapar ve veri erişim (Data Access) katmanıyla iletişime geçer. Uygulamanın akışını yönettiği için, UI ile veritabanı arasında bir köprü görevi görür.
3.Presentation Layer (Sunum Katmanı / UI)
Bu katman, kullanıcının gördüğü ve etkileşimde bulunduğu kısımdır. Projenin tüm ön yüz (UI) tasarımları bu katmanda yer alır. Kullanıcıdan gelen veriler ilk olarak bu katmana ulaşır, ardından iş mantığı katmanında kontrol edilir ve sonrasında veri erişim katmanına yönlendirilerek veritabanı işlemleri gerçekleştirilir.
Katmanlı Mimarinin Avantajları
- Kod daha okunabilir olur,
- Test etmek kolaylaşır,
- Ekipler farklı katmanlarda çalışabilir,
- Proje büyüdükçe kontrol elden çıkmaz.