Üç Katmanlı Mimari

menu icon

Üç Katmanlı Mimari

Uygulamaları üç mantıksal ve fiziksel bilişim katmanına ayıran üç katmanlı mimari, geleneksel istemci-sunucu uygulamaları için başlıca yazılım mimarisidir.

Üç katmanlı mimari nedir?

Üç katmanlı mimari, uygulamaları üç mantıksal ve fiziksel bilgi işlem katmanı halinde düzenleyen, iyi yapılandırılmış bir yazılım uygulaması mimarisidir: gösterim katmanı, veya kullanıcı arayüzü ; verilerin işlendiği uygulama katmanı; ve uygulamayla ilişkili verilerin depolandığı ve yönetildiği veri katmanı.

Her katman kendi altyapısında çalıştığından her katmanın ayrı bir geliştirme ekibi tarafından eş zamanlı geliştirilebilmesi ve diğer katmanları etkilemeden gerektiği gibi güncellenebilmesi veya ölçeklenebilmesi, üç katmanlı mimarinin en önemli avantajıdır.

Üç katmanlı mimari, uzun yıllardır istemci-sunucu uygulamalarının geçerli mimarisiydi. Bugün çoğu üç katmanlı uygulama, konteynerler ve mikro hizmetler gibi bulut tabanlı teknolojiler kullanan modernizasyonun ve buluta geçişin hedefleridir.

Ayrıntılarıyla üç katman

Gösterim katmanı

Gösterim katmanı, son kullanıcının uygulamayla etkileşim kurduğu, uygulamanın iletişim katmanı ve kullanıcı arayüzüdür. Öncelikli amacı, kullanıcıya bilgileri göstermek ve kullanıcıdan bilgileri toplamaktır. Bu üst düzey katman bir web tarayıcısında, masaüstü uygulaması ya da grafik kullanıcı arayüzü (GUI) gibi çalışabilir. Web gösterim katmanları genellikle HTML, CSS ve JavaScript kullanılarak geliştirilir. Masaüstü uygulamaları, platforma bağlı olarak çeşitli dillerde yazılabilir.

Uygulama katmanı

Mantık katmanı veya ara katman olarak da bilinen uygulama katmanı, uygulamanın kalbidir. Bu katmanda, gösterim katmanında toplanan bilgiler, kimi zaman veri katmanındaki diğer bilgilere göre, belli bir iş kuralları kümesiyle iş mantığı kullanılarak işlenir. Uygulama katmanı, veri katmanındaki verileri ekleyebilir, silebilir ya da değiştirebilir.

Uygulama katmanı genellikle Python, Java, Perl, PHP veya Ruby kullanılarak geliştirilir ve< a data-entity-substitution="canonical" data-entity-type="node" data-entity-uuid="973d5565-9bad-4410-85f0-41aa1995d48d" href="/cloud/learn/api" target="_blank">APIçağrıları kullanılarak veri katmanıyla iletişim kurar. 

Veri katmanı

Bazen veritabanı katmanı, veri erişimi katmanı veya arka uç adı verilen veri katmanı, uygulama tarafından işlenen bilgilerin depolandığı ve yönetildiği yerdir. Bu ilişkisel bir veritabanı yönetim sistemi (PostgreSQL, MySQL, MariaDB, Oracle, DB2, Informix veya Microsoft SQL Server gibi) ya da bir NoSQL Database sunucusunda (Cassandra, CouchDB veya MongoDB) olabilir. 

Üç katmanlı bir uygulamada, tüm iletişim uygulama katmanından geçer. Gösterim katmanı ve veri katmanı birbiriyle doğrudan iletişim kuramaz.

Katman (tier) - kat (layer) karşılaştırması

Üç katmanlı mimaride, kat (layer) ifadesi genellikle ve yanlış şekilde katman (tier) yerine kullanılır; "gösterim katı" veya "iş mantığı katı" ifadesinde olduğu gibi... 

Aynı şey değiller. "Kat" yazılımın işlevsel bir bölümünü ifade ederken "katman" diğer bölümlerden ayrı olarak altyapıda çalışan yazılımın işlevsel bir bölümü için kullanılır. Örneğin telefonunuzdaki Kişiler uygulaması 3 katlı ama tek katmanlı bir uygulamadır, çünkü üç katın tamamı telefonunuzda çalışır.

Arasındaki fark önemlidir, çünkü katlar katmanlar ile aynı avantajları sunamaz.

Üç katmanlı mimarinin avantajları

Yeniden ifade etmek gerekirse, üç katmanlı mimarinin en önemli avantajı işlevselliğin mantıksal ve fiziksel ayrımıdır. Her katman ayrı bir işletim sistemi ve sunucu platformunda çalıştırılabilir; örneğin işlevsel gereksinimlerine en uygun olan web sunucusu, uygulama sunucusu, veritabanı sunucusu gibi... Ve her katman en az bir özel sunucu donanımı veya sanal sunucu üzerinde çalışır, bu sayede her katmanın hizmetleri diğer katmanları etkilemeden özelleştirilebilir ve optimize edilebilir. 

