Birinchi daraja - bu qatlamli arxitektura mijoz-serverining terminali. Ko'p darajali mijoz-server tizimlari

Foyda

Ko'pgina hollarda funktsiyalarni taqsimlashga imkon beradi hisoblash tizimi tarmoqdagi bir nechta mustaqil kompyuterlar o'rtasida. Bu hisoblash tizimiga xizmat ko'rsatishni osonlashtiradi. Xususan, mijozlarni serverni almashtirish, ta'mirlash, yangilash yoki boshqa joyga ko'chirish ta'sir qilmaydi.

· Barcha ma'lumotlar serverda saqlanadi, bu odatda ko'pchilik mijozlarga qaraganda ancha xavfsizroq. Ma'lumotlarga faqat kirish huquqiga ega bo'lgan mijozlar kirishlari uchun serverda avtorizatsiyani kuchaytirish osonroq.

· Turli xil mijozlarni birlashtirishga imkon beradi. Turli xil apparat platformalariga, operatsion tizimlarga va boshqalarga ega bo'lgan mijozlar ko'pincha bitta serverning resurslaridan foydalanishlari mumkin.

kamchiliklar

· Serverning ishdan chiqishi butun kompyuter tarmog'ini ishlamay qolishi mumkin.

· Ushbu tizimni qo'llab-quvvatlash uchun alohida mutaxassis - tizim ma'muri kerak.

· Uskunaning yuqori narxi.

Qatlamli mijoz-server arxitekturasi

Ko'p darajali mijoz-server arxitekturasi - bu ma'lumotlarni qayta ishlash funktsiyasi bir yoki bir nechta alohida serverlarga o'tkaziladigan mijoz-server arxitekturasining bir turi. Bu sizga serverlar va mijozlar imkoniyatlaridan yanada samarali foydalanish uchun ma'lumotlarni saqlash, qayta ishlash va taqdim etish funktsiyalarini ajratishga imkon beradi.

Qatlamli arxitekturaning maxsus holatlari:

IN kompyuter texnologiyalari uch darajali arxitektura, uch qavatli arxitektura bilan sinonim (ing. three-tier or Multitier architecture) quyidagi dastur tarkibiy qismlarining mavjudligini nazarda tutadi: mijoz dasturi (odatda ular " ingichka mijoz»Yoki terminal) dastur serveriga ulangan, bu esa o'z navbatida ma'lumotlar bazasi serveriga ulangan.

Arxitektura haqida umumiy ma'lumot

Mijoz birinchi darajani, oxirgi foydalanuvchi uchun haqiqiy dasturni ifodalovchi interfeys (odatda grafik) komponentidir. Birinchi daraja ma'lumotlar bazasi bilan to'g'ridan-to'g'ri aloqalarga ega bo'lmasligi kerak (xavfsizlik talablari uchun), asosiy ish mantig'i bilan yuklanishi kerak (o'lchov talablari uchun) va dastur holatini saqlaydi (ishonchlilik talablari uchun). Eng oddiy biznes mantig'i bo'lishi mumkin va odatda birinchi darajaga ko'tariladi: avtorizatsiya interfeysi, shifrlash algoritmlari, kiritilgan qiymatlarni haqiqiyligi va formatga muvofiqligini tekshirish, terminalda allaqachon o'rnatilgan ma'lumotlar bilan oddiy operatsiyalar (saralash, guruhlash, hisoblash).

Ilova serveri ikkinchi darajada joylashgan. Ikkinchi daraja biznes mantiqining katta qismini o'z ichiga oladi. Uning tashqarisida terminallarga eksport qilingan qismlar (yuqoriga qarang), shuningdek, uchinchi darajaga botirilgan saqlangan protseduralar va tetikler mavjud.

Ma'lumotlar bazasi serveri ma'lumotlarni saqlashni ta'minlaydi va uchinchi darajaga o'tkaziladi. Bu odatda standart relyatsion yoki ob'ektga yo'naltirilgan ma'lumotlar bazasini boshqarish tizimi. Agar uchinchi daraja saqlangan protseduralar bilan bir qatorda ma'lumotlar bazasi bo'lsa, triggerlar va dasturni quyidagicha tavsiflovchi sxema munosabat modeli, so'ngra ikkinchi daraja mijoz komponentlarini ma'lumotlar bazasining dastur mantig'iga bog'laydigan dasturlash interfeysi sifatida qurilgan.

Eng sodda konfiguratsiyada jismoniy dastur serverini bitta kompyuterda ma'lumotlar bazasi serveri bilan birlashtirish mumkin, unga tarmoq orqali bir yoki bir nechta terminal ulanadi.

"To'g'ri" (xavfsizlik, ishonchlilik, kattalashtirish nuqtai nazaridan) konfiguratsiyasida ma'lumotlar bazasi serveri ajratilgan kompyuterda (yoki klasterda) joylashgan bo'lib, unga bir yoki bir nechta dastur serverlari tarmoq orqali ulanadi, bu esa o'z navbatida terminallar tarmoq orqali ulanadi.

Afzalliklari

Mijoz-server yoki fayl-server arxitekturasi bilan taqqoslaganda, uch bosqichli arxitekturaning quyidagi afzalliklarini ajratish mumkin:

Miqyosi

