Архитектура распределенных систем программного обеспечения Tarqalgan dasturiy ta'minot tizimlari arxitekturasi


Masofaviy protsedura qo'ng'iroqlarini amalga oshirish tamoyillari


Download 0.84 Mb.
bet12/27
Sana25.06.2023
Hajmi0.84 Mb.
#1654891
1   ...   8   9   10   11   12   13   14   15   ...   27
Bog'liq
79 uz

2.2. Masofaviy protsedura qo'ng'iroqlarini amalga oshirish tamoyillari
RPC modeli tizimni qo'llab-quvvatlash dasturida qo'llaniladigan asosiy modellardan biridir. U birinchi marta ikki darajali mijoz/server tizimlarida ishlatilgan: mijoz serverda ishlaydigan protsedurani chaqiradi. Mijoz uchun bu qo'ng'iroqni mahalliy protseduraga qo'ng'iroq qilishdan ajratib bo'lmasligi muhimdir. RPC modeli mijoz (chaqiruv dasturi) va server (masofadan chaqiriladigan protsedurani amalga oshiradigan dastur) tushunchalarini taqdim etdi. Model, shuningdek, bugungi kunda ham keng qo'llaniladigan boshqa tushunchalarni taqdim etdi: interfeysni tavsiflash tillari, nomlash va katalog xizmatlari, dinamik bog'lash, xizmat interfeysi va boshqalar.
RPC modelidan foydalanganda sinxronizatsiya, aloqa, parametr va natijalarni uzatish mijozdan yashirin holda amalga oshiriladi. Bu shaffoflik va tillararo hamkorlikka erishish, quyi darajadagi protokollar yordamida aniq xabar almashishdan voz kechish imkonini bergan birinchi modeldir.
Masofaviy protsedura chaqiruvi bilan o'zaro aloqada bo'lganda, taqsimlangan tizimning mijoz va server qismlari bir-birining amalga oshirilishidan, xususan, ushbu ilovalarda ishlatiladigan dasturlash tillaridan butunlay mustaqil bo'lib chiqadi. An'anaviy tizimlarda bir tilda yozilgan dasturdan boshqa tilda yozilgan protseduraga kirishda bunday kirishning ko'plab texnik tafsilotlarini bilish kerak: turli tillarda ma'lumotlar turlarini ko'rsatish tafsilotlari (aniqrog'i, foydalanishda turli kompilyatorlar), elementlarni tekislash va murakkab tuzilmalardagi bo'shliqlarni to'ldirish usullari, stek mexanizmining tafsilotlari. Agar nafaqat turli tillarda yozilgan, balki turli kompyuterlarda ishlaydigan dasturlarning o‘zaro ta’siri ham yo‘lga qo‘yilsa, murakkablik bir necha barobar ortadi. Masofaviy protsedura chaqiruvi modeli bularning barchasidan xalos bo'lishga imkon beradi. Dasturchilar tillar va dasturlash paradigmalarini o'zgartirmasdan tarqatilgan ilovalarni yaratish imkoniyatiga ega bo'lishdi.
RPC modeli eng ko'p tarqalgan tizimlarning yadrosidir. Ko'pgina keyingi modellar ushbu modelga asoslanadi, xususan, ma'lumotlar bazalarining masofaviy usulni chaqirish (RMI) va saqlangan protseduralar (saqlangan protseduralar) modellari. Ko'pincha RPC modeli o'zaro ta'sirning yanada murakkab shakllarini amalga oshirish uchun past darajadagi primitiv sifatida ishlatiladi.

Rasm. 2.2. RPC modeli yordamida taqsimlangan ilovalarni ishlab chiqish.
Masofaviy qo'ng'iroq qilish jarayoni quyidagicha ko'rinadi:
• Mijoz mashinasidagi jarayon server mashinasidagi protsedurani chaqiradi.
• Mijoz jarayoni to'xtatildi.
• Server mashinasida chaqirilgan protsedurani bajarish jarayoni boshlanadi.
• Natija mijozning mashinasiga uzatiladi.
• Mijoz jarayoni qayta tiklandi.
Ta'riflangan mexanizmda juda ko'p murakkabliklar mavjud: mijoz va serverning turli xil manzil bo'shliqlari, parametrlar va natijalarni o'tkazish zarurati, nosozliklar va jihozlarning nosozliklarini hal qilish zarurati. Qo'shimcha murakkablik protsessual dasturlash tillaridagi dasturlardagi ba'zi parametrlar qiymat bo'yicha, ba'zilari esa parametr sifatida qabul qilingan qiymatlarga havolalar orqali o'tkazilishi mumkinligi bilan bog'liq.
RPC modelini amalga oshirishda barcha bunday qiyinchiliklarni engib o'tish kerak, shuning uchun masofaviy protsedurani amalga oshirishdan oldin, dastlabki tayyorgarlikni o'tkazish kerak.
Birinchi qadam protsedura interfeysini aniqlash bo'lib, u Interface Description Language (IDL) yordamida amalga oshiriladi. Bu ta'rif bajarilgunga qadar unga berilgan va operatsiyadan keyin qaytariladigan protsedura parametrlarining qisqacha tavsifini belgilaydi. IDL tilidagi protsedura ta'rifini server tomonidan taqdim etilgan xizmatning spetsifikatsiyasi sifatida ko'rib chiqish mumkin (2.2, 2.3-rasm).

Rasm. 2.3. RPC modelidan foydalangan holda taqsimlangan ilovalarni ishlab chiqish uchun JDL DCE API yozuviga misol.
Tayyorgarlikning ikkinchi bosqichi - yaratilgan tavsifni tarjima qilish. RPC mexanizmining har qanday amalga oshirilishi, RPC yoki shunga o'xshash kontseptsiyadan foydalanadigan har qanday integratsiya platformasi maxsus interfeys tarjimonini o'z ichiga oladi. Tarjima natijasida:
Mijoz adapteri. IDL faylidagi protsedura sarlavhasining har bir tavsifi ushbu protsedura uchun alohida mijoz stubini yaratishga olib keladi (2.4-rasm). Adapter - bu tarjimadan so'ng mijoz dasturiga biriktirilgan dastur. Mijoz adapteri mijoz tomonidan chaqirilgan protseduraning qaytish parametrlari sifatida serverni qidirish, ma'lumotlarni formatlash, server bilan o'zaro aloqa qilish, javob olish va javobni uzatish dasturlarini o'z ichiga oladi. Mijoz tomonidan ma'lumotlarni formatlash ikkita jarayondan iborat: marshaling va serializatsiya. Marshaling ma'lumotlarni ma'lum bir tizimda qabul qilingan xabar formatiga qayta kodlash va qadoqlashdan iborat. Seriyalashtirish xabarni baytlar ketma-ketligiga aylantirishdan iborat.


Download 0.84 Mb.

Do'stlaringiz bilan baham:
1   ...   8   9   10   11   12   13   14   15   ...   27




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling