İstemci-sunucu mimarisi
Adı, bu modelle ilgili her şeyin basit ve net olduğu izlenimini yaratıyor. Ama bazı noktaları açıklığa kavuşturalım, böylece Bahar'ı çalışmaya başladığınızda neden bahsettiğimizi anlayacaksınız. Diyelim ki bir sohbet uygulaması yazdınız ve siz ve bir arkadaşınız onu kullanmaya başladınız. Bilinen IP adreslerini kullanarak doğrudan İnternet üzerinden birbirinize mesaj göndererek çok basit bir yaklaşım benimseyebilirsiniz: İlk başta, arkadaşlarınızdan biri sohbete katılmak isteyene kadar her şey yolunda görünüyor. Bu nedenle, ortak arkadaşınızı sohbete eklemeye karar verdiğinizde, mimari bir sorunla karşı karşıya kalırsınız: her sohbet katılımcısı için, kullanıcı sayısı ve yeni kullanıcıların IP adresleri hakkında güncel bilgiler vermeniz gerekir. Ve bir mesaj gönderildiğinde, tüm katılımcılara iletilmesi gerekir. Bunlar ortaya çıkacak en bariz problemlerdir. Kodun kendisinde başka bir grup sorun gizlenecektir. Onlardan kaçınmak için bir sunucu kullanmanız gerekir., adresleri de dahil olmak üzere kullanıcılar hakkındaki tüm bilgileri depolayacak. Mesajların yalnızca sunucuya gönderilmesi gerekir. Sırayla, alıcıların her birine mesajlar gönderir. Sohbet uygulamanıza bir sunucu parçası eklemeye karar verdiğinizde, bir istemci-sunucu mimarisi oluşturmaya başlıyorsunuz.İstemci-sunucu mimarisinin bileşenleri
Ne hakkında olduğunu görelim. İstemci -sunucu mimarisi, web uygulamaları oluşturmak için kullanılan bir tasarım modelidir. Bu mimari üç bileşenden oluşur:-
İstemci — Adından, bu bileşenin bazı hizmetler (web uygulaması) kullandığını ve bazı bilgiler istemek için bir sunucuyla iletişim kurduğunu söyleyebiliriz.
-
Sunucu — Bu, web uygulamanızın veya sunucu kısmının bulunduğu yerdir. Gerekli kullanıcı bilgilerini saklar veya talep edebilir. Ek olarak, bir müşteri bir istek gönderdiğinde, istenen bilgiyi sunucu verir.
-
Ağ — Bu kısım basittir. İstemci ve sunucu arasındaki bilgi alışverişini kolaylaştırır.
-
bir istemci modülü — oturum açmak ve mesaj göndermek/almak için bir grafik arayüz içerir
-
bir sunucu modülü — bir sunucuda barındırılan ve kullanıcılardan gelen mesajları alan, bunları işleyen ve ardından alıcılara gönderen bir web uygulaması
Burada önemli bir nokta var: Sunucu kavramı belirli bir bilgisayarla ilgili değil, ağ varlıkları arasındaki ilişkiyle ilgilidir . |
Üç katmanlı mimari
Bu , üçüncü bir modül olan veri depolamayı tanıtan bir mimari modeldir . Bu modelde, üç seviye genellikle katmanlar veya katmanlar olarak adlandırılır:-
İstemci katmanı, sunum katmanı olarak da adlandırılan kullanıcı arabirimidir. HTML sayfalarını alan bir web tarayıcısı veya JavaFX kullanılarak yazılmış bir grafik kullanıcı arabirimi olabilir. Önemli olan, bu katmanın kullanıcının sunucuya istek göndermesine ve yanıtlarını işlemesine izin vermesidir.
-
Mantık katmanı, istekleri/yanıtları işleyen sunucudur. Genellikle sunucu katmanı olarak da adlandırılır. Burası aynı zamanda tüm mantıksal işlemlerin gerçekleştiği yerdir: matematiksel hesaplamalar, veri işlemleri, diğer hizmetlere veya veri depolarına yapılan çağrılar vb.
-
Veri katmanı, veritabanı sunucusudur: sunucumuz onunla etkileşime girer. Bu katman, uygulamanın çalışması için gerekli tüm bilgileri saklar.
Üç katmanlı mimarinin avantajları
Bunun gibi bir mimari bize aşağıdakiler dahil pek çok avantaj sağlar:-
SQL enjeksiyonuna karşı koruma yeteneği (bu, bir sunucuya yönelik bir saldırıdır; çalıştırıldığında bir saldırganın veritabanımızı etkilemesine izin veren SQL kodunun gönderilmesini içerir).
-
Kullanıcı erişimini kontrol etmek istediğimiz verilerin ayrılması.
-
İstemciye göndermeden önce verileri değiştirme yeteneği.
-
Ölçeklenebilirlik (uygulamamızı aynı veritabanını kullanacak birden fazla sunucuya genişletme yeteneği.
-
Kullanıcı bağlantılarının kalitesine ilişkin daha az katı gereksinimler. Sunucuda bir yanıt oluştururken, genellikle bir veritabanından pek çok farklı bilgi alır ve onu biçimlendirerek yalnızca kullanıcının ihtiyaç duyduğunu bırakırız. Bunu yapmak, müşteriye yanıt olarak gönderdiğimiz bilgi miktarını azaltır.
GO TO FULL VERSION