1. Qatlamli arxitektura uslubi




Download 8.54 Kb.
Sana21.06.2022
Hajmi8.54 Kb.
#24119
Bog'liq
Untitled 1


1.Qatlamli arxitektura uslubi

Qatlamli arxitektura, shuningdek, n-darajali arxitektura uslubi sifatida ham tanilgan, eng keng tarqalgan arxitektura uslublaridan biridir. Arxitekturaning ushbu uslubi, birinchi navbatda, soddaligi, tanishligi va arzonligi tufayli ko'pchilik ilovalar uchun amalda standart hisoblanadi. Bu, shuningdek, Konvey qonuniga ko'ra ilovalarni ishlab chiqishning juda tabiiy usulidir


tizimlarni loyihalash bilan shug'ullanadigan tashkilotlar ushbu tashkilotlarning aloqa tuzilmalarining nusxalari bo'lgan dizaynlarni ishlab chiqarishga majburdirlar. Ko'pgina tashkilotlarda foydalanuvchi interfeysi (UI) ishlab chiquvchilari, backend ishlab chiquvchilari, qoidalar ishlab chiquvchilari va ma'lumotlar bazasi ekspertlari (DBA) mavjud. Ushbu tashkiliy qatlamlar an'anaviy qatlamli arxitekturaning darajalariga mos tushadi va bu ko'plab biznes ilovalari uchun tabiiy tanlovdir. Qatlamli arxitektura uslubi, shuningdek, bir nechta me'moriy anti-naqshlarga kiradi, jumladan, arxitektura anti-naqsh va tasodifiy arxitektura anti-naqsh. Agar ishlab chiquvchi yoki arxitektor qaysi arxitektura uslubidan foydalanayotganiga ishonchi komil bo'lmasa yoki Agile ishlab chiqish jamoasi "kodlashni endigina boshlasa", ular amalga oshirayotgan qatlamli arxitektura uslubi bo'lishi ehtimoli yaxshi.

Topologiya


Qatlamli arxitektura uslubidagi komponentlar mantiqiy gorizontal qatlamlarga tashkil etilgan bo'lib, har bir qatlam dastur ichida o'ziga xos rolni bajaradi (masalan, taqdimot mantig'i yoki biznes mantig'i). Mavjud bo'lishi kerak bo'lgan qatlamlar soni va turlari bo'yicha aniq cheklovlar bo'lmasa-da, ko'pchilik qatlamli arxitekturalar to'rtta standart qatlamdan iborat: taqdimot, biznes, qat'iylik va ma'lumotlar bazasi, 10-1-rasmda ko'rsatilgan. Ba'zi hollarda, biznes qatlami va qat'iylik darajasi bitta biznes qatlamiga birlashtiriladi, ayniqsa qat'iylik mantig'i (masalan, SQL yoki HSQL) biznes qatlami komponentlari ichiga kiritilgan bo'lsa. Shunday qilib, kichikroq ilovalar faqat uchta qatlamga ega bo'lishi mumkin, kattaroq va murakkabroq biznes ilovalari esa besh yoki undan ortiq qatlamni o'z ichiga olishi mumkin.

10-2-rasmda topologiyaning turli xil variantlari fizik qatlam (tartibga solish) nuqtai nazaridan tasvirlangan. Birinchi variant taqdimot, biznes va qat'iylik qatlamlarini bitta joylashtirish birligiga birlashtiradi, ma'lumotlar bazasi qatlami odatda alohida tashqi jismoniy ma'lumotlar bazasi (yoki fayl tizimi) sifatida taqdim etiladi. Ikkinchi variant jismonan taqdimot qatlamini o'zining joylashtirish birligiga ajratadi, biznes va qat'iylik qatlamlari ikkinchi joylashtirish birligiga birlashtiriladi. Shunga qaramay, ushbu variant bilan ma'lumotlar bazasi qatlami odatda tashqi ma'lumotlar bazasi yoki fayl tizimi orqali jismoniy ajratiladi. Uchinchi variant barcha to'rtta standart qatlamni bitta joylashtirishga, shu jumladan ma'lumotlar bazasi qatlamiga birlashtiradi. Ushbu variant ichki o'rnatilgan ma'lumotlar bazasi yoki xotiradagi ma'lumotlar bazasiga ega bo'lgan kichikroq ilovalar uchun foydali bo'lishi mumkin. Ushbu uchinchi variant yordamida ko'plab mahalliy ("on-prem") mahsulotlar ishlab chiqariladi va mijozlarga etkazib beriladi.


Qatlamli arxitektura uslubining har bir qatlami arxitekturada o'ziga xos rol va mas'uliyatga ega. Misol uchun, taqdimot qatlami barcha foydalanuvchi interfeysi va brauzer aloqasi mantig'ini boshqarish uchun javobgar bo'ladi, biznes qatlami esa so'rov bilan bog'liq bo'lgan muayyan biznes qoidalarini bajarish uchun javobgar bo'ladi. Arxitekturadagi har bir qatlam ma'lum bir biznes so'rovini qondirish uchun bajarilishi kerak bo'lgan ish atrofida mavhumlikni hosil qiladi. Misol uchun, taqdimot qatlami mijozlar ma'lumotlarini qanday olishni bilishi yoki tashvishlanishi kerak emas; u faqat ma'lum bir formatda ekranda ushbu ma'lumotni ko'rsatishi kerak. Shunga o'xshab, biznes qatlami mijozlar ma'lumotlarini ekranda ko'rsatish uchun qanday formatlash yoki hatto mijoz ma'lumotlari qayerdan kelganligi haqida tashvishlanishga hojat yo'q; u faqat qat'iylik qatlamidan ma'lumotlarni olishi, ma'lumotlarga nisbatan biznes mantig'ini bajarishi (masalan, qiymatlarni hisoblash yoki ma'lumotlarni yig'ish) va bu ma'lumotlarni taqdimot qatlamiga o'tkazishi kerak. Qatlamli arxitektura uslubidagi konsernlarni bu ajratish arxitekturada samarali rollar va mas'uliyat modellarini yaratishni osonlashtiradi. Muayyan qatlam ichidagi komponentlar faqat shu qatlamga tegishli mantiq bilan bog'liq bo'lgan doirada cheklangan. Misol uchun, taqdimot qatlamidagi komponentlar faqat taqdimot mantig'ini boshqaradi, biznes darajasida joylashgan komponentlar esa faqat biznes mantig'ini boshqaradi. Bu ishlab chiquvchilarga domenning texnik jihatlariga (masalan, taqdimot mantig'i yoki qat'iylik mantig'i) e'tibor qaratish uchun o'zlarining maxsus texnik tajribasidan foydalanishga imkon beradi. Biroq, bu imtiyozning o'zaro ta'siri umumiy chaqqonlikning etishmasligi (o'zgarishlarga tezda javob berish qobiliyati). Qatlamli arxitektura - bu texnik jihatdan bo'lingan arxitektura (domenga bo'lingan arxitekturadan farqli o'laroq). Komponentlar guruhlari domen bo'yicha guruhlash o'rniga (mijoz kabi) arxitekturadagi texnik roli (masalan, taqdimot yoki biznes) bo'yicha guruhlangan. Natijada, har qanday biznes sohasi arxitekturaning barcha qatlamlari bo'ylab tarqaladi. Misol uchun, "mijoz" domeni taqdimot qatlami, biznes qatlami, qoidalar qatlami, xizmatlar qatlami va ma'lumotlar bazasi qatlamida mavjud bo'lib, ushbu domenga o'zgartirishlarni qo'llashni qiyinlashtiradi. Natijada, domenga asoslangan dizayn yondashuvi qatlamli arxitektura uslubi bilan yaxshi ishlamaydi.


Nima uchun ushbu arxitektura uslubidan foydalanish kerak


Qatlamli arxitektura uslubi kichik, oddiy ilovalar yoki veb-saytlar uchun yaxshi tanlovdir. Bu, shuningdek, juda qattiq byudjet va vaqt cheklovlari bo'lgan vaziyatlar uchun, ayniqsa, boshlang'ich nuqta sifatida yaxshi arxitektura tanlovidir. Ishlab chiquvchilar va arxitektorlar orasida soddaligi va tanishligi tufayli qatlamli arxitektura, ehtimol, eng arzon arxitektura uslublaridan biri bo'lib, kichikroq ilovalar uchun ishlab chiqish qulayligini ta'minlaydi. Qatlamli arxitektura uslubi, shuningdek, arxitektor biznes ehtiyojlari va talablarini tahlil qilayotganda va qaysi arxitektura uslubi eng yaxshi bo'lishiga ishonch hosil qilmasa, yaxshi tanlovdir. Sifatida
qatlamli arxitektura uslubidan foydalanadigan ilovalar o'sib boradi, barqarorlik, chaqqonlik, sinovdan o'tish va joylashtirish kabi xususiyatlar salbiy ta'sir qiladi. Shu sababli, qatlamli arxitekturadan foydalanadigan katta ilovalar va tizimlar boshqa modulli arxitektura uslublari uchun yaxshiroq mos bo'lishi mumkin. Arxitektura xarakteristikalari reytinglari Xususiyatlarni baholash jadvalidagi bir yulduzli reyting (10-6-rasmda ko'rsatilgan) o'ziga xos arxitektura xarakteristikasi arxitekturada yaxshi qo'llab-quvvatlanmasligini anglatadi, besh yulduzli reyting esa arxitektura xarakteristikasi eng kuchlilaridan biri ekanligini anglatadi. arxitektura uslubidagi xususiyatlar. Ko'rsatkichlar kartasida aniqlangan har bir xususiyat uchun ta'rifni 4-bobda topish mumkin.

Umumiy xarajat va soddalik qatlamli arxitektura uslubining asosiy kuchli tomonlari hisoblanadi. Tabiatan monolit bo'lgan qatlamli arxitekturalar taqsimlangan arxitektura uslublari bilan bog'liq murakkabliklarga ega emas, sodda va tushunarli, qurish va saqlash nisbatan arzon. Biroq, ehtiyot bo'lish uchun, monolit qatlamli arxitektura yo'lga qo'yilganligi sababli, bu reytinglar tezda pasayishni boshlaydi va natijada murakkablashadi.


2.Quvur liniyasi arxitektura uslubi
Qayta-qayta paydo bo'ladigan dasturiy ta'minot arxitekturasining asosiy uslublaridan biri quvur liniyasi arxitekturasidir (shuningdek, quvurlar va filtrlar arxitekturasi sifatida ham tanilgan). Ishlab chiquvchilar va arxitektorlar funksionallikni alohida qismlarga ajratishga qaror qilishlari bilanoq, bu naqsh amal qildi. Ko'pgina ishlab chiquvchilar ushbu arxitekturani Bash va Zsh kabi Unix terminal qobig'i tillari ortidagi asosiy printsip sifatida bilishadi. Ko'pgina funktsional dasturlash tillarini ishlab chiquvchilar til konstruktsiyalari va ushbu arxitektura elementlari o'rtasidagi parallellikni ko'rishadi. Aslida, MapReduce dasturlash modelidan foydalanadigan ko'plab vositalar ushbu asosiy topologiyaga amal qiladi. Ushbu misollar quvur liniyasi arxitektura uslubining past darajada amalga oshirilishini ko'rsatsa-da, undan yuqori darajadagi biznes ilovalari uchun ham foydalanish mumkin.

Topologiya


Quvurlar arxitekturasining topologiyasi 11-1-rasmda tasvirlangan quvurlar va filtrlardan iborat.

Quvurlar va filtrlar o'ziga xos tarzda muvofiqlashtiriladi, quvurlar filtrlar o'rtasida bir tomonlama aloqani hosil qiladi, odatda nuqtadan nuqtaga.


Quvurlar
Ushbu arxitekturadagi quvurlar filtrlar orasidagi aloqa kanalini tashkil qiladi. Har bir quvur odatda bir yo'nalishli va ishlash sabablariga ko'ra nuqtadan nuqtaga (efirga emas), bir manbadan kirishni qabul qiladi va har doim chiqishni boshqasiga yo'naltiradi. Quvurlardagi foydali yuk har qanday ma'lumot formati bo'lishi mumkin, ammo arxitektorlar yuqori ishlashni ta'minlash uchun kichikroq hajmdagi ma'lumotlarni afzal ko'rishadi.


Filtrlar
Filtrlar o'z-o'zidan, boshqa filtrlardan mustaqil va odatda fuqaroligi yo'q. Filtrlar faqat bitta vazifani bajarishi kerak. Kompozit vazifalar bitta emas, balki filtrlar ketma-ketligi bilan bajarilishi kerak.


Ushbu arxitektura uslubida to'rt turdagi filtr mavjud:
Ishlab chiqaruvchi
Jarayonning boshlang'ich nuqtasi, faqat chiquvchi, ba'zan manba deb ataladi.
Transformator
Kiritilgan ma'lumotlarni qabul qiladi, ixtiyoriy ravishda ma'lumotlarning bir qismini yoki barchasini o'zgartirishni amalga oshiradi, so'ngra uni chiquvchi quvurga uzatadi. Funktsional himoyachilar bu xususiyatni xarita sifatida tan oladilar.
Sinovchi
Kiritilgan ma'lumotlarni qabul qiladi, bir yoki bir nechta mezonlarni sinovdan o'tkazadi, so'ngra ixtiyoriy ravishda test asosida mahsulot ishlab chiqaradi. Funktsional dasturchilar buni kamaytirishga o'xshash deb tan oladilar.
Iste'molchi
Quvur liniyasi oqimi uchun tugatish nuqtasi. Iste'molchilar ba'zan ma'lumotlar bazasiga quvur liniyasi jarayonining yakuniy natijasini saqlab qolishadi yoki yakuniy natijalarni foydalanuvchi interfeysi ekranida ko'rsatishi mumkin.
Quvurlar va filtrlarning har birining bir tomonlama tabiati va soddaligi kompozitsion qayta foydalanishni rag'batlantiradi. Ko'pgina ishlab chiquvchilar bu qobiliyatni qobiqlardan foydalangan holda kashf qilishdi. "Ko'proq qobiq, kamroq tuxum" blogidagi mashhur hikoya bu abstraktsiyalar qanchalik kuchli ekanligini ko'rsatadi. Donald Knutdan ushbu matn bilan ishlash muammosini hal qilish uchun dastur yozishni so'rashdi: matn faylini o'qing, eng ko'p ishlatiladigan n ta so'zni aniqlang va bu so'zlarning tartiblangan ro'yxatini chastotalari bilan birga chop eting. U Paskal tilining 10 sahifasidan iborat dastur yozdi, bu yo‘lda yangi algoritmni loyihalash (va hujjatlashtirish) bilan shug‘ullandi.

Arxitektura xususiyatlari reytinglari


Xususiyatlarni baholash jadvalidagi bir yulduzli reyting 11-3-rasm o'ziga xos arxitektura xarakteristikasi arxitekturada yaxshi qo'llab-quvvatlanmasligini anglatadi, besh yulduzli reyting esa arxitektura xarakteristikasi arxitektura uslubidagi eng kuchli xususiyatlardan biri ekanligini anglatadi. Ko'rsatkichlar kartasida aniqlangan har bir xususiyat uchun ta'rifni 4-bobda topish mumkin.
Quvurlar arxitekturasi uslubi - bu dastur mantig'ini filtr turlariga (ishlab chiqaruvchi, tester, transformator va iste'molchi) bo'lish tufayli texnik jihatdan bo'lingan arxitektura. Bundan tashqari, quvur liniyasi arxitekturasi odatda monolitik joylashtirish sifatida amalga oshirilganligi sababli, me'moriy kvant har doim bitta bo'ladi.
Modullilik bilan birgalikda umumiy xarajat va soddalik quvur liniyasi arxitekturasining asosiy kuchli tomonlari hisoblanadi. Monolit xarakterga ega bo'lgan quvur liniyasi arxitekturalari tarqalgan arxitektura uslublari bilan bog'liq murakkabliklarga ega emas, sodda va tushunarli va
qurish va saqlash nisbatan arzon. Arxitektura modulligiga turli xil filtr turlari va transformatorlar o'rtasidagi tashvishlarni ajratish orqali erishiladi. Ushbu filtrlardan istalgan birini boshqa filtrlarga ta'sir qilmasdan o'zgartirish yoki almashtirish mumkin. Masalan, 11-2-rasmda ko'rsatilgan Kafka misolida Davomlilik kalkulyatori boshqa filtrlarga ta'sir qilmasdan davomiylik hisobini o'zgartirish uchun o'zgartirilishi mumkin. Joylashtirish va sinovdan o'tkazish, o'rtacha bo'lsa-da, filtrlar orqali erishilgan modullik darajasi tufayli qatlamli arxitekturadan bir oz yuqoriroq. Ya'ni, bu arxitektura uslubi
hali ham monolit va shunga o'xshash marosim, xavf, joylashtirish chastotasi va sinovni yakunlash hali ham quvur liniyasi arxitekturasiga ta'sir qiladi.
Download 8.54 Kb.




Download 8.54 Kb.