Diğer avantajları (tek ya da iki katmanlı mimariyle karşılaştırıldığında) şunlardır:

  • Daha hızlı geliştirme: Her bir katman farklı ekipler tarafından eş zamanlı olarak geliştirilebildiğinden bir kuruluş, uygulamayı pazara daha hızlı çıkarabilir ve programcılar her katman için en son ve en iyi dilleri ve araçları kullanabilir.
  • Geliştirilmiş ölçeklenebilirlik: Tüm katmanlar gerektiğinde diğerlerinden bağımsız olarak ölçeklenebilir.
  • İyileştirilmiş güvenilirlik: Bir katmandaki kesintinin diğer katmanların kullanılabilirliğini ya da performansını etkileme olasılığı daha düşüktür.
  • Güçlendirilmiş güvenlik: Gösterim katmanı ve veri katmanı doğrudan iletişim kuramadığından iyi tasarımlı bir uygulama katmanı, içeride güvenlik duvarı gibi işlev görerek SQL eklemelerinin ve diğer kötüye kullanımların önlenmesini sağlayabilir.

Web geliştirmede üç katmanlı uygulama

Web geliştirmede katmanlar farklı adlara sahip olsa da benzer işlevleri gerçekleştirir:

  • Web sunucusu gösterim katmanıdır ve kullanıcı arayüzü sağlar. Bu genellikle, kullanıcının alışveriş sepetine ürün eklediği, ödeme ayrıntılarını eklediği ya da bir hesap oluşturduğu e-ticaret sitesi gibi bir web sayfası ya da web sitesidir. İçerik statik ya da dinamik olabilir ve genellikle HTML, CSS ve Javascript kullanılarak geliştirilir.
  • Uygulama sunucusu orta katmana karşılık gelir ve kullanıcı girişlerini işlemek için kullanılan iş mantığını barındırır. E-ticaret örneğine devam etmek gerekirse bu, ürünün stok durumu için veritabanını sorgulayan ya da bir müşterinin profiline ayrıntılar ekleyen katmandır. Bu kat genellikle Python, Ruby veya PHP kullanılarak geliştirilir ve örneğin, e Django, Rails, Symphony veya ASP.NET gibi bir çerçeveyi çalıştırır.
  • Veritabanı sunucusu bir web uygulamasının veri veya arka uç katmanıdır. MySQL, Oracle, DB2 veya PostgreSQL gibi veritabanı yönetim yazılımında çalışır.

Diğer çok katmanlı mimariler

Üç katmanlı mimari en yaygın olarak benimsenen çok katmanlı uygulama mimarisiyken diğer tarafta işinizde veya araştırmanızda karşılaşabileceğiniz başka mimariler de vardır.

İki katmanlı mimari 

İki katmanlı mimari, gösterim katmanı ve veri katmanından oluşan özgün istemci-sunucu mimarisidir; iş mantığı gösterim katmanında, veri katmanında ya da her ikisinde birden bulunur. İki katmanlı mimaride gösterim katmanı, dolayısıyla son kullanıcı, veri katmanına doğrudan erişime sahiptir ve iş mantığı genellikle sınırlı olur. Kullanıcıların iletişim verilerini girebileceği ve alabileceği basit bir iletişim yönetimi uygulaması da iki katmanlı uygulamaya örnektir. 

N katmanlı mimari

N katmanlı mimari, diğer adıyla çok katmanlı mimari birden fazla katmanı barındıran her uygulama mimarisini ifade eder. Ancak üçten fazla katı olan uygulama sayısı azdır. Bunun nedeni ek katların çok az avantaj sunması ve uygulama yönetimini yavaşlatıp zorlaştırması ve çalıştırmanın yüksek maliyetli olmasıdır. Bu nedenle n katmanlı mimari ve çok katmanlı mimari genellikle üç katmanlı mimariyle eş anlamlıdır.

Üç katmanlı mimari ve IBM Cloud

IBM Cloud, bulut yolculuğunuzda eski üç katmanlı uygulamalarını modernize etmenize yardımcı olacak ürünler ve hizmetler sunar.

İlk adımı atın:

  • Strateji, süreç veya yeteneklerle ilgili yardıma ihtiyacınız olduğunda veya tam hizmet isterseniz IBM'in uygulama modernizasyonunda size nasıl yardımcı olabileceğini keşfedin.
  • Tüm bulutlarda çalışabilen, konteynerli ara katman yazılımlarını kullanmaya başlayın, üstelik tümü IBM Cloud Paks paketi içindedir.
  • IBM Cloud for VMware Solutions çözümünü kullanarak mevcut VMware iş yüklerini genel bulut ortamına kolayca taşıyın.
  • IBM'in uygulama modernizasyonu hizmetlerinin yardımıyla sürekli dijital dönüşümünüzün bir parçası olarak uygulama modernizasyonu stratejilerinizi planlayın ve hayata geçirin.

Hemen bir IBM Cloud hesabıyla ilk adımı atın.