Konfiguratsiya - darajalarni bir-biridan ajratib olish (me'morchilikni to'g'ri joylashtirish bilan) tez va oddiy vositalar bilan ishlamay qolganda yoki darajalardan birida rejalashtirilgan texnik xizmat ko'rsatish vaqtida tizimni qayta sozlang

Yuqori xavfsizlik

Yuqori ishonchlilik

Terminallar va dastur serveri o'rtasida kanal (tarmoq) tezligiga past talablar

Kam ishlash talablari va texnik xususiyatlar terminallar, ularning narxining pasayishi natijasida. Terminal nafaqat kompyuter, balki, masalan, mobil telefon ham bo'lishi mumkin.

kamchiliklar

Kamchiliklar savobdan kelib chiqadi. Mijoz-server yoki fayl-server arxitekturasi bilan taqqoslaganda, uch bosqichli arxitekturaning quyidagi kamchiliklarini ajratish mumkin:

· Ilovalarni yaratishning yuqori murakkabligi;

· Joylashtirish va boshqarish ancha qiyin;

· Dastur serverlari va ma'lumotlar bazasi serverining ishlashiga yuqori talablar va shuning uchun serverlar uchun qo'shimcha qurilmalarning narxi;

· Ma'lumotlar bazasi serveri va dastur serverlari o'rtasida kanal (tarmoq) tezligiga yuqori talablar.


Klassik mijoz-server arxitekturasi

"Mijoz-server" atamasi uning funktsional qismlari "so'rov-javob" sxemasi bo'yicha o'zaro ta'sir qiladigan dasturiy ta'minot to'plami arxitekturasini anglatadi. Agar ushbu kompleksning o'zaro ta'sir qiladigan ikkita qismini ko'rib chiqsak, unda ulardan biri (mijoz) faol funktsiyani bajaradi, ya'ni so'rovlarni boshlaydi, ikkinchisi (server) ularga passiv javob beradi. Tizim rivojlanib borishi bilan rollar o'zgarishi mumkin, masalan, ba'zi bir dastur bo'linmalari bir vaqtning o'zida serverning funktsiyalarini bir birlikka va mijozning boshqasiga nisbatan bajaradi.

E'tibor bering, har qanday axborot tizimi kamida uchta asosiy funktsional qismga ega bo'lishi kerak - ma'lumotlarni saqlash, qayta ishlash va foydalanuvchi bilan interfeys uchun modullar. Ushbu qismlarning har biri qolgan ikkitasidan mustaqil ravishda amalga oshirilishi mumkin. Masalan, ma'lumotlarni saqlash va qayta ishlash uchun ishlatiladigan dasturlarni o'zgartirmasdan foydalanuvchi interfeysini o'zgartirishingiz mumkin, shunda bir xil ma'lumotlar jadvallar, grafikalar yoki gistogrammalar ko'rinishida aks etadi. Ma'lumotlarni taqdim etish va saqlash dasturlarini o'zgartirmasdan, masalan, to'liq matnli qidirish algoritmini o'zgartirib, ishlov berish dasturlarini o'zgartirishingiz mumkin. Va nihoyat, ma'lumotlarni taqdim etish va qayta ishlash dasturlarini o'zgartirmasdan, masalan, boshqa fayl tizimiga o'tish orqali ma'lumotlarni saqlash dasturini o'zgartirishingiz mumkin.

Klassik mijoz-server arxitekturasida siz dasturning uchta asosiy qismini ikkita jismoniy modulga taqsimlashingiz kerak. Odatda, ma'lumotlarni saqlash dasturi serverda joylashgan (masalan, ma'lumotlar bazasi serveri), foydalanuvchi interfeysi mijoz tomonida, ammo ma'lumotlarni qayta ishlash mijoz va server qismlari o'rtasida taqsimlanishi kerak. Bu ikki darajali arxitekturaning asosiy kamchiligi, undan bir nechta noxush xususiyatlar kelib chiqadi, bu esa mijoz-server tizimlarining rivojlanishini ancha qiyinlashtiradi.

Ma'lumotlarni qayta ishlash algoritmlarini ajratishda tizimning ikkala qismining xatti-harakatlarini sinxronlashtirish kerak. Barcha ishlab chiquvchilar tizimga kiritilgan so'nggi o'zgarishlardan to'liq xabardor bo'lishlari va ushbu o'zgarishlarni tushunishlari kerak. Bu mijoz-server tizimlarini ishlab chiqish, ularni o'rnatish va texnik xizmat ko'rsatishda katta qiyinchiliklarni keltirib chiqaradi, chunki turli guruh mutaxassislari harakatlarini muvofiqlashtirishga katta kuch sarflash zarur. Ishlab chiquvchilarning harakatlarida ko'pincha qarama-qarshiliklar paydo bo'ladi va bu tizim rivojlanishini sekinlashtiradi va ularni allaqachon tayyorlangan va sinovdan o'tgan elementlarni o'zgartirishga majbur qiladi.

Arxitekturaning turli xil elementlari nomuvofiqligini oldini olish uchun ma'lumotlarni fizikaviy qismlardan birida - mijoz tomonidan (qalin mijoz) yoki serverda (ingichka mijoz yoki 2,5 darajali mijoz deb nomlangan arxitektura) birida qayta ishlashga urinishlar amalga oshiriladi. server "). Har bir yondashuvning kamchiliklari bor. Birinchi holda, tarmoq asossiz ravishda haddan tashqari yuklangan, chunki xom, shuning uchun ortiqcha ma'lumotlar uzatiladi. Bundan tashqari, tizimni qo'llab-quvvatlash va uning modifikatsiyasi yanada murakkablashadi, chunki hisoblash algoritmini almashtirish yoki xatoni tuzatish barcha interfeys dasturlarini bir vaqtning o'zida to'liq almashtirishni talab qiladi, aks holda xatolar yoki ma'lumotlar ziddiyatlari yuzaga kelishi mumkin. Agar barcha ma'lumotlarni qayta ishlash serverda amalga oshirilsa (bu umuman mumkin bo'lsa), unda ichki protseduralarni tavsiflash va ularni disk raskadrovka qilish muammosi paydo bo'ladi. Haqiqat shundaki, o'rnatilgan protseduralarni tavsiflash uchun til odatda deklarativdir va shuning uchun printsipial ravishda bosqichma-bosqich tuzatishga yo'l qo'ymaydi. Bundan tashqari, serverda ma'lumotlarni qayta ishlaydigan tizimni boshqa platformaga o'tkazish mutlaqo mumkin emas, bu jiddiy kamchilik.

Turli xil ma'lumotlar bazalari bilan ishlaydigan tezkor dasturlarni ishlab chiqish (RAD) vositalarining aksariyati birinchi strategiyani amalga oshiradi, ya'ni semiz mijoz o'rnatilgan SQL orqali ma'lumotlar bazasi serveriga interfeys beradi. "Qalin" mijozga ega tizimni amalga oshirishning ushbu versiyasi, yuqorida sanab o'tilgan kamchiliklardan tashqari, odatda xavfsizlikning qabul qilib bo'lmaydigan darajada pastligini ta'minlaydi. Masalan, bank tizimlarida barcha kassirlar asosiy jadvalga yozish huquqini berishlari kerak buxgalteriya tizimi... Bundan tashqari, ushbu tizim veb-texnologiyalarga tarjima qilish deyarli mumkin emas, chunki ma'lumotlar bazasi serveriga kirish uchun ixtisoslashgan mijoz dasturlari ishlatiladi.

Shunday qilib, yuqorida muhokama qilingan modellar quyidagi kamchiliklarga ega.

1. "Qalin" mijoz:
# ma'muriyatning murakkabligi;
# dasturiy ta'minotni yangilash yanada murakkablashadi, chunki uni butun tizimda bir vaqtning o'zida almashtirish kerak;
# vakolatlarni taqsimlash yanada murakkablashadi, chunki kirish harakatlar bilan emas, balki jadvallar bilan farqlanadi;
# xom ma'lumotlar uzatilishi tufayli tarmoq haddan tashqari yuklangan;
# zaif ma'lumotlarni himoya qilish, chunki vakolatni to'g'ri taqsimlash qiyin.

2. "Qalin" server:
# dastur yanada murakkablashadi, chunki PL / SQL kabi tillar bunday dasturiy ta'minotni ishlab chiqishga yaroqsiz va mos emas yaxshi vositalar disk raskadrovka;
# PL / SQL kabi tillarda yozilgan dasturlarning ishlashi boshqa tizimlarda yozilgan dasturlardan ancha past, bu murakkab tizimlar uchun muhimdir;
# DBMS tillarida yozilgan dasturlar odatda etarlicha ishonchli ishlamaydi; ulardagi xato butun ma'lumotlar bazasi serverining ishdan chiqishiga olib kelishi mumkin;
# natijada paydo bo'lgan dasturlar boshqa tizimlar va platformalar uchun to'liq ko'chib o'tmaydi.

Ro'yxatdagi muammolarni hal qilish uchun ko'p darajali (uch va undan ortiq darajalar) mijoz-server arxitekturasidan foydalaniladi.

Qatlamli mijoz-server arxitekturalari

Bunday arxitekturalar ma'lumotni qayta ishlash birliklarini yanada oqilona taqsimlaydi, bu holda ular bir yoki bir nechta alohida serverlarda bajariladi. Ushbu dastur modullari foydalanuvchi interfeyslari uchun server va ma'lumotlar bazasi serverlari uchun mijoz vazifasini bajaradi. Bundan tashqari, turli xil dastur serverlari tizimni aniq rollarni bajaradigan funktsional bloklarga aniqroq ajratish uchun bir-biri bilan ta'sir o'tkazishi mumkin. Masalan, siz xodimlarni boshqarish uchun zarur bo'lgan barcha funktsiyalarni bajaradigan xodimlarni boshqarish serverini tanlashingiz mumkin. Uni alohida ma'lumotlar bazasi bilan bog'lash orqali siz ushbu serverning barcha bajarilish tafsilotlarini foydalanuvchilardan yashirishingiz mumkin, bu ularga faqat uning umumiy funktsiyalariga kirishga imkon beradi. Bundan tashqari, bunday tizimni Internetga moslashtirish juda oson, chunki foydalanuvchilar uchun html shakllarini ishlab chiqish barcha ma'lumotlarga qaraganda ma'lum ma'lumotlar bazasi funktsiyalariga kirish uchun osonroqdir.

Uch pog'onali arxitekturada ingichka mijoz ma'lumotlarni qayta ishlash funktsiyalari bilan ortiqcha yuklanmaydi, balki dastur serveridan ma'lumotlarni taqdim etish tizimi sifatida asosiy rolini o'ynaydi. Bunday interfeys yordamida amalga oshirilishi mumkin standart vositalar Veb-texnologiyalar - brauzer, CGI va Java. Bu mijoz va dastur serveri o'rtasida uzatiladigan ma'lumotlarning hajmini kamaytiradi va mijoz kompyuterlarini hatto telefon liniyalari kabi sekin chiziqlar orqali ham ulashga imkon beradi. Bundan tashqari, mijoz tomoni shunchalik sodda bo'lishi mumkinki, aksariyat hollarda u umumiy brauzer yordamida amalga oshiriladi. Ammo agar siz hali ham uni o'zgartirishingiz kerak bo'lsa, unda ushbu protsedura tez va og'riqsiz tarzda amalga oshirilishi mumkin. Uch darajali mijoz-server arxitekturasi foydalanuvchi ruxsatlarini aniqroq belgilashga imkon beradi, chunki ular ma'lumotlar bazasiga emas, balki dastur serverining ba'zi funktsiyalariga kirish huquqlarini oladilar. Bu tizimning xavfsizligini oshiradi (odatdagi arxitektura bilan taqqoslaganda) nafaqat qasddan qilingan hujumlarga, balki xodimlarning xato harakatlariga qarshi.

Masalan, turli qismlari bir nechta ustida ishlaydigan tizimni ko'rib chiqing uzoq do'st boshqa serverlardan. Aytaylik, ishlab chiqaruvchidan tizimning yangi versiyasi olingan, uni o'rnatish uchun ikki bosqichli arxitekturada bir vaqtning o'zida barcha tizim modullarini o'zgartirish kerak. Agar bu bajarilmasa, eski mijozlarning yangi serverlar bilan o'zaro aloqasi oldindan aytib bo'lmaydigan oqibatlarga olib kelishi mumkin, chunki ishlab chiquvchilar odatda tizimdan bunday foydalanishga ishonishmaydi. Uch bosqichli arxitekturada vaziyat soddalashtirilgan. Haqiqat shundaki, dastur serverini va ma'lumotlarni saqlash serverini o'zgartirib (buni bir vaqtning o'zida bajarish oson, chunki ikkalasi ham yaqin joyda joylashgan), biz darhol mavjud xizmatlar to'plamini o'zgartiramiz. Shunday qilib, server versiyalari va mijoz qismlarining mos kelmasligi sababli xato ehtimoli keskin kamayadi. Agar bo'lsa yangi versiya har qanday xizmat yo'qoldi, keyin unga xizmat qilgan interfeys elementlari eski tizimshunchaki ishlamaydi. Agar xizmatning algoritmi o'zgargan bo'lsa, u eski interfeys bilan ham to'g'ri ishlaydi.

Ko'p darajali mijoz-server tizimlarini Web-texnologiyalarga osongina o'tkazish mumkin - buning uchun mijoz qismini universal yoki ixtisoslashgan brauzer bilan almashtirish va dastur serverini veb-server va kichik server protseduralarini chaqirish dasturlari bilan to'ldirish kifoya. Ushbu dasturlarni ishlab chiqish uchun siz Common Gateway Interface (CGI) va boshqalarni ishlatishingiz mumkin zamonaviy texnologiyalar Java.

Shuni ham ta'kidlash kerakki, uch bosqichli tizimda ko'plab ma'lumotlar dastur serveri va ma'lumotlar bazasi o'rtasidagi aloqa kanali orqali uzatiladi. Biroq, bu hisob-kitoblarni susaytirmaydi, chunki ko'rsatilgan elementlarni ulash uchun tezroq chiziqlardan foydalanish mumkin. Buning uchun minimal xarajat talab etiladi, chunki ikkala server odatda bitta xonada joylashgan. Shunday qilib, tizimning umumiy ishlashi oshadi - hozirda bir xil vazifada ikki xil server ishlaydi va ular orasidagi aloqa eng tezkor liniyalar orqali amalga oshirilishi mumkin. minimal xarajat mablag'lar. To'g'ri, tranzaktsion menejerlar echishga chaqirilgan qo'shma hisoblashning izchilligi muammosi mavjud - ko'p bosqichli tizimlarning yangi elementlari.

]. Bu sizga serverlar va mijozlar imkoniyatlaridan yanada samarali foydalanish uchun ma'lumotlarni saqlash, qayta ishlash va taqdim etish funktsiyalarini ajratishga imkon beradi.

Ko'p darajali mijoz-server arxitekturasi orasida eng keng tarqalgan uch bosqichli arxitektura ( uch bosqichli arxitektura, uch darajali), bu quyidagi dastur tarkibiy qismlarining mavjudligini nazarda tutadi: mijoz dastur (odatda "ingichka mijoz" yoki terminal deyishadi) ulangan dastur serveribu o'z navbatida ulangan ma'lumotlar bazasi serveri [ , ].

Anjir. 5.4.


