1-deadline. Taqsimlangan algoritmlar va tizimlar (1)
2 – Amaliy mashg‘ulot. TAQSIMLANGAN BOSHQARISH TIZIMLARI VA VOSITALARI.
Reja Boshqaruv xabar brokerlari
Taqsimlangan tizim administratorlari
Marshrutlashni boshqarish hisobiga xabar brokerlari o‘zaro ishlashning xabar almashishga asoslangan turli modellarini qo‘llashlari mumkin. Ulardan nisbatan mashxurlari “Publikatsiya/podpiska” paradigmasi: ilovalar tiplarni va parametrlar to‘plamini xarakterlovchi xabarlar almashish bilan o‘zaro ishlaydilar, ammo xabar uzatayotgan ilova qabul qiluvchini ko‘rsatmaydi. Buning o‘rniga ular o‘zaro ishlashni boshqaruvchi oraliq qatlamda shunchaki xabarni chop etadilar. SHu sababli xabar uzatuvchi ilovalar “izdatellar” deb nomlanadi. Agar ilova bunday turdagi xabarni qabul qilishdan manfaatdor bo‘lsa, “Publikatsiya/podpiska” tizimiga a’zo bo‘lishi kerak. Izdatel bunday turdagi xabarni uzatgan vaqtda tizim bunday turdagi xabarlarga a’zo bo‘lgan barcha ilovalar ro‘yxatini topadi va ularning har biriga nusxa jo‘natadi.
“Publikatsiya/podpiska” modelida a’zo bo‘luvchilar o‘zlariga manfaatdor bo‘lgan xabarni ikki usul bilan aniqlaydilar. Birinchidan, ular xabar turini ko‘rsatishlari mumkin (masalan, “Yangi buyurtma”). Oddiy hollarda toifalar nomlari kengligi chegaralangan va simvol qatori bilan tavsiflanadi. Nisbatan murakkab tizimlar ixtiyoriy chuqurlikdagi tip/podtip ierarxiyasi asosidagi strurturali toifa nomini kirishga ruxsat beradi. Strukturlangan toifalardan foydalanib, a’zo bo‘luvchilar nafaqat bir necha toifadagi xabarlarga bo‘lgan o‘z qiziqishlarini ro‘yxatdan o‘tkazadilar, balki ularga va toifalar ierarxiyasida yuqorida turgan toifalarga ham a’zo bo‘ladilar.
A’zo bo‘lishning ikkinchi shakli parametrlardan foydalanishga asoslangan: a’zo bo‘luvchilar o‘zlari qabul qilishni hohlagan xabarlarini xabar parametrlari ustida amalga oshiriladigan mantiqiy shartlar yordamida spetsifikatsiya qiladilar.
Xabar brokerlarining taqsimlangan administratorligi
Xabar brokerlari tizimi tarkibiga administrator, ya’ni quyidagi qoidalarni aniqlovchi tanlangan foydalanuvchini qo‘llash ham kiradi:
Uzatish va qabul qilinigi mumkin bo‘lgan xabar toifalari;
Xabarni qabul qilish va/yoki o‘zlari uchun marshrutlash logikasini sozlashga ruxsat berilgan foydalanuvchilarni.
Administratorlar shuning xabar almashishning oddiy tizimlarida ham mavjud, ammo brokerlarda ular uzatuvchi va qabul qiluvchi orasida aloqaning zaifligi sababli muhim hisoblanadi, bu umumiy holatda qabul qiluvchilar ularning xabarlarini qanday ilova olishini bilmasliklariga olib keladi. “Publikatsiya/podpiska” tizimi izdatellarga ma’lum xabarlarni qabul qilishi mumkin bo‘lgan foydalanuvchilar to‘plami chegarasini fiksatsiyalashga ruxsat beradi.
Xabar brokerlarini kombinatsiya qilish mumkin. Bunday arxitekturada bitta xabar brokeri boshqasining mijozi bo‘lishi mumkin. Agar mijoz boshqa brokerning mijozi uzatgan xabarni qabul qilishni xoxlasa, u o‘z brokeriga a’zo bo‘ladi, o‘z navbatida broker bu xabar uchun boshqa brokerga a’zo bo‘ladi. Brokerlar nuqtai nazaridan boshqa brokerlar ixtiyoriy boshqa mijozlar kabi bo‘ladi.
Xabar brokerlari
Amaliy tizimlarning kompleksli integratsiyasida postavoklar zanjirining, ya’ni bitta amaliy tizimdan boshqasiga axborot uzatishni o‘zaro ishlashini avtomatlashtirish juda muhim. Amaliyot shuni ko‘rsatadiki, barcha tashkilotlarning avtomatlashtirish tizimlari, ma’lumotlar bazasi, ma’lumotlar shakllari turlicha.
Postavoklar zanjirini avtomatlashtirish – barcha shunday tarqalgan tizimlarni bitta birlikka yig‘ishdir. Kompleksli integratsiyada bir qancha texnik bo‘lmagan muammolar bilan to‘qnash kelishga to‘hri keladi: zanjirga kiruvchi har bir tizim odatda kompaniyaning turlicha bo‘linmalariga tegishli bo‘ladi va ekspluatatsiya qilinadi. Har bir bo‘linma avtonom boshqariladi va ko‘pgina spetsifik funksiyalarni bajaradi, bular integratsiya vaqtida bir-biriga mos kelmasligi mumkin. Ammo postavoklar zanjiri avtomatlashtirilmasa, tizim stiklaridagi ko‘pgina operatsiyalar qo‘lda bajarilishiga to‘g‘ri keladi (2.17-rasm).
PRC bazasidagi an’anaviy tizimlar va navbatlar tizimi ilovalar orasida “nuqta-nuqta” turidagi bog‘lanishni yaratadi. Ulardan foydalanishda ko‘pincha kelib chiqadigan muammo shuki, bunday o‘zaro ishlashda xabar qabul qiluvchini aniqlash uzatuvchiga yuklanadi. Ayrim holatlarda manzillashning ushbu sxemasida boshqaruv murakkab bo‘lishi mumkin, chunki uzatuvchilar va qabul qiluvchilar soni doimo oshib boradi, tizim ishlayotgan muhit esa dinamik bo‘lib boradi. Agar uzatuvchi yangi tizim bilan o‘zaro ishlashga majbur qilinsa, uning ilovasi o‘zgarishi kerak. Bunday cheklovlarni olib tashlash xabarlar brokeri yordamida amalga oshiriladi, u tizimlar orasida vositachi vazifasini bajaradi. Xabar brokerlari egiluvchan marshrutizatsiya va sifat ilovalari integratsiyasi uchun boshqa zaruriy ishlarni bajarilishini ta’minlaydi. Asinxron axborot almashinuvi bilan birikishda bu alohida tashkilot ilovalarining kompleksli integratsiyasi muammolarining echimiga nisbatan samarali yondoshuv hisoblanadi. Xabar brokerlari uzatuvchidan xabarni etkazish yo‘lini aniqlash vazifasini oladi va uni tizim yadrosiga uzatadi (2.19-rasm).
Foydalanuvchi xabar brokeriga ega bo‘lganda shunday amaliy mantiqni tanlashi kerakki, bunda har bir habar uchun xabar etkazilishi kerak bo‘lgan navbat identifikatsiya qilinadi. Bunda uzatuvchi xabarni kim qabul qilishini ko‘rsatmasa ham bo‘ladi. Xabar brokerlari foydalanuvchi tomonidan berilgan qoidalarni bajargan holda qabul qiluvchini o‘zi aniqlaydi, bu esa tizim amaliy komponentlari o‘zaro ishlash sxemasini va uning ichki strukturasini sezilarli ravishda soddalashtiradi. YAgona potensial qabul qiluvchini aniqlash qoidasi tizimning yagona joyida amalga oshiriladi, bu esa talab etilganda uning modifikatsiya jarayonini soddalashtiradi.
Marshrutlash qoidasi odatda maxsus tilda kodlanadi, har bir qoida etkazilayotgan xabar tarkibidagi ma’lumotlarning qiymatiga bog‘liq bo‘lgan logik shartni o‘z ichiga oladi. Logika xabar brokerlari tomonidan yoki navbatlar sathida aniqlanishi mumkin. Agar u brokerda aniqlansa, keyinchalik xuddi shunday tartibda marshrutlanadigan barcha xabarlarga tegishli bo‘ladi. Agar logika navbatlar bilan bog‘liq bo‘lsa, u bunday navbatga qanday xabarlarni qabul qilishni aniqlaydi.
Bunday holatda xabar brokerlari xabarni uzatuvchi va qabul qiluvchilarni to‘liq bog‘laydi. Uzatuvchilar ular yuborgan xabarni qanday ilova qabul qilishini ko‘rsatmasliklari va bu haqda qayg‘urmasliklari mumkin, qabul qiluvchilar esa ularga qanday ilova xabarni qayta uzatish imkoniyatiga ega ekani haqida qayg‘urmasalar ham bo‘ladi.
Xabar almashishga asoslangan va umumiy navbatlar bilan ishlovchi oddiy tizimlar ham uzatuvchilar va qabul qiluvchilarni ajratishning cheklangan shaklini ta’minlaydi, chunki ularning ilovalarida xabarlarni qabul qiluvchilarga emas navbatlarga uzatadilar. Ammo, oddiy navbatlarda har bir xabar bittadan kam bo‘lmagan ilovalarga etkaziladi. Umumiy navbatdan xabarlarni oluvchi ilovalar odatda bir turli bo‘ladi. Umumiy navbatlarni joriy etishdan maqsad yuklanishni balansga keltirish. Umumiy, taqsimlangan navbatlar bog‘liqlik va muvozanatga erishgan holda brokerlar bilan kombinatsiya qilinishi mumkin: xabar marshrutlash logikasiga bog‘liq holda bir necha navbatlarga uzatilishi mumkin, so‘ngra turli ilovalar xabarni birgalikda navbatdan olishlari va ularni qayta ishlashlari mumkin (yuklamani muvozanatlashtirish).
Xabar almashish tizimlarida (va xabar brokerlarida) ilovalarning o‘zaro ishlashi oraliq qatlamlar orqali amalga oshirilgani uchun ushbu qatlamda faqatgina marshrutlash qoidasi emas, balki ilova uchun ko‘proq funksionallikni realizatsiya qilish imkoniyati ochiladi. YAgona tizimga integratsilanayotgan turli ilovalar ma’lumotlarning turli shakllariga ega bo‘lishi mumkin. Tarkibni o‘zgartirish qoidasini aniqlab, brokerda bunday o‘zgartirishlarni amalga oshirish mumkin, bu har bir ilovani bunday amallarni bajarishdan halos etadi. Turli navbatlarga turli o‘zgartirishlarni biriktirib