
1-ameliy PT_A
.pdf1-ámeliy sabaq. “Programmalıq támiynat arxitekturası” páninen ámeliy jumıslardıń alıp barılıwı haqqında kirisiw hám dáslepki maǵlıwmatlar
Jobası:
1.Programmalıq támiynat arxitekturasınıń tiykarǵı túsinikleri hám principleri
2.Arxitekturalıq modeller hám úlgiler
3.Arxitekturalıq qararlardı analizlew hám qabıl etiw
4.Programmalıq támiynat arxitekturasın jobalaw processi
5.Praktikalıq tapsırma: ápiwayı arxitekturanı jobalaw
Jumıstıń maqseti:
Programmalıq támiynat arxitekturası haqqında tiykarǵı túsiniklerdi úyreniw, arxitekturalıq sheshimlerdi qabıl etiw principlerin ózlestiriw hám ámeliy jobalaw tájiriybesin alıw.
Programmalıq támiynat arxitekturası túsinigi
Programmalıq támiynat arxitekturası - bul programmalıq sistemanıń qurılımı hám dizaynı bolıp, onıń komponentlerin, olardıń arasındaǵı baylanıslardı hám olardı basqaratuǵın principler hám nızamlardı anıqlaydı.
Jaqsı arxitekturanıń tiykarǵı ózgeshelikleri:
Modullik: Sistema anıq bólingen, bir-birine baylanıslı bolmaǵan komponentlerden quraladı
Keńeytiw múmkinshiligi: Jańa funkcionaldı qosıw ańsat
Masshtablanıw: Júklemeniń artıwı menen sistema ónimliligin saqlaydı
Qayta qollanıw múmkinshiligi: Komponentler basqa joybarlarda qollanıla aladı
Testlew múmkinshiligi: Sistema komponentlerin izolyaciyada testlew ańsat
Programmalıq támiynat arxitekturasınıń tiykarǵı komponentleri
1.Strukturalıq elementler - moduller, komponentler, klasslar, paketler
2.Baylanıslar hám interfeysler - komponentler arasındaǵı qatnasıqlar
3.Arxitekturalıq stiller hám úlgiler - ónimli sheshimler hám dizayn úlgileri
4.Kóz-qaraslar - arxitekturanı hár qıylı táreplerden kóriw (logikalıq, fizikalıq, process)
5.Non-funkcional talaplar - ónimlilik, qáwipsizlik, masshtablanıwshılıq
Ámeliy bólim
Tapsırma 1: Arxitekturalıq modellerdi salıstırıw
Monolit arxitekturası
Monolit arxitektura - bul barlıq komponentler bir processte jumıs isleytuǵın hám bir birligi sıpatında jaylastırılatuǵın arxitekturalıq stil.
+--------------------------------------------- |
|
|
|
|
|
|
+ |
| |
|
Monolit qosımsha |
|
|
| |
||
| |
|
|
|
|
|
|
| |
| +------------- |
|
+ |
+------------- |
|
+ |
+------- |
+ | |
| | |
Biznes- |
| |
| |
Derek |
| |
| UI |
| | |
| | |
logika |
| |
| |
qatlamı |
| |
|qatlamı| | |
|
| +------------- |
|
+ |
+------------- |
|
+ |
+------- |
+ | |
| |
|
|
|
|
|
|
| |
| +------------- |
|
+ |
+------------- |
|
+ |
|
| |
| | |
Servisler |
| |
| |
Utilita |
| |
|
| |
| | |
|
| |
| |
klasslar | |
|
| |
|
| +------------- |
|
+ |
+------------- |
|
+ |
|
| |
+--------------------------------------------- |
|
|
|
|
|
|
+ |
Artıqmashlıqları:
Islenbe hám jaylastırıw ápiwayı
Test jazıw hám ótkeriw ańsat
Komponentler arasında tez baylanıs
Kemshilikleri:
Masshtablanıw qıyın
Bir bólimdegi qáte pútkil qosımshaǵa tásir etedi
Úlken kodtı túsiniw hám qollaw qıyın
Klient-server arxitekturası
Klient-server arxitekturası - bul jumıstı eki bólekke bóletuǵın arxitektura: klient (paydalanıwshı interfeysi) hám server (biznes-logika hám maǵlıwmatlar bazası).
+ |
--------------- |
+ |
HTTP/REST |
|
+--------------- |
+ |
| |
|
|< |
-------------------- |
>| |
|
| |
| |
Klient |
| |
soraw/juwap |
| |
Server |
| |
| |
(Frontend) |
| |
|
| |
(Backend) |
| |
| |
|
| |
|
| |
|
| |
+--------------- |
|
+ |
|
+ |
--------------- |
+ |
|
|
|
|
|
| |
|
|
|
|
|
|
| |
|
|
|
|
|
+ |
--------------- |
+ |
|
|
|
|
| |
|
| |
| Maǵl. bazası |
| |
| |
| |
+--------------- |
+ |
Artıqmashlıqları:
Jaqsı masshtablanıw
Klient hám serverdi óz-ara ózbetinshe ózgertiw múmkin
Hár qıylı klientler (veb, mobil) ushın bir serverdi qollanıw múmkin
Kemshilikleri:
Monolitke salıstırǵanda quramalı infrastruktura
Tarmaq baylanısına ǵárezlik
API dizaynı hám versiyalawdı talap etedi
Tapsırma 2: Onlayn-dúkan ushın arxitektura jobalaw
Komponentler diagramması
+ |
------------------ |
+ |
+------------------ |
|
|
+ |
+ |
--------------- |
---+ |
|
|
|
|
|
|
|
|
| |
|
| |
| |
|
|
| |
| |
|
| |
|
|
|
|
|
|
|
|
| |
Paydalanıwshı |
| |
| |
Ónimlerdi |
|
| |
| |
Buyırtpa |
| |
|
|
|
|
|
|
|
|
| |
interfeysi |
| |
| |
basqarıw |
| |
| |
|
basqarıw |
| |
|
|
|
|
|
|
|
|
| |
|
| |
| |
|
|
| |
| |
|
| |
|
|
|
|
|
|
|
|
+------------------ |
|
+ |
+------------------ |
|
|
+ |
+--------------- |
|
---+ |
|
|
|
|
|
|
|
|
|
| |
|
|
| |
|
|
|
| |
|
v |
|
|
v |
|
|
|
v |
+---------------------------------------------------------- |
|
|
|
|
|
|
|
+ |
| |
|
|
|
|
|
|
|
| |
| |
API Gateway / Load Balancer |
|
|
| |
||||
| |
|
|
|
|
|
|
|
| |
+---------------------------------------------------------- |
|
|
|
|
|
|
|
+ |
|
| |
|
|
| |
|
|
|
| |
|
v |
|
|
v |
|
|
|
v |
+------------------ |
|
+ |
+------------------ |
|
|
+ |
+--------------- |
|
---+ |
|
|
|
|
|
|
|
|
| |
|
| |
| |
|
|
| |
| |
|
| |
|
|
|
|
|
|
|
|
| Autentifikaciya |
| |
| |
Katalog |
|
| |
| |
Tólem |
|
| |
|
|
|
|
|
|
|
|
| hám avtorizaciya |
| |
| |
servisi |
|
| |
| |
servisi |
|
| |
|
|
|
|
|
|
|
|
| |
|
| |
| |
|
|
| |
| |
|
| |
|
|
|
|
|
|
|
|
+------------------ |
+ |
+------------------ |
|
+ |
+ |
--------------- |
---+ |
|
|
|
|
|
|
| |
|
|
| |
|
|
| |
v |
|
|
v |
|
|
v |
+------------------ |
+ |
+------------------ |
|
+ |
+--------------- |
|
---+ |
|
|
|
|
|
|
| |
| |
| |
|
| |
| |
|
| |
|
|
|
|
|
|
| Paydalanıwshılar |
| |
| |
Ónimler |
| |
| |
Buyırtpalar |
| |
|
|
|
|
|
|
| maǵl. bazası |
| |
| |
maǵl. bazası |
| |
| |
maǵl. bazası |
| |
|
|
|
|
|
|
| |
| |
| |
|
| |
| |
|
| |
|
|
|
|
|
|
+------------------ |
+ |
+------------------ |
|
+ |
+--------------- |
|
---+ |
|
|
|
|
|
|
Komponentler arasındaǵı baylanıslar hám juwapkershilikler
1. Paydalanıwshı interfeysi (UI)
o Funkciyaları: Paydalanıwshı menen óz-ara tásir, formalardı kórsetiw hám validaciyalaw
o Baylanıslar: API Gateway arqalı barlıq servisler menen baylanısadı
2. API Gateway / Load Balancer
o Funkciyaları: Sorawlardı marshrutizaciyalaw, júklemeni teńlestiriw, autentifikaciya
oBaylanıslar: Barlıq mikroservisler menen baylanısadı
3.Autentifikaciya hám avtorizaciya servisi
oFunkciyaları: Paydalanıwshılardı tekseriw, ruqsatlardı basqarıw
oBaylanıslar: Paydalanıwshılar maǵlıwmatlar bazası
4.Katalog servisi
oFunkciyaları: Ónimlerdi izlew, filtrlew hám sortlaw
oBaylanıslar: Ónimler maǵlıwmatlar bazası
5.Tólem servisi
oFunkciyaları: Tólemlerdi qabıl etiw hám óndiriw
oBaylanıslar: Buyırtpalar maǵlıwmatlar bazası, sırtqı tólem shlyuzları
6.Maǵlıwmatlar bazaları
oFunkciyaları: Maǵlıwmatlardı saqlaw hám olarǵa qatnasıwdı
támiyinlew
o Baylanıslar: Tiyisli servisler menen baylanısadı
Arxitekturalıq sheshimlerdi tiykarlaw
1. Mikroservisler arxitekturası tańlandı, sebebi:
o Hár bir komponentti óz-ózinshe masshtablaw múmkinshiligi o Hár qıylı texnologiyalardı qollanıw múmkinshiligi
o Durıs bólingen juwapkershilikler
o Komanda arasında jumıstı bólistiriw ańsat
2. API Gateway qollanıldı, sebebi:
oPaydalanıwshı interfeysi tárepinen jiberilediǵan sorawlardı birlestiriw
oJúklemeni teńlestiriw hám kesh qollanıw arqalı ónimlilikti arttırıw
oOraylastırılǵan autentifikaciya hám avtorizaciya
3.Bólek maǵlıwmatlar bazaları qollanıldı, sebebi:
oHár bir servis óz maǵlıwmatlarına iye boladı
o Bir maǵlıwmatlar bazasına júkleme joqarılawı keri tásir etpeydi o Hár qıylı maǵlıwmatlar bazası túrlerin qollanıw múmkinshiligi
Alternativ arxitekturalıq modeller
1. Monolit arxitektura
o Artıqmashlıǵı: Islenbe baslamasında tezirek hám ápiwayıraq
oKemshiligi: Júkleme artqanda masshtablanıw hám qollaw qıyın
2.Serverless arxitektura
oArtıqmashlıǵı: Infrastrukturanı basqarıw shárt emes
o Kemshiligi: Funkciyalar arasındaǵı baylanıslar quramalı, joqarı keshigiwler
3. Monolit bekend + ayırım frontend
o Artıqmashlıǵı: Bekendti islenbe qılıw ápiwayı, biraq hár qıylı klient túrlerin qollaydı
o Kemshiligi: Monolitke tán masshtablanıw máseleleri
Arxitekturanı tekseriw ushın kriteriyler
1. Ónimlilik
o Sorawlarǵa juwap beriw waqtı (200ms-tan kem bolıwı kerek)
o Bir waqıtta qayta isley alatuǵın sorawlar sanı (keminde 1000 soraw/sekund)
2. Masshtablanıw
oJúkleme artqan jaǵdayda avtomatik túrde jańa ekzemplyarlardı qosıw múmkinshiligi
oResurslardı tiyimli qollanıw
3.Isenimlilik
oKomponentlerdiń birewi islemey qalǵan jaǵdayda sistema jumısın dawam ete alıwı
oMaǵlıwmatlardıń saqlanıp qalıwı hám pútinligi
4.Qáwipsizlik
oBarlıq trafiktiń shifrlanǵan bolıwı (HTTPS)
o Parollardı hesh-funkciyalar menen saqlaw
o SQL-inekciyalarǵa, XSS hám CSRF hújimlerine qarsı qorǵanıw
Bul ámeliy jumısta biz programmalıq támiynat arxitekturasınıń tiykarǵı túsiniklerin úyrendik, hár qıylı arxitekturalıq modellerdi salıstırdıq hám onlayndúkan ushın arxitekturanı jobaladıq. Mikroservisler arxitekturasınıń

artıqmashlıqların hám kemshiliklerin analizledik hám arxitekturalıq sheshimlerdi tiykarladıq.
Jobalanǵan arxitektura joqarı júklemelerde de isenimli hám masshtablanatuǵın bolıp tabıladı, hám keleshekte jańa funkcionaldı qosıw ushın keńeytiw múmkinshiligine iye.
Máseleniń qoyılıwı, ámeliy tapsırmalar:
1-tapsırma: Programmalıq támiynat arxitekturasınıń tiykarǵı komponentlerin anıqlaw
Programmalıq támiynat arxitekturasınıń anıqlamasın beriw
Jaqsı arxitekturanıń tiykarǵı ózgesheliklerin atap ótiw
Programmalıq támiynat arxitekturasınıń tiykarǵı komponentlerin sanap shıǵıw
2-tapsırma: Ápiwayı hám eki qatlamlı arxitektura modellerin salıstırıw
Monolit arxitekturanı sızılma túrinde kórsetiw
Klient-server arxitekturanı sızılma túrinde kórsetiw
Hár birewiniń artıqmashlıqların hám kemshiliklerin analizlew
3-tapsırma: Praktikalıq jobalaw
Ápiwayı onlayn-dúkan sisteması ushın arxitekturanı jobalaw
Tómendegilerdi óz ishine alıw kerek:
o Komponentler diagramması
o Komponentler arasındaǵı baylanıslar o Hár bir komponenttiń juwapkershiligi
4-tapsırma: Jobalanǵan arxitekturanı prezentaciya qılıw
Saylanǵan arxitekturalıq sheshimlerdi tiykarlaw
Alternativ arxitekturalıq modellerdi atap ótiw
Arxitekturanı tekseriw ushın kriteriylerdi atap ótiw
Ámeliy jumıstı orınlaw izbe-izligi:
1.Teoriyalıq materialdı úyreniw
2.Ápiwayı sızılmalardı sızıw
3.Praktikalıq tapsırmanı orınlaw
4.Nátiyjelerdi analizlew hám juwmaqlaw
5.Orınlanǵan jumıstıń esabatın tayarlaw