• Nazariy qism
  • 8- amaliy mashg‘ulot




    Download 440,2 Kb.
    bet1/4
    Sana18.05.2024
    Hajmi440,2 Kb.
    #242327
      1   2   3   4
    Bog'liq
    8-amaliy ish1805


    O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA
    KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
    MUHAMMAD AL-XORAZMIY NOMIDAGI
    TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI





    Infokommunikatsiyada dasturlash 2


    Amaliy ish-8


    Bajardi: Rasuljonov Nurali


    Tekshirdi: Muxammedinov Kobeysin

    Toshkent-2024







    8- AMALIY MASHG‘ULOT


    Mavzu: Taqsimlangan kliyent-server ilovalar yaratish

    Ishning maqsadi:


    Talabalarda Java dasturlash tilining java.rmi.* paketi klasslaridan foydalanib taqsimlangan kliyent-server ilovalar yaratish bo‘yicha ko‘nikmalar hosil qilish.

    Nazariy qism:


    RMI - Remote Method Invocation haqida. Remote Method Invocation (RMI) Javada taqsimlangan ilovani yaratishni ta'minlaydigan ilovaning dasturiy interfeysi (API) hisoblanadi. RMI boshqa Javadagi virtual mashinalarda (JVM) boshqariladigan obyekt metodlarini chaqirishga obyektlarga ruxsat beradi. RMI ikkita obyektlar ya'ni stub va skeletondan foydalanib, ilovalar o‘rtasida masofadan turib aloqa qilishni ta'minlab beradi. RMI masofadagi obyektlar bilan aloqani amalga oshirish uchun stub va skeleton obyektlaridan foydalanadi. Masofadagi obyektlar boshqa Javadagi virtual mashinalardan metodlarni chaqirib oluvchi obyektdir. Stub kliyent tomonidan shlyuz sifatida o‘zini tutadigan obyektdir. Barcha chiquvchi so‘rovlar u orqali yo‘naltiriladi. U kliyent tomonida joylashadi va masofadagi obyektlarda qatnashadi. Chaqiruvchi stub obyektdan metodni chaqirganda, u quyidagi vazifalarni bajaradi:

    1. U masofadagi virtual mashina bilan aloqani boshlaydi.

    2. U masofadagi virtual mashinaga parametrlarni yozadi va uzatadi.

    3. U qayta qiymatlarni o‘qiydi.

    Va oxirida qiymatni chaqiruvchiga qaytaradi. Skeleton server tomon uchun o‘zini shlyuzdek tutuvchi obyektdir. Barcha kiruvchi so‘rovlar u orqali yo‘naltiriladi. Skeleton kiruvchi so‘rovni qabul qilganida, u quyidagi vazifalarni bajaradi:

    1. U masofadagi metodlar uchun parametrlarni o‘qiydi.

    2. U haqiqiy masofadagi obyektlar metodini chaqirib oladi va chaqiruvchiga natijani uzatadi va yozadi.

    RMI ilovada kliyent ham server masofadagi interfeys bilan ta'sir ko‘rsatadi.
    Kliyent ilovasi proksi obyekti metodini chaqiradi, RMI javadagi virtual mashinalarga

    so‘rovlar jo‘natadi. Qaytuvchi qiymat proksi obyektga keyin kliyent ilovasiga qayta jo‘natiladi.
    Java masofaviy usul chaqiruvi orqali bir nechta kompyuterlarda boshqaruv vaqtidagi moslamalarni tarqatishni qo‘llab-quvvatlaydi. Ushbu taqsimlangan obyektlar to‘plami Java dasturlarining bir nechta mashinalardagi aloqasini osonlashtiradi. Fikr shundan iboratki, mijoz oddiy yuqori darajadagi so‘rov yordamida serverdan obyektni so‘raydi. Quyida biz RMI dasturini yaratish uchun zarur bo‘lgan qadamlarni umumlashtiramiz. Keyin to‘rtta RMI misolini keltiramiz:

    1. Masofadagi obyektdan xabarlar qatorini qaytaradigan oddiy RMI misoli.

    2. Masofadagi obyekt orqali raqamli integratsiyani amalga oshiradigan aniq misol.

    3. RMI dasturi masofadagi obyektlarni bog'laydi.

    RMI ilovasini qurish bosqichlari. RMIdan foydalanish uchun biz ikkita narsani qilishimiz zarur: to‘rtta sinflar qurish va besh bosqichni bajarish. Sinflarni va bosqichlarni qisqacha tushuntirib o‘tamiz.
    RMI dan foydalanganda to‘rtta asosiy sinfni qurishimiz kerak:

      1. Masofadagi obyekt uchun interfeys. Bu interfeys kliyent hamda server tomonidan foydalaniladi.

      2. RMI kliyent - kliyent masofadagi serverdan obyektni qidiradi, keyin obyektdan mahalliy obyektdek foydalanadi.

      3. Obyektni amalga oshirish - obyektni interfeysning birinchi bosqichida amalga oshirish kerak va u server tomonidan foydalaniladi.

      4. RMI server - bu sinf obyekt uchun misol yaratadi va obyektni ro‘yhatdan o‘tqazadi.

    Tizimni kompilatsiya qilish va ishga tushirish.

        1. Kliyent va serverni kompilatsiya qilish - bu bosqich masofadagi obyekt interfeysini kompilyatsiya qiladi.

        2. Kliyent stub va server skeletonini yaratish - kliyent stub va server skeleton chaqiriqlar metodini qo‘llab-quvvatlaydi va qurilmalarni mustaqil kodlanishini ta'minlaydi. Kliyent tizmiga kliyent sinfi, sinf interfeysi va kliyent stub sinfi kerak. Server tizimiga server sinfi, masofadagi obyekt interfeysi va server

    skeleton sinfi kerak.

        1. RMIni ro‘yhatga olishni boshlash - ro‘yhatga olish bir marotaba amalga oshiriladi va har bir masofadagi obyekt uchun emas.

        2. Serverni ishga tushirish - bu bosqich bir xil qurilmalarda amalga oshiriladi.

        3. Kliyentni ishga tushirish - bu bosqich mustaqil qurilmalarda amalga oshiriladi.

    RMI ilovalar uchun umumiy ma'lumot.
    Ikkita alohida dastur RMI ilovalari tarkibiga kiradi: server va client. Odatda server ilovasi ba'zi masofaviy obyektlarni yaratadi, ularga mos yozuvlar beradi va mijozlar ushbu masofaviy obyektlardagi usullarni chaqirishini kutadi. Odatiy kliyent ilovasi serverdagi bir yoki bir nechta masofaviy qurilmalarga beradi va keyin ularni usullarini chaqiradi. RMI server va mijozning axborotni oldinga va orqaga o‘tkazishni ta'minlaydi. Bunday dastur ba'zan taqsimlangan obyektlar ilovasi deb ataladi.
    Taqsimlangan obyekt ilovalariga quyidagilar kerak:

    • Masofadagi obyektlarni topish uchun: Ilovalar masofadagi obyektlarga qo‘llaniladigan manbalarga erishish uchun ikkita mexanizmdan biri qo‘llaniladi. Ilova masofadagi obyektini RMIning oddiy nomlash tizimi bilan ro‘yhatdan o‘tqazadi.

    • Masofadagi obyekt bilan aloqa qilish: Masofadagi obyektlar orasidagi aloqa haqida ma'lumot RMI tomonidan ko‘rib chiqiladi. Dasturchiga masofaviy aloqa standart Java usuli chaqiruviga o‘xshaydi.

    • Obyektlar uchun sinf bayt kodlarini yuklab olish: RMI chaqiruvchining qurilmalarini masofadan obyektlarga ko‘chirishga ruxsat berganligi sababli, RMI obyektning kodini o‘rnatish va shuningdek, uning ma'lumotlarini uzatish uchun zarur mexanizmlarni taqdim etadi.

    Quyidagi rasmda RMI taqsimlangan ilovasi tasvirlangan. U masofadagi obyektlarda qo‘llaniladigan manbalarni ro‘yhatga olish uchun ishlatiladi. Server
    nomini masofadagi obyekt bilan bog'lash uchun ro‘yxatga olish orqali amalga oshiriladi. Kliyent masofadagi obyektni uni nomi bilan qidiradi. Rasmda, shuningdek, RMI tizimi mavjud bo‘lgan veb-serverni serverdan mijozga va mijozdan serverga, kerak bo‘lganda obyektlar uchun bayt kodlarini o‘rnatish uchun foydalanadi.

    8.1-rasm. RMI ilovalarni yaratish interfeysi Dinamik kod yuklashning afzalliklari:
    RMIning xususiyatlaridan biri, agar sinf qabul qiluvchining virtual mashinasida aniqlanmagan bo‘lsa, obyekt sinfining oddiygina kodini yuklab olish qobiliyatidir. Oldindan bitta virtual mashinada mavjud bo‘lgan obyektning turlari va xatti-harakatlari boshqa, uzoq virtual mashinaga uzatilishi mumkin. RMI obyektlarni ularning haqiqiy turiga o‘tkazadi, shuning uchun ushbu obyektlarning xatti- harakatlari boshqa virtual mashinaga yuborilganda o‘zgarmaydi. Bu uzoqdan virtual mashinaga yangi turlarni kiritish imkonini beradi, bu esa ilovaning dinamik tarzda bajarilishini ta'minlaydi.

    Download 440,2 Kb.
      1   2   3   4




    Download 440,2 Kb.