Shakl: 5.4.Qatlamli mijoz-server arxitekturasini aks ettiradi

  • Terminal - bu interfeys (odatda grafik) komponent bo'lib, u birinchi darajani, oxirgi foydalanuvchi uchun haqiqiy dasturni ifodalaydi. Birinchi daraja ma'lumotlar bazasi bilan to'g'ridan-to'g'ri aloqalarga ega bo'lmasligi kerak (xavfsizlik talablari uchun), asosiy ish mantig'i bilan yuklanishi kerak (o'lchov talablari uchun) va dastur holatini saqlaydi (ishonchlilik talablari uchun). Eng oddiy biznes mantig'i bo'lishi mumkin va odatda birinchi darajaga ko'tariladi: avtorizatsiya interfeysi, shifrlash algoritmlari, kiritilgan qiymatlarning haqiqiyligi va formatga muvofiqligini tekshirish, terminalda allaqachon o'rnatilgan ma'lumotlar bilan oddiy operatsiyalar (saralash, guruhlash, hisoblash).
  • Ilovalar serveri ikkinchi darajada joylashgan. Ikkinchi daraja biznes mantiqining katta qismini o'z ichiga oladi. Uning tashqarisida terminallarga eksport qilingan fragmentlar, shuningdek saqlanadigan protseduralar va uchinchi darajaga botirilganlar mavjud.
  • Ma'lumotlar bazasi serveri ma'lumotlarni saqlashni ta'minlaydi va uchinchi darajaga etkaziladi. Bu odatda standart relyatsion yoki ob'ektga yo'naltirilgan ma'lumotlar bazasini boshqarish tizimi. Uchinchi daraja ma'lumotlar bazasi saqlangan protseduralar, triggerlar va dasturni relyatsion model nuqtai nazaridan tavsiflovchi sxema bilan ta'minlangan bo'lsa, ikkinchi daraja mijoz komponentlarini ma'lumotlar bazasining dastur mantig'iga bog'laydigan dasturlash interfeysi sifatida qurilgan.

Jismoniy jihatdan eng oddiy konfiguratsiyada ilovalar serveri bilan birlashtirilishi mumkin ma'lumotlar bazasi serveri bir yoki bir nechta terminallar tarmoq orqali ulangan bitta kompyuterda.

"To'g'ri" (xavfsizlik, ishonchlilik, o'lchovlilik nuqtai nazaridan) konfiguratsiyasida ma'lumotlar bazasi serveri bir yoki bir nechtasi ajratilgan kompyuterda (yoki klasterda) joylashgan dastur serverlari, o'z navbatida, terminallar tarmoq orqali ulanadi.

  • {!LANG-761313f1c09a94d35936694faf07924f!}
  • {!LANG-9e3bd761376997b1a0f69f76b71337d3!}
  • {!LANG-131826f16354eaa5cda5056dfb007a4e!}
  • {!LANG-edb4133364654a5fbef64d3c1c3d8749!}
  • {!LANG-6b556e748b34632af4cbc1683293e546!}
  • {!LANG-4e7d42a8c97a46974b446b95cc9da00a!} {!LANG-525649d95372255f9a1c34600cfbe1dd!};
  • {!LANG-00bae090155c66b962025b391a92654e!}
  • {!LANG-7fecc985bd301e03fc13b202e5f7c3a1!}
  • {!LANG-5cc3335b2cee3542dd6f9c20213a4c3a!}
  • {!LANG-de23caa0076b7cfd6f01360178bdcf24!}
  • {!LANG-3961ad5a883f69641a2c22bd2a5eec45!} dastur serverlari{!LANG-73365e38bf2b65234d77914e34d9fae0!} {!LANG-4c49c222544cb0277dbccecffd9ea7cd!}{!LANG-70fbfb5d7ebdfc3c611e522c9fd7b27f!}
  • {!LANG-55434261324f89e6ef610bbed284dcc9!} ma'lumotlar bazasi serveri{!LANG-73365e38bf2b65234d77914e34d9fae0!} {!LANG-40a9a991ee00e9329609d84e4e25b769!}.
  1. {!LANG-89da07510fb9c3b81c2c485e9b47e665!}
  2. {!LANG-aca14d047d4d93bc64c4fd015b301393!}
  3. {!LANG-df783e6bd37d07b2d0e7cfe8e89755d3!}
  4. {!LANG-650a9b7c1e9629a0364b03ab38c1fec3!}
  5. {!LANG-5dd7e921baeb05354548438c937e1202!}


{!LANG-70f608367a61d7dcad52499cebc92838!}{!LANG-ac244e7abfbe6ff7d82154a1efb1100b!}

{!LANG-7cef5e10342dd74f92d57a4c9c261995!}

{!LANG-66a48e61b066d58c8297ad401eeffb03!}

Mantiqiy daraja tizimning oldiga qo'yilgan maqsadga erishish uchun mo'ljallangan asosiy funktsiyalarini o'z ichiga oladi. Ushbu funktsiyalarga kiritilgan va saqlangan ma'lumotlarga asoslangan hisoblash, barcha ma'lumotlar elementlarini tasdiqlash va taqdimot sathidan buyruqlarni qayta ishlash va ma'lumotlar qatlamiga ma'lumotlarni uzatish kiradi.

Ma'lumotlarga kirish darajasi - bu dastur nomidan vazifalarni bajaradigan uchinchi tomon tizimlari bilan o'zaro ishlashni ta'minlaydigan funktsiyalarning quyi qismidir.

Tizim ma'lumotlari odatda ma'lumotlar bazasida saqlanadi.

5.1.6. Tarqatilgan tizimlar arxitekturasi

Ushbu turdagi tizim tizimni tashkil etish nuqtai nazaridan ancha murakkab. Mohiyati tarqatildi tizimlar muhim ma'lumotlarning mahalliy nusxalarini saqlashdir.

Bunday arxitekturani rasmda ko'rsatilgandek sxematik tarzda namoyish etish mumkin. 5.6.


Shakl: 5.6.

Korxonalarni boshqarishda foydalaniladigan ma'lumotlarning 95% dan ortig'i bittasida joylashgan bo'lishi mumkin shaxsiy kompyuter, uning mustaqil ishi imkoniyatini ta'minlash. Ushbu kompyuterda yaratilgan yamalar va qo'shimchalar oqimi ishlatilgan ma'lumotlarning miqdori bilan taqqoslaganda juda kam. Shuning uchun, agar siz doimiy ravishda ishlatilgan ma'lumotlarni kompyuterlarning o'zida saqlasangiz va ular orasidagi saqlangan ma'lumotlarga tuzatishlar va qo'shimchalar almashinuvini tashkil qilsangiz, u holda umumiy uzatilgan trafik keskin pasayadi. Bu sizga kompyuterlar o'rtasidagi aloqa kanallariga bo'lgan talablarni kamaytirishga va ko'pincha asinxron aloqadan foydalanishga imkon beradi va shu bilan ishonchli ishlaydigan taqsimlangan tarmoqlarni yaratadi. axborot tizimlariindividual elementlarni ulash uchun Internet kabi beqaror ulanishdan foydalanish, mobil aloqa, tijorat sun'iy yo'ldosh kanallari. Va elementlar orasidagi trafikni minimallashtirish bunday ulanishni ishlatish narxini ancha arzon qiladi. Albatta, bunday tizimni amalga oshirish oddiy emas va bir qator muammolarni hal qilishni talab qiladi, ulardan biri ma'lumotlarni o'z vaqtida sinxronlashtirishdir.

Har bir AWS mustaqil bo'lib, faqat u bilan ishlashi kerak bo'lgan ma'lumotlarni o'z ichiga oladi va butun tizimdagi ma'lumotlarning dolzarbligi boshqa AWSlar bilan uzluksiz xabarlar almashinuvi orqali ta'minlanadi. AWPlar o'rtasida xabar almashinuvi amalga oshirilishi mumkin turli xil yo'llar, ma'lumotni yuborishdan elektron pochta tarmoqlar orqali ma'lumotlarni uzatishdan oldin.

Ro'yxatdagi muammolarni hal qilish uchun ko'p darajali (uch va undan ortiq darajalar) mijoz-server arxitekturasidan foydalaniladi.

Bunday arxitektura ma'lumotni qayta ishlash modullarini yanada oqilona taqsimlaydi ish bir yoki bir nechta alohida serverlarda ishlaydi. Ushbu dastur modullari foydalanuvchi interfeyslari uchun server va ma'lumotlar bazasi serverlari uchun mijoz vazifasini bajaradi. Bundan tashqari, turli xil dastur serverlari tizimni aniq rollarni bajaradigan funktsional bloklarga aniqroq ajratish uchun bir-biri bilan ta'sir o'tkazishi mumkin.

Masalan, siz xodimlarni boshqarish uchun zarur bo'lgan barcha funktsiyalarni bajaradigan xodimlarni boshqarish serverini tanlashingiz mumkin. Uni alohida ma'lumotlar bazasi bilan bog'lash orqali siz ushbu serverning barcha bajarilish tafsilotlarini foydalanuvchilardan yashirishingiz mumkin, bu ularga faqat uning umumiy funktsiyalariga kirishga imkon beradi. Bundan tashqari, bunday tizimni Internetga moslashtirish juda oson, chunki foydalanuvchilar uchun html shakllarini ishlab chiqish barcha ma'lumotlarga qaraganda ma'lum ma'lumotlar bazasi funktsiyalariga kirish uchun osonroqdir.

Uch darajali arxitekturada mijoz ma'lumotlarni qayta ishlash funktsiyalari bilan ortiqcha yuklanmaydi, balki dastur serveridan ma'lumotlarni taqdim etish tizimi sifatida asosiy rolini o'ynaydi. Bunday interfeysni standart veb-texnologiya vositalari - brauzer, CGI va Java yordamida amalga oshirish mumkin. Bu mijoz va dastur serveri o'rtasida uzatiladigan ma'lumotlarning hajmini kamaytiradi va mijoz kompyuterlarini hatto telefon liniyalari kabi sekin chiziqlar orqali ham ulashga imkon beradi. Bundan tashqari, mijoz tomoni shunchalik sodda bo'lishi mumkinki, aksariyat hollarda u umumiy brauzer yordamida amalga oshiriladi.Ammo agar siz hali ham uni o'zgartirishingiz kerak bo'lsa, unda ushbu protsedura tez va og'riqsiz tarzda amalga oshirilishi mumkin. Uch darajali mijoz-server arxitekturasi foydalanuvchi ruxsatlarini aniqroq belgilashga imkon beradi, chunki ular ma'lumotlar bazasiga emas, balki dastur serverining ba'zi funktsiyalariga kirish huquqlarini oladilar. Bu tizimning xavfsizligini oshiradi (odatdagi arxitektura bilan taqqoslaganda) nafaqat qasddan qilingan hujumlarga, balki xodimlarning xato harakatlariga qarshi.

Masalan, turli qismlari bir-biridan uzoqda joylashgan bir nechta serverlarda ishlaydigan tizimni ko'rib chiqing. Aytaylik, ishlab chiqaruvchidan tizimning yangi versiyasi olingan, uni o'rnatish uchun ikki bosqichli arxitekturada bir vaqtning o'zida barcha tizim modullarini o'zgartirish kerak. Agar bu bajarilmasa, eski mijozlarning yangi serverlar bilan o'zaro aloqasi oldindan aytib bo'lmaydigan oqibatlarga olib kelishi mumkin, chunki ishlab chiquvchilar odatda tizimdan bunday foydalanishga ishonishmaydi. Uch bosqichli arxitekturada vaziyat soddalashtirilgan. Haqiqat shundaki, dastur serverini va ma'lumotlarni saqlash serverini o'zgartirib (buni bir vaqtning o'zida bajarish oson, chunki ikkalasi ham yaqin joyda joylashgan), biz darhol mavjud xizmatlar to'plamini o'zgartiramiz. Shunday qilib, server versiyalari va mijoz qismlarining mos kelmasligi sababli xato ehtimoli keskin kamayadi. Agar xizmat yangi versiyada yo'qolgan bo'lsa, unda eski tizimda xizmat qilgan interfeys elementlari shunchaki ishlamaydi. Agar xizmatning algoritmi o'zgargan bo'lsa, u eski interfeys bilan ham to'g'ri ishlaydi.

Ko'p darajali mijoz-server tizimlarini Web-texnologiyalarga osongina tarjima qilish mumkin - buning uchun mijoz qismini universal yoki ixtisoslashgan brauzer bilan almashtirish va dastur serverini veb-server va kichik server protseduralarini chaqirish dasturlari bilan to'ldirish kifoya. Ushbu dasturlarni ishlab chiqishda Common Gateway Interface (CGI) va zamonaviyroq Java texnologiyasidan foydalanish mumkin.

Shuni ham ta'kidlash kerakki, uch bosqichli tizimda ko'plab ma'lumotlar dastur serveri va ma'lumotlar bazasi o'rtasidagi aloqa kanali orqali uzatiladi. Biroq, bu hisob-kitoblarni sekinlashtirmaydi, chunki ko'rsatilgan elementlarni ulash uchun tezroq chiziqlardan foydalanish mumkin. Buning uchun minimal xarajat talab etiladi, chunki ikkala server odatda bitta xonada joylashgan. Shunday qilib, tizimning umumiy ishlashi oshadi - hozirda bir xil vazifa ustida ikki xil server ishlaydi va ular orasidagi aloqa eng kam sarmoyalar bilan eng tezkor liniyalar orqali amalga oshirilishi mumkin. To'g'ri, tranzaksiya menejerlari - ko'p bosqichli tizimlarning yangi elementlarini hal qilishga chaqirilgan qo'shma hisoblashning izchilligi muammosi mavjud.

Inglizchadan tarjima qilingan: Chernobay Yu.A.

Mijoz-server tizimlarini ishlab chiqish

Arxitektura kompyuter tizimi apparatning boshlang'ich dasturlardan foydalanish qobiliyati bilan birga rivojlandi. Hammasidan sodda (va eng qadimgi) "Mainframe Architecture" edi, unda barcha operatsiyalar va funktsiyalar server (yoki "xost") kompyuterida amalga oshiriladi. Foydalanuvchilar soxta terminallar orqali server bilan o'zaro aloqada bo'lib, u ko'rsatmalarni serverga uzatgan va klaviaturani bosib olgan va foydalanuvchiga ko'rsatmalarning bajarilish natijalarini ko'rsatgan. Bunday dasturlar odatiy bo'lgan va server kompyuterlarining ishlash hajmining nisbatan katta bo'lishiga qaramay, har bir tugmachani serverga uzatish zarurati tufayli, odatda nisbatan sekin va foydalanishda noqulay bo'lgan.

O'zining qayta ishlash quvvatiga va foydalanuvchi grafik interfeysiga ega bo'lgan kompyuterning kiritilishi va keng qo'llanilishi dasturlarning yanada murakkablashishiga va kengayishiga imkon berdi. tarmoq tizimlari tizim arxitekturasining ikkinchi yirik turi "Fayllarni qismlarga ajratish" ga olib keldi. Ushbu kompyuter arxitekturasida (yoki " ish stantsiyasi") fayllarni ixtisoslashgan" fayl serveri "dan yuklab olib, so'ngra dasturni (shu jumladan ma'lumotlarni) mahalliy darajada boshqaradi. Bu umumiy ma'lumotlardan, ma'lumotlar yangilanishlaridan va o'tkaziladigan ma'lumotlardan kam foydalanilganda yaxshi ishlaydi. Biroq, tez orada ma'lum bo'lishicha, fayllarni almashish hammasi bo'lib qoldi tarmoq yanada chigallashdi va ilovalar yanada murakkablashdi va har ikki yo'nalishda ko'proq ma'lumot uzatishni talab qildi.

Tarmoq orqali birgalikda foydalaniladigan fayl orqali ma'lumotlarni dasturlar tomonidan qayta ishlash bilan bog'liq muammolar 1980-yillarning boshlarida mijoz-server arxitekturasini rivojlanishiga olib keldi. Ushbu yondashuvda fayl serveri ma'lumotlar bazasi serveri bilan almashtiriladi, u fayllarni oddiygina bog'langan ish stantsiyalariga (mijozlarga) uzatish va saqlash o'rniga, faqat mijoz so'ragan natijani qaytarib, ma'lumotlarni olish uchun so'rovlarni qabul qiladi va bajaradi. Butun faylni emas, balki faqat mijoz tomonidan so'ralgan ma'lumotlarni uzatish orqali ushbu arxitektura tarmoq yukini sezilarli darajada kamaytiradi. Bu tizimni yaratishga imkon berdi, unda bir nechta foydalanuvchilar GUI interfeyslari orqali ma'lumotlarni umumiy, umumiy ma'lumotlar bazasiga ulangan bo'lishi mumkin.

Odatda, Strukturali So'rovlar Tili (SQL) yoki Masofaviy protsedura chaqiruvi (RPC) mijoz va server o'rtasida aloqa o'rnatish uchun ishlatiladi. Mijoz-server arxitekturasini tashkil qilishning bir necha asosiy variantlari quyida tavsiflangan.

Ikki darajali arxitekturada yuk server (ma'lumotlar bazasini o'z ichiga olgan) va mijoz (o'z ichiga olgan) o'rtasida taqsimlanadi foydalanuvchi interfeysi). Ular odatda turli xil jismoniy mashinalarda joylashgan, ammo bu shart emas. Darajalar mantiqan bir-biridan ajratilgan holda, ularni bitta kompyuterga joylashtirish mumkin (masalan, ishlab chiqish va sinov uchun) (1-rasm).

1-rasm: Ikki darajali arxitektura

Ushbu modeldagi dastur mantig'ini taqsimlash va ma'lumotlarni qayta ishlash muammoli bo'lgan va qolmoqda. Agar mijoz "aqlli" bo'lsa va ma'lumotlarning asosiy ishlashini amalga oshiradigan bo'lsa, unda dasturni tarqatish, o'rnatish va unga xizmat ko'rsatish bilan bog'liq muammolar mavjud, chunki har bir mijoz o'z mahalliy nusxasini talab qiladi dasturiy ta'minot... Agar mijoz "soqov" bo'lsa, ma'lumotlar bazasida mantiq va ishlov berish qo'llanilishi kerak, va shuning uchun u to'liq ishlatilgan ma'lumotlar bazalariga bog'liq bo'ladi. Har holda, har bir mijoz ro'yxatdan o'tishi va o'zi olgan kirish huquqlariga qarab, ma'lum funktsiyalarni bajarishi kerak. Biroq, ikki darajali mijoz-server arxitekturasi edi yaxshi qaror, foydalanuvchilar soni nisbatan oz bo'lganida (bir vaqtning o'zida 100 ga yaqin foydalanuvchilar), lekin foydalanuvchilarning o'sishi bilan ushbu arxitekturadan foydalanishda bir qator cheklovlar paydo bo'ldi.

Ishlash: foydalanuvchilar soni o'sishi bilan ishlash yomonlasha boshlaydi. Ishlashning tanazzulga uchrashi foydalanuvchilar soniga to'g'ridan-to'g'ri mutanosib bo'lib, ularning har biri serverga o'z ulanishiga ega, demak, ma'lumotlar bazasiga kirish imkoni bo'lmaganda ham server ushbu ulanishlarning barchasini ("Tirik qolish" xabaridan foydalangan holda) saqlab turishi kerak.

Xavfsizlik: Har bir foydalanuvchi ma'lumotlar bazasiga shaxsiy kirish huquqiga ega bo'lishi va dasturni boshqarish huquqiga ega bo'lishi kerak. Buning uchun har bir foydalanuvchi uchun kirish huquqini ma'lumotlar bazasida saqlashingiz kerak. Ilovaga funksiyani qo'shishingiz kerak bo'lganda va foydalanuvchi huquqlarini yangilashingiz kerak bo'lganda.

Funktsionallik: Mijozning qaysi turidan foydalanilganidan qat'i nazar, ma'lumotlarni qayta ishlashning ko'p qismi ma'lumotlar bazasida bo'lishi kerak, demak, bu to'liq ishlab chiqaruvchi tomonidan ma'lumotlar bazasida taqdim etilgan imkoniyatlarga bog'liq. Bu dasturning ishlashini jiddiy ravishda cheklashi mumkin, chunki turli xil asoslar ma'lumotlar turli funktsiyalarni qo'llab-quvvatlaydi, turli xil dasturlash tillaridan foydalanadi va hattoki triggerlar kabi asosiy vositalarni har xil yo'llar bilan amalga oshiradi.

Mobillik: Ikki darajali arxitektura juda bog'liq aniq amalga oshirish uzatuvchi ma'lumotlar bazasi mavjud dasturlar turli xil ma'lumotlar bazalari uchun jiddiy muammo bo'lib qoladi. Bu, ayniqsa, VBMS tanlovi sotuvchi tomonidan belgilanmagan vertikal bozorlarda qo'llaniladigan dasturlarda to'g'ri keladi.

Ammo shunga qaramay, ikki darajali arxitektura topildi yangi hayot Internet asrida. U interfeysi "soqov" bo'lgan (masalan, brauzer) ajratilgan muhitda yaxshi ishlashi mumkin. Biroq, ko'p jihatdan, ushbu dastur asl bosh me'morchilikka qaytishni anglatadi.

Yuqorida ko'rsatilgan ikki darajali arxitektura cheklovlarini bartaraf etish maqsadida qo'shimcha qatlam kiritildi. Ushbu arxitektura uch darajali arxitekturaga ega standart mijoz-server modeli. Qo'shimcha qatlamning maqsadi (odatda "o'rta" yoki "qoidalar" qatlami deb ataladi) dasturlarning bajarilishini boshqarish va ma'lumotlar bazasini boshqarish. Ikki darajali modelda bo'lgani kabi, darajalar ham joylashgan bo'lishi mumkin turli xil kompyuterlar (2-rasm) yoki bitta kompyuterda sinov rejimida.

Shakl 2: Uch bosqichli arxitektura

O'rta qatorning kiritilishi bilan, ikki darajali arxitekturaning cheklovlari asosan olib tashlandi, natijada tizim ancha moslashuvchan va miqyosli bo'ladi. Mijozlar to'g'ridan-to'g'ri ma'lumotlar serveriga emas, balki faqat dastur serveriga ulanishganligi sababli, ma'lumotlar bazasida dastur mantig'ini amalga oshirish zarurati bo'lgani kabi, ulanishlarni saqlash yuki ham yo'q qilinadi. Ma'lumotlar bazasi endi faqat ma'lumotlarni saqlash va olish funktsiyalarini bajarishi mumkin, so'rovlarni qabul qilish va qayta ishlash vazifasi esa uch darajali arxitekturaning o'rta darajasi tomonidan bajarilishi mumkin. Rivojlanish operatsion tizimlarulanishni birlashtirish, navbatga qo'yish va tarqatilgan tranzaktsiyalarni qayta ishlash kabi elementlarni o'z ichiga olgan o'rta darajadagi rivojlanish kuchaygan (va soddalashtirilgan).

Shuni esda tutingki, ushbu modelda dastur serveri foydalanuvchi interfeysini boshqarmaydi va foydalanuvchi aslida to'g'ridan-to'g'ri ma'lumotlar bazasiga so'rovlar bilan murojaat qilmaydi. Buning o'rniga, bu bir nechta mijozlarga biznes mantiqini, hisob-kitoblarini va ulardan foydalanishni bo'lishishlariga imkon beradi qidiruv tizimi ma'lumotlar. Asosiy afzallik shundaki, mijoz kamroq dasturiy ta'minot talab qiladi va endi kerak bo'lmaydi to'g'ridan-to'g'ri ulanish xavfsizlikni yaxshilaydigan ma'lumotlar bazasiga. Binobarin, dastur yanada miqyosli bo'lib, bitta serverda qo'llab-quvvatlash va o'rnatish xarajatlari dasturlarni to'g'ridan-to'g'ri mijozning kompyuterida yoki hatto ikki darajali arxitekturada saqlashga qaraganda ancha past bo'ladi.

Turli xil funktsiyalarni bajarish uchun mo'ljallangan asosiy uch darajali modellarning ko'plab farqlari mavjud. Bularga tarqatilgan tranzaktsiyalarni qayta ishlash (bir nechta DBMSlar bir xil protokolda yangilanadigan), xabarlarga asoslangan dasturlar (bu erda dasturlar real vaqt rejimida aloqa qilmaydigan) va platformalararo muvofiqligi (Object Request Broker yoki "ORB" dasturlari) kiradi.

Qatlamli arxitektura yoki N-darajali arxitektura

Foydalanuvchilar sonining umumiy o'sishi fonida Internet-dasturlarning rivojlanishi bilan qo'shimcha qatlamlarni joriy qilish orqali asosiy uch bosqichli mijoz-server modeli kengaytirildi. Ushbu arxitekturalar "qatlamli" arxitektura deb nomlanadi va ular odatda to'rt qavatdan iborat (3-rasm), bu erda tarmoq mijozning brauzeri va dastur serveri o'rtasidagi aloqani boshqarish uchun javobgardir. Buning foydasi shundaki, bir nechta veb-serverlar bitta dastur serveriga ulanishi mumkin shu bilan bir vaqtda ko'proq bog'langan foydalanuvchilar bilan ishlashni kuchaytiradi.

3-rasm: N-darajali arxitektura

Qatlamlarga nisbatan qatlamlar

Ushbu atamalar (afsuski) ko'pincha aralashtiriladi. Biroq, ular orasida katta farq bor va ma'lum bir ma'noga ega. Asosiy farq shundaki, darajalar jismoniy darajava mantiqiy qatlamlar. Boshqacha qilib aytganda, darajani nazariy jihatdan mustaqil ravishda taqsimlash mumkin alohida kompyuter, va qatlam bu qatlam ichidagi mantiqiy bo'linishdir (4-rasm). Yuqorida tavsiflangan odatdagi uch bosqichli model odatda uchta qatlamda ajratilgan kamida etti qavatni o'z ichiga oladi.

Qatlamli arxitektura haqida eslash kerak bo'lgan asosiy narsa shundaki, har bir oqimning bir xil yo'nalishdagi so'rovlari va javoblari barcha qatlamlar bo'ylab tarqaladi va qatlamlarni hech qachon o'tkazib yuborib bo'lmaydi. Shunday qilib, 4-rasmda ko'rsatilgan modelda "E" qatlamiga (ma'lumotlarga kirish qatlami) murojaat qilishi mumkin bo'lgan yagona qatlam bu "D" qatlami (qoidalar qatlami). Xuddi shunday, "C" qatlami (dasturni tasdiqlash qatlami) faqat "B" qatlamining so'rovlariga javob berishi mumkin (xatolar bilan ishlash qatlami).

4-rasm: Mantiqiy qatlamlarga bo'lingan qatorlar

Maqola sizga yoqdimi? Do'stlar bilan bo'lishish uchun: