110
vositalar (vertical facilities)
- bu elektron tijorat, bank ishi, ishlab chiqarish va shu
kabi konkret predmet sohalari uchun mo‘ljallangan yuqori darajali xizmatlar.
CORBA oddiy aloqa modeliga ega: mijoz ob’ekt modeliga murojaat qiladi
va javobni kutadi. Bu model oddiyligi uchun ishlab chiqilgan, ammo zarur
hollarda
unga o‘zaro ishlashning qo‘shimcha modellarini qo‘shish imkoniyati mavjud.
CORBA dagi ixtiyoriy o‘zaro ishlash norezident hisoblanadi, bu xabarlar
bazaviy aloqa tizimlarida uzatish va qabul qilish jarayoni bajarilayotganidagina
saqlanadi.
Saqlab turilgan aloqani, ya’ni xabar manzilga yetkazilgunga qadar tizimda
saqlanib turishini talab qiluvchi ko‘pgina ilovalar mavjud. Saqlab turilgan aloqada
uzatuvchi yoki qabul qiluvchi xabar uzatilgandan so‘ng amal bajarayotgan yoki
bajarmayotganligining ahamiyati yo‘q, har qanday holatda ham xabar manzilga
yetkazilgunga qadar aloqa qancha zarur bo‘lsa, u shuncha saqlanadi.
Saqlab turiladigan aloqa modeli xabarlar navbati sifatida yaxshi tanish.
CORBA bu modelni qo‘shimcha xabar xizmati (messaging service)
ko‘rinishida
qo‘llaydi. CORBA da xabar almashish boshqa tizimlardan o‘zaro ishlashga
ob’ektli yondoshuvi bilan farq qiladi.
Misol sifatida yagona metod bilan oddiy interfeysni realizatsiya qiladigan
ob’ektni ko‘rib chiqamiz:
int add(in int i, in int j, out int k):
Tasavvur qilamizki, metod ikkita butun musbat son i va j ni qabul qiladi,
chiqish va parametri k ga teng i+j ni qaytaradi. Operatsiya muvaffaqiyatli
yakunlanmaganda -i ni qaytaradi.
Modelda boshlang‘ich (sinxron) murojaatni asinxronga teskari aloqa yo‘li
bilan o‘zgartirish quyidagicha kechadi: avval modellar tavsifining jufti yaratiladi:
void sendcb_add(in int i. in int j); // Mijoz
chaqiruvi
void replycb_add(in int ret_val. in int k); // Mijoz ORB sining chaqiruvi.
Amalda joriy model spesifikatsiyasining barcha chiqish parametrlari mijoz
chaqirayotgan modeldan chiqarib olinadi va teskari aloqa operatsiyasining kirish
parametriga aylantiriladi.
111
Ikkinchi qadam yaratilgan interfeysning oddiy kompilyatsiyasi bilan
izohlanadi. Natija sifatida mijoz sendcb_add metodini asinxron chaqirishga qodir
zaglushkani oladi.
Lekin mijozning o‘zi bizning misolda replycb_add metodini o‘z ichiga
oluvchi teskari aloqa interfeysi realizatsiyasini taqdim etishi shart. Bu o‘zgarishlar
ob’ektni serverda realizatsiya qilishga ta’sir ko‘rsatmaydi deb qabul qilamiz.
Tavsiflangan teskari aloqa modeli 2.7-rasmda tasvirlangan.
2.7-rasm. Modelga asinxron murojaat uchun CORBA tizimining teskari
aloqa modeli.
Teskari chaqiruvga alternativ sifatida CORBA so‘roq qilish modelini
(polling model)
qo‘llaydi. Bu modelga binoan mijozga o‘z brokeri ORB ni natija
tushganligi to‘g‘risida so‘roq qilish uchun operatsiyalar to‘plami taqdim etiladi.
Teskari chaqiruv usuli mavjud modelda sinxron murojaatni asin-xronga
o‘zgartirish uchun mijoz javob beradi, bunda ob’ektda realizatsiya qilingan
boshlang‘ich interfeysdagi mos modelning spesifikatsiyasiga bog‘langan holda
ishning katta qismini avtomatik bajarish mumkin.
Do'stlaringiz bilan baham: