Tarqatilgan xabarlarni uzatish dasturchilarga turli xil va
har xil vaqtda turli
kompyuterlarda ishlaydigan kichik tizimlardan tashkil topgan tizimlarni
yaratish bo'yicha umumiy xizmatlarni ta'minlaydigan arxitektura qatlamini
beradi. Tarqatilgan ob'ekt xabar yuborganda, xabarlar qatlami quyidagi
muammolarni hal qilishi mumkin:
Xabar paydo bo'lgan joylardan turli xil operatsion tizimlar va dasturlash
tillari yordamida jarayonni topish.
Agar xabarni boshqarish uchun mos keladigan ob'ekt ishlamayotgan bo'lsa,
xabarni navbatda saqlash va ob'ekt mavjud bo'lganda xabarni chaqirish.
Bundan tashqari, agar kerak bo'lsa, natijani yuboruvchi ob'ekt qabul qilishga
tayyor bo'lguncha saqlash.
Tarqatilgan bitimlar uchun turli tranzaktsion talablarni nazorat qilish,
masalan. Ma'lumotni kislotali sinovdan o'tkazish.
Sinxron xabarlarni uzatish bir vaqtning o'zida ishlaydigan ob'ektlar o'rtasida
sodir bo'ladi. U Java va Smalltalk kabi ob'ektga yo'naltirilgan dasturlash
tillarida qo'llaniladi.
Sinxron xabar almashish sinxron funktsiyali qo'ng'iroqqa o'xshaydi; xuddi
chaqiruvchi vazifani bajarishni kutganidek, yuborish jarayoni ham qabul
qilish jarayoni tugashini kutadi. Bu ba'zi ilovalar uchun sinxron aloqani
ishlamasligi mumkin. Masalan, katta, taqsimlangan tizimlar
foydalanish
uchun etarli darajada yaxshi ishlamasligi mumkin. Bunday katta,
taqsimlangan tizimlar ishlashi kerak bo'lishi mumkin, ularning ba'zi quyi
tizimlari texnik xizmat ko'rsatishni to'xtatganda va hokazo.
Ish bilan band bo'lgan ofisni tasavvur qiling -a, 100 ta ish stoli
kompyuterlari bir -biriga elektron pochta xabarlarini faqat sinxron xabar
orqali yuboradi. Bir ishchi o'z kompyuterini o'chirib qo'ysa, qolgan 99 ta
kompyuter bir elektron pochtani qayta ishlash uchun kompyuterni qayta
yoqmaguncha muzlab qolishi mumkin.
Asenkron xabar bilan, qabul qiluvchi ob'ekt o'tayotgan yoki so'ralayotgan
ob'ekt xabar yuborganda band bo'lishi mumkin. Funktsional chaqiruv
analogiyasini davom ettirish, xuddi chaqirilgan funktsiyani bajarilishini
kutmasdan, darhol qaytadigan funktsiya chaqirig'iga o'xshaydi. Xabarlar
qabul qilish jarayoni talab qilmaguncha saqlanadigan navbatga yuboriladi.
Qabul qilish jarayoni o'z xabarlarini qayta ishlaydi va natijalarni asl jarayon
bo'yicha (yoki belgilangan keyingi jarayon) qabul qilish uchun navbatga
yuboradi.
Asenkron xabarlar bir vaqtning o'zida ishlamasligi mumkin bo'lgan tizimlar
uchun ma'lumotlarni saqlash va qayta uzatish uchun qo'shimcha
imkoniyatlarni talab qiladi va ular odatda dasturiy ta'minotning vositachi
darajasi (ko'pincha o'rta dastur deb ataladi) bilan boshqariladi; Xabarga
yo'naltirilgan o'rta dasturlar (MOM) bo'lgan keng tarqalgan tur.
Asenkron aloqada talab qilinadigan bufer to'la bo'lganda
muammolarga olib
kelishi mumkin. Yuboruvchini blokirovka qilish yoki kelajakdagi xabarlarni
bekor qilish to'g'risida qaror qabul qilinishi kerak. Bloklangan jo'natuvchi
tiqilib qolishiga olib kelishi mumkin. Agar xabarlar qoldirilsa, aloqa endi
ishonchli bo'lmaydi.
Sinxronizatsiyani sinxronizator yordamida asenkron aloqaning ustiga qurish
mumkin. Masalan, a-Sinxronizator jo'natuvchi har doim qabul qiluvchidan
tasdiq xabari kutishini ta'minlab ishlaydi. Yuboruvchi keyingi xabarni faqat
qabul qilinganidan keyin yuboradi. Boshqa tomondan, asenkron aloqa ham
sinxron aloqa ustiga qurilishi mumkin. Masalan, zamonaviy mikrokernellar
odatda sinxron xabar almashish ibtidosini beradi [havola kerak] va
asenkron
xabarlarni yordamchi iplar yordamida amalga oshirish mumkin.
Do'stlaringiz bilan baham: