Web Uygulama Mimarisi: İşlev, Bileşenler, Türler ve Gerçek Hayat Örnekleri

Yayınlanan: 2021-06-16

İçindekiler

Web Uygulama Mimarisi Nedir?

Web uygulaması, bir tarayıcıda çalışan bu tür uygulamaları ifade eder. Görevlerini internet üzerinden gerçekleştirmek için web teknolojisinin kullanılmasını gerektirir. Bir web uygulamasının birkaç özelliği şunlardır:

  • Bir web uygulaması yalnızca belirli bir soruna odaklanır.
  • Masaüstü uygulamaları gibi oldukça etkileşimlidir.
  • Web uygulamalarında içerik yönetim sistemi mevcuttur.

Makale, kısaca web uygulamasının mimarisine ve bileşenlerine uzanan çalışmalarına odaklanmaktadır.

Geleneksel olarak web siteleri statik sayfaların bir kombinasyonuydu, ancak günümüzde web siteleri statik olmaktan hem statik hem de dinamik hale geldi. Web sitelerinin dinamik kısmı web uygulamaları olarak bilinir. İstemci, internette gezinmek için kullanılan herhangi bir cihazı ifade eder.

Bir sunucu web sitesinin diğer yarısını ifade ederken. Adından da anlaşılacağı gibi, sunucu istemci tarafından talep edilen verileri sunar. İstemci ve sunucu arasındaki iletişime istemci-sunucu modeli denir. İstemci-sunucu modelinin temel amacı, istemciden isteği almak ve yanıtı iletmektir.

Hem sunucu tarafı komut dosyaları hem de istemci tarafı komut dosyaları, web uygulamalarını oluşturmak için bir araya gelir. Sunucu tarafı komut dosyaları PHP ve ASP'yi içerir ve bilgilerin alınması ve depolanması için kullanılır. Javascript ve HTML, istemcilere bilgi sunmak için kullanılır.

Web uygulaması mimarisi , bileşenlerin çerçevesini ve daha iyi bir web deneyimi sağlayan iletişimini ifade eder. Bileşenler arasındaki iletişimler, veritabanları, uygulamalar ve web üzerinde buna dahil olan diğer sistemler arasındaki etkileşimlerdir. Mimarinin amacı, programların aynı anda birden fazla yürütülmesini sağlamaktır. Mimari, bir web sayfasına göz atma gibi basit bir örnekle gösterilebilir.

  • Kullanıcı, URL'sini adres çubuğuna yazdıktan sonra tarayıcıda belirli bir web adresi ister. Sunucu, isteği aldıktan sonra bazı dosyaları yanıt olarak tarayıcıya geri gönderir. Dosyalar tarayıcı tarafından yürütüldükten sonra istenen sayfalar görüntülenir.
  • İstenen sayfaların görüntülenmesi, kullanıcı ile web sitesi arasındaki etkileşimi sağlar. Web tarayıcısı, yürütülürken kodu ayrıştırır.
  • Kullanıcının girdilerine bağlı olarak, kod, tarayıcının kullanıcı girdilerine nasıl yanıt vereceğini bilmesini sağlamak için gerekli bilgilere sahip olmayabilir.
  • Bu nedenle, web uygulama mimarisine alt bileşenlerin ve harici uygulama değişimlerinin dahil edilmesi gerekir.
  • Web iletişimi çoğu uygulamanın ve cihazın önemli bir parçası haline geldi ve bu nedenle web uygulamaları modern dünyada bir zorunluluk haline geldi.
  • Güvenilirlik, güvenlik, ölçeklenebilirlik, verimlilik ve sağlamlık bir web uygulamasının gereksinimlerinden bazılarıdır.

Web Uygulamalarının Özellikleri

  • İş problemlerini çözmek için web uygulamaları uygulanmaktadır.
  • Web uygulamaları ile hızlı kullanıcı deneyimi sağlanmaktadır.
  • Güvenlik sağlar.
  • Web uygulamaları kendi kendini düzenler ve sürdürülebilirdir.
  • Görsel estetik web uygulamaları ile desteklenmektedir.
  • A/B testi ve analitik desteklenir.

