P2P(Peer to Peer) arxitekturasi Taqsimlangan tizimlarni qurishda qo‘llaniluvchi keyingi asosiy arxitektura R2R arxitekturasi hisoblanadi. Bunday arxitektura asosida yaratilgan ilovalar klient va server modullariga aniq ajratilmaydi, uning barcha qismlari bir xil xuquqga ega bo‘ladi va ixtiyoriy tugunda amalga oshirilishi mumkin.
Shunday qilib, aynan bitta tugunda bir vaqtning o‘zida turli qismlarda bajariladigan ham server funksiyasi, ya’ni, so‘rovlar xizmat ko‘rsatish, va klient funksiyasi, xizmatlarga ulanish, so‘rov jo‘natish vazifalari bajariladi. Bunda ilovalar shunday joylashishi mumkinki, so‘rov jo‘natgan qism javobni yuboradigan tizim qismi qaerda joylashganini bilishi shart emas. Bunday usulda qurilgan ilovalar noyob xususiyatga ega bo‘lib, ularning qismlari bir-birlari bilan va ular joylashgan tugunlar bilan xech qanday bog‘lanmagan bo‘ladi. SHu sababli, tugunda joylashgan modul tarkibi ilovalar ishga tushganda o‘zgarishi mumkin. Bu esa tizimlarga tushadigan yuklamalarni juda optimal tarzda taqsimlashni tashkillashtirish imkonini beradi, shuningdek, yuqori darajada kengayuvchanlik va rad etishlarga bardoshlilikni ta’minlaydi. Bunday arxitektura murakkab hisoblash masalalarini amalga oshirish uchun parallel xisoblash tizimlarida faol ishlatiladi. Masalan, MPI texnologiyasi asosida yaratilgan ilovalar bir vaqtda bir necha tugunlarda yuklanadi va bir vaqtda xizmat ko‘rsatish va xizmatlarga ulanish imkoniyatiga ega bo‘ladi. P2P arxitekturasi asosida yaratilgan tizimlarda bo‘ladigan jarayonlarning jamlanmasi ma’lum bir masalani echishga yo‘naltirilgan taqsimlangan tizimlarni tavsiflaydi.
Middleware (Oraliq muxit) - turli ilovalar, tizimlar va komponentlar orasida o‘zaro aloqani ta’minlash uchun qo‘llaniluvchi, texnologik dasturiy ta’minotlar majmuasi yoki qatlamini anglatuvchi termin hisoblanadi. U taqsimlangan tizimlar komponentlarining o‘zaro aloqasini ta’minlashda asosiy vazifani bajaradi. Middleware termini birinchi bo‘lib, 1968 yili qo‘llanilgan. Korporativ ilovalarni integratsiyalash texnologiyasi sifatida XX asrning 80-yillarida yangi ilovalarni, mavjud tizim bilan va bir-biri bilan bog‘lanish muammosini echishda foydalanilgan. Hozirgi kunda "middleware" termini shaxsiy kompyuterdagi foydalanuvchi ilovalari orasida va taqsimlangan ma’lumotlar bazalarini boshqarish tizimlarida joylashgan ixtiyoriy dasturiy komponentlarga nisbatan qo‘llanilish mumkin. Bugungi kunda taqsimlangan tizimlar turli muxitlarda ishlaydi, chunki, turli tugunlarda turli xil qurilmalar va operatsion tizimlar o‘rnatilgan bo‘ladi. Masalan, Windows operatsion tizimidan foydalanuvchi klient UNIX boshqaruv tizimlarida ishlaydigan serverlarga bog‘lanishi mumkin. Umumiy xolda taqsimlangan tizimlar foydalanuvchilar uchun yagona tizim bo‘lgan, ammo bir-biriga bog‘liq bo‘lmagan va fizik joylashuvi turli geterogen tugunlarda bo‘lgan turli komponentlarni bog‘lash uchun kerak bo‘lgan apparat-dasturiy echimdir.
Taqsimlangan tizimlarda komponentlarni va ilovalarni o‘zaro bog‘lashda, turli dasturiy plotformalar orasida aloqa hosil qilish va ma’lumot almashishda asosiy rolni middleware o‘ynaydi.
Taqsimlangan tizimlarda middleware 4 ta asosiy funksiyani bajaradi:
Turli apparat va dasturiy ta’minotlarning birga ishlashini ta’minlash;
Taqsimlangan tizimlar uchun umumfoydalanish servislarni ta’minlash;
Taqsimlangan dasturlash uchun yuqori darajadagi interfeyslar yoki foydalanuvchi dasturlash interfeyslarini(API) ta’minlash.
Ta’kidlash joizki, taqsimlangan tizimlarda oraliq muxitlarning asosiy vazifasi - taqsimlangan tizimlarni dasturlashni osonlashtirish hisoblanadi. U taqsimlangan tizimlarda ilovalar kodlarining qayta qo‘llash, rivojlantirish, plotformalararo ilovalar yaratish, turli ilovalar o‘rtasida o‘zaro aloqani ta’minlash kabi vazifalarni bajaradi.
Bugungi kunda keng tarqalgan middleware paketlariga quyidagilarni misol qilib keltirishimiz mumkin:
Sun JVM;
CORBA;
Microsoft .NET;
Sun J2EE / EJB.
Taqsimlangan tizimlardagi ixtiyoriy bir kompyuter uchun uzoq masofada joylashgan barcha klient kompyuterlarga hisoblash yoki xizmat ko‘rsatish tizimi hisoblanadi. Bunda oraliq muhitning asosiy vazifasi ochiq, kengayuvchan va barqator taqsimlangan tizimlarni yaratishda ishlab chiqaruvchilarga yordam berishdir. Uning vazifalariga quyidagilar kiradi:
Bir dasturiy komponent xizmatlarini operatsion tizim mexanizmiga bog‘lamagan holda boshqa komponentlarga ham foydalanish imkoniyatini yaratish;
Taqsimlangan tizimlarda xavfsizlikni ta’minlash: barcha foydalanuvchilarga taqdim etilayotgan xizmatlarni va komponentlar orasidagi uzatiladigan axborotlarni buzilishidan hamda uchinchi tomonni xabar topishidan himoya qilish uchun autentifikatsiya va avtorizatsiyalaydi;
Ma’lumotlarni yaxlitligini ta’minlash: Uzoq masofada joylashgan tizim komponentlari orasida taqsimlangan tranzaksiyalarni boshqarish;
Dasturiy komponentlardagi va serverdagi yuklanishlarni nazorat qilish;
Uzoq masofada joylashgan komponentlarni topish va boshqalar.
Bitta taqsimlangan tizimlar chegarasida bir necha ko‘rinishdagi oraliq muhitdan foydalanish mumkin.
Umumiy holatda taqsimlangan tizimlar apparat-dasturiy ishlanmalar bo‘lib, o‘zaro mustaqil bo‘lgan masofadagi turli fizik tugunlarda joylashgan, foydalanuvchilarga yagona birlashgan tizimi ko‘rinishida xizmat ko‘rsatishni ta’minlovchi komponentlardan tashkil topadi. Geterogen tugunlararo o‘zaro aloqada talab qilinadigan shaffoflik, masshtabi jihatidan kengayuvchanlik, va ochiqlilikni ta’minlash uchun OSI modelining transport va amaliy pog‘onalari orasida joylashgan maxsus oraliq pog‘ona qo‘llaniladi().
Endi oraliq dasturiy ta’minotlarning tavsifini ko‘rib chiqamiz. Oraliq dasturiy ta’minot – dasturiy ta’minotlar sinfi bo‘lib, taqsimlangan klient server ilovalarining komponentlarini birlashtirish yoki yagona axborot tizimiga tarmoq ilovalarini birlashtirish uchun qo‘llaniladi. Oraliq dasturiy ta’minotlar turli plotformalarda ishlovchi, o‘zaro aloqa qiluvchi turli ilovalarga murojaat qilish xizmatlari to‘plami hisoblanadi. Oraliq dasturiy ta’minotlarning umumiy amaliy interfeyslari(API) geterogen tarmoqlarni realizatsiya qilish vositalari va infrastrukturalariga bog‘liq bo‘lmagan holda ilovalar o‘rtasida o‘zaro aloqa tashkillashtirishga imkon beradi, tarmoqning tarkibiy tuzilishidagi o‘zgartirishlar ilovalarni o‘zgartirishni talab etmaydi.
CORBA, COM va Java Beans kabi ob’ektlarning o‘zaro aloqasini yagona ko‘rinishda taqdim etuvchi oraliq muxit texnologiyalari komponentlardan qayta foydalanishni ta’minlaydi va shu sababli ular komponentlar texnologiyalari deb nomlanadi. Lokal tarmoqlardan boshlab katta taqsimlangan tizimlarda qo‘llaniluvchi har qanday klient server muhitlari bunday texnologiyalar asosida quriladi. Ma’lumki, har doim klient serverga so‘rov jo‘natadi yoki ma’lumotlar bazasidan ma’lumotlarni ilova yuklab oladi. Bunda klient server aloqasida oraliq dasturiy ta’minot vositachi bo‘lib hizmat qiladi. Kommunikatsion protokollar ma’lumotlar bazasiga so‘rov yuborish tillari, dasturiy ilovalar va operatsion tizimlar nomuvofiqligini oraliq dasturiy ta’minot orqali bartaraf etiladi. Aytish mumkinki, oraliq dasturiy ta’minot klient-server muhitlarining asosiy qismi hisoblanadi, agar u to‘g‘ri ishlamasa, ma’lumot almashish tizimi butunlay ishlamaydi. O‘zaro bog‘lanish tizimi ishlamaydi.
Odatda amaliy dasturlash interfeysi deb ta’rif beriluvchi oraliq dasturiy ta’minot klient va server yoki serverlararo yuqori darajali kommunikatsiyani ta’minlashda vositachi vazifasini bajaradi. U tarmoq yoki transport pog‘onasi ustida ishlaydi va quyidagi kommunikatsion xizmatlarga bog‘liq bo‘lmaydi. Masalan, klient qismida joylashgan ilovaga tarmoqning boshqa qaysidir qismida joylashgan boshqa operatsion tizimdan foydalanuvchi serverdagi xizmat yoki ma’lumot zarur bo‘lishi mumkin. Kerakli ma’lumotlarni izlash bilan shug‘ullanuvchi klient server ilovasining qismi oraliq dasturiy ta’minotga so‘rov jo‘natadi. Oraliq dasturiy ta’minot ma’lumotga so‘rov jo‘natadi va olingan natijani qayta ishlab ilovaga qayta yuboradi.
Middleware xizmatlari operatsion tizimlar va tarmoq xizmatlari bilan taqqoslanganda keng qamrovli turli ko‘rinishdagi API funksiyalarini tavsiflaydi va quyidagilarni ta’minlaydi:
boshqa tarmoq xizmatlariga va ilovalariga bevosita kirish;
boshqa tarmoq servislariga bog‘liq emas;
yuqori darajadagi ishonchlilik va doimiy tayyorgarlik.
Ta’kidlash joizki, operatsion tizimlarning va oraliq dasturiy ta’minotlar funksiyalarining qisman farq qilish shartli hisoblanadi. Avval oraliq dasturiy ta’minotlarda realizatsiya qilingan imkoniyatlar xozirda operatsion tizimlar yadrosida amalga oshirilmoqda. Masalan, TCP/IP steki bugungi kunda barcha operatsion tizimlarning tarkibiy qismi hisoblanadi. Oraliq dasturiy ta’minotlar bajaradigan barcha funksiyalar, turli plotformalardagi ilovalarga va axborotlarga kirish, protokollar va tarmoqlash funksiyalari, oson va konfliktsiz amalga oshiriladi.
Oraliq dasturiy ta’minot bir vaqtda klient va server operatsiyalari bilan aloqa qiladi. Uni Web-ilovalar va meynfraym bazasidagi eski tizimlar kabi turli tizimlarni bog‘lovchi modul sifatida qarash mumkin. Ushbu dasturiy ta’minot kompaniyalarga o‘zlarining eski tizimlarini saqlab qolish va ularni yangi tizimlarga bog‘lash imkonini beradi, shuningdek, yangi ilovalarda qo‘llaniluvchi oxirgi ishlanmalardan foydalanish imkonini beradi.
Shunday qilib, Middleware tizimlari taqsimlangan tizimlarda komponentlar orasida o‘zaro aloqani ta’minlashda muxim ahamiyat kasb etadi. Ular turli ilovalar, foydalanuvchi dasturlari uchun yagona oraliq interfeys vazifasi bajaradi. Oraliq muhit texnologiyalaridan foydalanish taqsimlangan tizimlarning apparat va dasturiy qurilmalarining har xilligini ta’minlaydi.
Bugungi kunda taqsimlangan tizimlar tashkil etilish maqsadi bo‘yicha bo‘yicha quyidagi turlarga bo‘linadi:
Taqsimlangan hisoblash tizimlari;
Taqsimlangan axborot tizimlari;
Taqsimlangan ma’lumotlarni saqlash tizimlari
Taqsimlangan hisoblash tizimlarida taqsimlangan tizimlar yuqori samaradorlikda hisoblash jarayonlarini amalga oshirishga mo‘ljallangan bo‘ladi. Bugungi kunda keng tarqalgan klasterli hisoblash tizimlari taqsimlangan hisoblash tizimlariga misol bo‘ladi. Ular turli xil operatsion tizimlar va apparat ta’minotlarida ishlaydi. YAgona boshqaruv tuguniga ega bo‘ladi.
Grid hisoblash tizimlari ham taqsimlangan tizimlar hisoblanib, turli geografik hududlarda joylashgan turli muxitlarni o‘zaro birlashtiradi.
Bugungi kunda taqsimlangan hisoblash tizimlari video xizmatlarini tashkillashtirishda, veb xizmatlarda va ilmiy hisoblash jarayonlarini bajarishda keng qo‘llaniladi.
Taqsimlangan axborot tizimlari taqsimlangan resurslardagi axborotlarga parallel va uzluksiz kirishni ta’minlaydi. Bunday tizimlar potokli xizmatlarni tashkillashtirishda, turli mintaqaviy axborot tizimlarida keng qo‘llaniladi.
Taqsimlangan axborot tizimlarini tashkillashtirishda turli mavzudagi, turli ko‘rinishdagi axborotlar turli ko‘rinishda turli serverlarda saqlanadi va serverlardan klientlarga yuboriladi.
Bugungi kunda murakkab jarayonlarni ilmiy o‘rganishda, turli masalalarni echishda taqsimlangan hisoblash tizimlaridan foydalaniladi. Shu sababli taqsimlangan hisoblashni amalga oshirish usullarini ko‘rib chiqamiz.
Taqsimlangan tizimlarni ko‘ppog‘onali tasvirlash natijasida turli masalalarni echishga yo‘naltirilgan funksiyalarni 3 guruxga bo‘linadi:
Ma’lumotlarni kiritish va tasvirlash funksiyalari (foydalanuvchi bilan o‘zaro aloqani ta’minlash);
Amaliy funksiyalar;
Resurslarni boshqarish funksiyalari(fayl tizimlari, ma’lumotlar bazalari va boshqalar).
Bu funksiyalarni bajarishni asosan dasturiy ta’minot ta’minlaydi va o‘zaro bog‘langan komponentlar ko‘rinishida tasvirlash mumkin. Bunda: