JavaRush /Java Blog /Random-TK /Bölüm 2. Geliň, programma üpjünçiligi arhitekturasy barad...

Bölüm 2. Geliň, programma üpjünçiligi arhitekturasy barada azajyk gürleşeliň

Toparda çap edildi
Bu material “ Kärhananyň ösüşine giriş ” seriýasynyň bir bölegidir . Tor hakda birinji bölüm şu ýerde . Bölüm 2. Geliň, programma üpjünçiligi arhitekturasy barada azajyk gürleşeliň - 1Programma üpjünçiligi arhitekturasy, bir programma döredilen we tutuş programmanyň modullary we bölekleri özara täsir edýän gurluşdyr. Programmistler uzak wagt bäri gowy binagärlik döretmäge synanyşýarlar, şonuň üçin häzir köp binagärlik nagyşlaryny bilýändigimiz geň däldir. Olara düşünmeli: web programmasy ýazanyňyzda arhitektura meselesi ýiti bolýar, sebäbi adaty programmadan has köp komponent we modul bar. Arhitektura nagşy, programma üpjünçiliginiň dizaýn meselesini çözmegiň eýýäm oýlanyşykly usulydyr. Zawod usuly, abstrakt zawod, gurluşykçy, prototip, Singleton we başgalar ýaly dizaýn nagyşlaryna eýýäm duş gelen bolsaňyz gerek. Diňe kod ýazmak, synplar döretmek we olaryň özara täsirini meýilleşdirmek üçin ulanylýar. Arhitektura nagyşlary abstraksiýanyň has ýokary derejesinde ulanylýar - programma ulanyjysynyň serwer, maglumatlar we taslamanyň beýleki bölekleri bilen täsirini meýilleşdirende. Geliň, käbir galyplara we olary nähili ulanmalydygyna gysgaça göz aýlalyň.

Müşderi-serwer arhitekturasy

Adyndan bu mowzuk bilen hemme zadyň ýönekeý we düşnükli bolmagy mümkin. Someöne şertli bahary öwrenip başlanyňyzda, biziň näme hakda gürleşýändigimize düşünmegiňiz üçin käbir nokatlary aýdyňlaşdyralyň. Söhbet ýazdyňyz diýeliň, siz we dostuňyz ony ulanyp başlaýarsyňyz. Bu ýerde ýönekeý bir wariant mümkindir - bilýän IP adresleriňizi ulanyp, göni internet arkaly biri-biriňize habar iberýärsiňiz: Bölüm 2. Geliň, programma arhitekturasy barada azajyk gürleşeliň - 2Ilki bilen, başga bir dostuňyz: “Näme üçin don bermeli däl? meni söhbetdeşligiňe goşmaýarsyňmy? " Söhbetdeşlige özara dost goşmak kararyna geleniňizde, binagärlik meselesi ýüze çykýar: her bir ulanyjy ulanyjy sany barada maglumat täzelemeli, täze ulanyjynyň IP adresini goşmaly. Habar iberilende, ähli gatnaşyjylara ýetirilmelidir. Bular ýüze çykjak iň açyk meseleler. Kodyň özünde has köp problema gizlener. Olardan gaça durmak üçin ulanyjylar hakda ähli maglumatlary saklaýan we salgylaryny bilýän serwer ulanmaly . Habar diňe serwere iberilmeli. Öz gezeginde bolsa habary ähli alyjylara iberer. Söhbetdeşligiňize serwer tarapyny goşmak kararyna geleniňizde, müşderi-serwer arhitekturasyny gurup başlarsyňyz.

Müşderi-serwer arhitekturasynyň bölekleri