Web Uygulaması Fonksiyonları

JavaScript ve HTML gibi web uygulamalarını kodlamak için çoğunlukla tarayıcı destekli diller kullanılır. Programların yürütülmesi için dil tarayıcıya bağlıdır. Herhangi bir tipik web uygulaması için, iki kod yan yana çalışır;

  • İstemci tarafı kodu: Bu kod, istemcinin girişine yanıt veren tarayıcıda yerelleştirilir.
  • Sunucu tarafı kodu: Bu kod, HTTP tarafından yapılan isteklere yanıt verir ve sunucuda yerelleştirilir.

İstemci tarafı koduna göre sunucu tarafı kodunun görevine karar vermek geliştirici ekibin görevidir. Sunucu tarafı kodları yazmak için Java, JavaScript, C#, Python, Ruby, PHP vb. gibi betikler kullanılır.

Bu kodlar, HTTP isteklerine yanıt verebilen ve kullanıcı tarafından istenen sayfaların oluşturulmasından sorumlu olan bir sunucuda çalışabilir. Ayrıca, kullanıcı girişleri ve profilleri gibi çeşitli veri türlerini saklayabilir. Son kullanıcı bu bilgileri asla elde edemez.

İstemci tarafı kodu, web tarayıcısı tarafından ayrıştırılan JavaScript, CSS ve HTML komut dosyalarında yazılır. Kullanıcı, istemci tarafı kodunu görebilir ve değiştirebilir.

Bu nedenle, web uygulaması tarafından istemci talebini almak ve yönetmek ve istenen görevlerin yerine getirilmesi için web sunucusu ve bir uygulama sunucusu gereklidir.

Bir web uygulamasının çalışması aşağıdaki sırayı takip eder:

  • Kullanıcı, bir uygulamanın kullanıcı arayüzünü veya web tarayıcısını kullanarak internet üzerinden web sunucusuna bir istek oluşturur.
  • İstek daha sonra web sunucusu tarafından uygun web uygulama sunucusuna iletilir.
  • İstenen görev web uygulama sunucusu tarafından gerçekleştirilir ve sonuçları üretir. İstek, veritabanı sorgulama veya veri işleme ile ilgili herhangi bir şey olabilir.
  • Sonuçlar, web uygulama sunucusu tarafından işlenen veriler veya istemci tarafından talep edilen gerekli bilgilerle birlikte web sunucusuna geri gönderilir.
  • İstenilen bilgiler web sunucusu tarafından kullanıcı ekranında görüntülenir.

Dünyanın En İyi Üniversitelerinden Online Yazılım Kursları Öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Web Uygulama Mimarisi Bileşenleri

Tipik bir web uygulamasının mimarisi, uygulama bileşenlerinden, veritabanlarından ve ara yazılım sistemlerinden oluşur. Bir web uygulama mimarisinin bileşenleri şunlardan oluşur:

  1. UI/UX Web Uygulaması Bileşenleri: Bu bileşenler, aktivite günlükleri, bildirimler, istatistiksel veriler, gösterge tabloları, ayarlar vb. İçerir. Çoğunlukla web uygulamasının temellerini atmak ve görseller oluşturmak için kullanılırlar. Bileşenler, web tabanlı uygulamaların herhangi bir işlemine dahil değildir.
  2. Yapısal bileşenler: Bir web uygulamasının yapısal bileşenleri, istemci tarafı ve sunucu tarafını içerir. Veritabanı sunucusunu ve web uygulama sunucusunu içerir.
  3. İstemci bileşeni: İstemci bileşenlerinin oluşturulması JavaScript, HTML ve CSS bilgisi gerektirir. Bileşenler kullanıcının web tarayıcısında bulunduğundan işletim sistemi gerekli değildir. Temel olarak, son kullanıcının etkileşimde bulunduğu bir web uygulamasının işlevselliğini temsil eder.
  4. Sunucu Bileşeni: İstemci bileşenlerinin oluşturulması Java, .NET, Python, Ruby, PHP ve Node.js bilgisi gerektirir. Sunucu bileşenlerinin iki bölümü uygulama mantığı ve veritabanıdır. Uygulama mantığı, veritabanı tüm bilgileri depolarken web uygulamasını kontrol eder.

Bir web uygulaması oluşturmaya yönelik bileşenler aşağıdaki modellerden seçilebilir:

1. Bir web sunucusu ve bir veritabanı: Web uygulamasının en basit ve en az güvenilir modeli, bir web sunucusu ve bir veritabanıdır . Bu tür modeller üzerine kurulu web uygulaması, sunucu çöktüğü anda çöktüğü için bu modellerin güvenilirliği düşüktür.

Sunucuyla ilgili sorunlar, bu tür uygulamaların çalışmasına izin vermez ve bu nedenle, uygulamanın başarılı çalışmasının dayandığı ana faktör sunucu kararlılığıdır.

Model, gerçek web uygulamaları oluşturmak için kullanılmaz, ancak web uygulamasının temellerini test etmek ve öğrenmek için kullanılabilir.

2. İki web sunucusu ve bir veritabanı: Bu tür modeller üzerine kurulan web uygulamaları, bir yedekleme sunucusunun varlığı nedeniyle yukarıda belirtilenlere kıyasla oldukça güvenilirdir. Web sunucusunda veri depolama yoktur. Web sunucusu tarafından bir istemciden alınan bilgiler web sunucusu tarafından işlenir ve veritabanına yazılır. Bu veritabanı sunucunun dışında yönetilir. Model ayrıca durumsuz mimari olarak da adlandırılır.

Model, bir sunucunun arızalanması diğer sunucunun sorumluluğu almasına yol açacağından, arızayı önlemek için en az iki web sunucusunun kullanılmasını gerektirir. Bu gibi durumlarda istekler yeni sunucuya yönlendirilecek ve dolayısıyla web uygulamasının yürütülmesine devam edilecektir. Ancak, bir veritabanı çökmesi durumunda web uygulaması da çökecektir.

3. İkiden fazla web sunucusu ve veritabanı : Bir uygulama oluşturmak için en verimli ve güvenilir seçeneklerden biri, ikiden fazla sunucu ve veritabanından oluşan modeldir. Birden fazla bileşenin varlığı, web uygulamasının arızalanmasıyla ilgili sorunları önler.

Birden fazla veritabanına sahip olmak, tüm veritabanlarında aynı verileri depolama veya verileri tüm veritabanları arasında eşit olarak dağıtma seçeneklerine izin verir. 5'ten fazla web sunucusu veya veritabanı kullanılıyorsa yük dengeleyicilerin yüklenmesi gerekir. Modeller, büyük miktarda veriyi işleme yetenekleri nedeniyle işletmeler için web uygulamaları oluşturmak için yaygın olarak kullanılmaktadır.

Web Uygulama Mimarisi Türleri

Web uygulama mimarisi türü, uygulama mantığının istemci ve sunucu tarafı arasındaki dağılımına bağlıdır. Hem web uygulama mimarisini hem de web sunucusu mimarisini içerir.

Web uygulama mimarisi temel olarak üç türdendir.

  1. Tek Sayfalı Uygulamalar (SPA) : Bu tür mimaride sayfa kullanıcı tarafından talep edilir. İçerikler güncel sayfaya güncellenerek dinamik etkileşim sağlanır. Bu tür web uygulaması mimarisi, Asenkron JavaScript ve XML'in özlü bir biçimi olan AJAX aracılığıyla elde edilir. SPA'lar, kullanıcı herhangi bir kesinti yaşamadığından masaüstü uygulamalarına benzer. En gerekli içeriği talep edebildikleri için kullanıcıya etkileşimli bir deneyim sağlar.
  2. Mikro hizmetler: Bu tür mimariler, üretkenliği artırma ve dağıtım sürecini hızlandırma açısından avantajlar sağlar. Tek bir işlevsellik, mikro hizmet türü mimari tarafından yürütülür ve bu nedenle küçük ve hafiftir. Uygulamanın bileşenlerini oluşturmak için gereken kodun aynı programlama dilinde olması gerekmediğinden, uygulamanın mikro hizmetlere dayalı olarak geliştirilmesi basit ve hızlıdır.
  3. Sunucusuz Mimariler: Bu bir tür web sunucusu mimarisidir. Sunucusuz mimaride, sunucu ve altyapı yönetimi için dış kaynak kullanımı için üçüncü bir taraf gereklidir. Uygulama, altyapı ile ilgili diğer görevleri rahatsız etmeden kodu bulutta yürütür.

Diğer web sunucusu mimarisi türleri arasında Java, Node.Js, .NET, PHP, Azure, AngularJS, Laravel ve Python tabanlı web uygulaması mimarisi bulunur.

Web Uygulaması Örnekleri

Web uygulamalarına örnek olarak çevrimiçi formlar, kelime işlemciler, alışveriş sepetleri, elektronik tablolar, fotoğraf ve video düzenleme, dosya dönüştürme ve tarama ve Gmail, Yahoo ve AOL gibi e-posta programları dahildir.

Bazı popüler web uygulamalarına birkaç örnek:

1. Google Dokümanlar: Google dokümanları, kullanıcıların bilgisayarda veya bir Google Drive hesabında doküman oluşturmasına ve kaydetmesine olanak tanır. Dosyalar, yazdırılabilen ve diğer kullanıcılarla paylaşılabilen PDF formatında kaydedilebilir. Aynı belge üzerinde farklı kullanıcılar tarafından çalışılmasını sağlar. İnternet bağlantısı olmasa bile uygulama kullanılabilir ve bir belgede yapılan değişiklik tekrar internete bağlanıldığında otomatik olarak kaydedilir.

2. Netflix: Uygulama, önemli video akış platformlarından biridir. Kullanıcıların tercihlerine göre herhangi bir zamanda en sevdikleri filmlere göz atmalarını ve izlemelerini sağlar.

3. Codepen.io: Bu, HTML kodunun geliştirilmesi için web tabanlı bir uygulamadır. Araç, kullanıcının gerçek zamanlı CSS, HTML ve JavaScript kodlarını test etmesine yardımcı olur.

Web uygulamalarının diğer örnekleri arasında Facebook, Gmail, Twitter vb.

Çözüm

Web uygulaması, günümüzde internet kullanımının artmasıyla birlikte kullanımlarında bir artış görmüştür. Makalede tartıştığımız gibi, bir web uygulaması, uygulamayı oluşturmak için seçilen model türüne göre daha fazla belirlenen güvenlik sağlar. Bu nedenle, web tabanlı bir uygulamanın geliştirilmesine geçmeden önce, gereksinimleri ve arkasındaki kavramları derinlemesine araştırmak daha iyidir.

Bu alanda eğitim almak ve web geliştirme konusunda herhangi bir deneyim kazanmak istiyorsanız, upGrad ve IIIT-Bangalore tarafından sağlananMaster of Science in Computer Science ” sertifika kursunu kontrol etmenizi öneririz. Kurs, 21 ila 45 yaş grubundaki giriş seviyesinden orta seviyeye kadar profesyoneller (erkek ve kadın) için etkin bir şekilde tasarlanmıştır.

15'ten fazla araç ve yazılım deneyimine sahip önde gelen uzmanlar tarafından titizlikle eğitileceğiniz için bu, web geliştirme hayalleriniz için bir basamak taşı olacaktır. UpGrad'ın seyriyle ilgili daha fazla bilgi edinmek istiyorsanız, bize bir yorum bırakın. Yardım ekibimiz size geri dönüş yapacaktır.

Kendinizi Geliştirin ve Geleceğe Hazırlanın

DevOps'ta Gelişmiş Sertifika Programına Başvurun