Geliň, onuň nämedigini bileliň. Müşderi-serwer arhitekturasy , web programmalaryny döretmek üçin esas bolan dizaýn nagşydyr. Bu arhitektura üç bölekden ybarat: Bölüm 2. Geliň, programma üpjünçiligi arhitekturasy barada biraz gürleşeliň - 3
  1. Müşderi - adyndan munuň käbir maglumat almak üçin serwer bilen habarlaşýan hyzmatyň (web programmasy) ulanyjydygy belli bolýar.

  2. Serwer, web programmaňyzyň ýa-da serwer böleginiň ýerleşýän ýeri. Ulanyjylar hakda zerur maglumatlara eýe ýa-da sorap biler. Mundan başga-da, müşderi habarlaşanda serwer talap edilýän maglumatlary yzyna berýär.

  3. Tor ýönekeý: müşderi bilen serweriň arasynda maglumat alyş-çalşyny üpjün edýär.

Serwer dürli ulanyjylardan köp sanly haýyşy gaýtadan işläp biler. .Agny, köp müşderi bolup biler we biri-biri bilen maglumat alyşmak zerur bolsa, bu serwer arkaly amala aşyrylmalydyr. Şeýlelikde, serwer ýene bir goşmaça funksiýa - traffigi dolandyrmak alýar. Döreden köp ulanyjy söhbetdeşligimiz hakda aýdýan bolsak, tutuş programma kody iki moduldan ybarat bolar:
  • müşderi - awtorizasiýa, habar ibermek / almak üçin grafiki interfeýsi öz içine alýar;

  • serwer tarapy - serwerde ýerleşdirilen we ulanyjylardan habar alýan, olary gaýtadan işleýän we soňra alyjylara iberýän web programmasy.

Bölüm 2. Geliň, programma arhitekturasy barada azajyk gürleşeliň - 4Internetde peýdaly (ýa-da beýle peýdaly däl) maglumatlary görmek islänimizde, brauzer açýarys, gözleg setirine talap girizýäris we jogap hökmünde gözleg motoryndan maglumat alýarys. Bu zynjyrda brauzer biziň müşderimizdir. Serwere gözleýän zadymyz hakda maglumat bilen haýyş iberýär. Serwer haýyşy gaýtadan işleýär, iň möhüm netijeleri tapýar, brauzere (müşderi) düşnükli formatda gaplaýar we yzyna iberýär. Gözleg motorlary ýaly çylşyrymly hyzmatlarda köp serwer bolup biler. Mysal üçin, ygtyýarnama serweri, maglumat gözlemek üçin serwer, jogap döretmek üçin serwer. Emma müşderi bu barada hiç zat bilmeýär: onuň üçin serwer bitewi bir zat. Müşderi diňe giriş nokady, ýagny haýyşy ibermeli serweriň salgysy barada bilýär. Öňki bölümde seredip geçen programmany ýada salalyň - ähli ýurtlarda howanyň ortaça temperaturasyna hakyky wagtda gözegçilik etmek üçin. Arhitekturasy şuňa meňzeş bir zat bolar: Bölüm 2. Geliň, programma üpjünçiligi arhitekturasy barada azajyk gürleşeliň - 5Programmamyz serwerde ýerleşýär. Diýeliň, her bäş sekuntda ýerli gidrometeorologiýa merkezleriniň serwerlerine haýyşlar iberýär, belli bir ýurtdaky temperatura barada olardan maglumat alýar we bu maglumatlary saklaýar. Müşderi “dünýädäki häzirki howanyň temperaturasyny görmek” haýyşy bilen bize ýüz tutanda, ýurt boýunça tertiplenen iň soňky saklanan maglumatlary yzyna gaýtaryp berýäris. Şeýlelik bilen, amalymyz hem serwer (ulanyjy haýyşlaryny gaýtadan işleýän mahaly) we müşderi (beýleki serwerlerden maglumat alanda).
Üns beriň: serwer düşünjesi belli bir kompýuter hakda däl-de, tor abonentleriniň arasyndaky gatnaşyk hakda .
Müşderi-serwer arhitekturasy gaty seýrek we diňe ýönekeý programmalar üçin ulanylýar. Hakykatdanam uly we çylşyrymly taslamalar üçin dürli arhitektura görnüşleri ulanylýar, geljekde has tanyş bolarsyňyz. Häzirlikçe, müşderi-serwer modeline gaty meňzeýän bir modele seredeliň.

Üç derejeli arhitektura

Bu , üçünji oýunçyny tanadýan binagärlik nagşy : maglumat ammary . Bu nagşy ulananyňyzda üç derejä adatça gatlak diýilýär: Bölüm 2. Programma arhitekturasy barada azajyk gürleşeliň - 6
  1. Müşderi gatlagy ulanyjy interfeýsidir. Bu, HTML sahypalarynyň iberilýän web brauzeri ýa-da JavaFX ulanyp ýazylan GUI programmasy bolup biler. Esasy zat, ulanyjynyň kömegi bilen serwere haýyşlar iberip we jogaplaryny gaýtadan işläp biler.

  2. Logika gatlagy haýyşlaryň / jogaplaryň işlenýän serweridir. Oňa köplenç serwer gatlagy hem diýilýär. Loghli logiki amallar bu ýerde hem amala aşyrylýar: matematiki hasaplamalar, maglumat amallary, beýleki hyzmatlara jaňlar ýa-da maglumatlary saklamak.

  3. Maglumat gatlagy maglumatlar bazasynyň serweri: serwerimiz oňa girýär. Bu gatlak, amaly iş wagtynda ulanýan ähli zerur maglumatlary saklaýar.

Şeýlelik bilen, serwerimiz, ulanyja gönüden-göni girmegine rugsat bermezden, maglumatlara girmek üçin ähli borçnamalary öz üstüne alýar.

Üç derejeli binagärligiň peýdalary

Şeýle arhitekturany ulanyp, köp artykmaçlyk alýarys, şol sanda:
  1. SQL sanjymlaryndan gorag gurmak ukyby, SQL kody iberilýän serwere edilýän hüjümdir we bu kod ýerine ýetirilende hüjümçi maglumatlar bazamyza täsir edip biler.

  2. Ulanyjynyň elýeterliligini kadalaşdyrmak isleýän maglumatlarymyzyň çäklendirilmegi.

  3. Müşderä ibermezden ozal maglumatlary üýtgetmek ukyby.

  4. Göwrümliligi - şol bir maglumat bazasyny ulanjak birnäçe serwerde programmamyzy giňeltmek ukyby.

  5. Ulanyjynyň baglanyşygynyň hili üçin az talaplar. Serwerde jogap döredenimizde, köplenç maglumatlar bazasyndan köp dürli maglumatlary alýarys, formatlaşdyrýarys, diňe ulanyjynyň zerur zatlaryny goýýarys. Şeýlelik bilen, müşderä jogap hökmünde iberýän maglumatlarymyzyň mukdaryny azaldýarys.

Binagärlik nagyşlaryny näçe gezek ulanmaly?

Zawod usuly dizaýn nagşy bilen tanyş bolsaňyz , haçan ulanmalydygyňyz hakda pikir eden bolsaňyz gerek. Käwagt näme etmelidigiňizi çözmek kyn: täze operatory ulanmak ýa-da zawod usuly bilen bir obýekt döretmek. Emma wagtyň geçmegi bilen düşünişmek bolýar. Binagärlik nagyşlary bilen zatlar birneme üýtgeşik. Kärhananyň çarçuwalary, programmist üçin käbir umumy kabul edilen nagyş esasynda taslama döretmek üçin ulanylýar. Şonuň üçin “Bahar” çarçuwasyny öwrenmezden ozal, müşderi-serwer arhitekturasynyň, üç derejeli arhitekturanyň we MVC arhitekturasynyň nämedigine hökman düşünmeli. Alada etme: MVC arhitekturasy barada soňrak gürleşeris. Bölüm 1. Bahar we JavaEE öwrenmezden ozal bilmeli zatlaryňyz 3. HTTP / HTTPS protokollary 4-nji bölüm. Maven esaslary 5-nji bölüm. Webönekeý web programmasyny ýazmak 6-njy bölüm. Servlet gaplary 7-nji bölüm. MVC (Model-View-Controller) nagşy bilen tanyşdyrmak 8-nji bölüm.
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION