RPC және RMI арасындағы айырмашылық

Мазмұны:

RPC және RMI арасындағы айырмашылық
RPC және RMI арасындағы айырмашылық

Бейне: RPC және RMI арасындағы айырмашылық

Бейне: RPC және RMI арасындағы айырмашылық
Бейне: Сравнение протоколов TCP и UDP 2024, Қазан
Anonim

RPC және RMI

RPC мен RMI арасындағы негізгі айырмашылық мынада: RPC қашықтағы компьютерде процедураны шақыруға мүмкіндік беретін механизм, ал RMI Java-де RPC іске асыру болып табылады. RPC тілге бейтарап, бірақ жіберілетін қарапайым деректер түрлерін ғана қолдайды. Екінші жағынан, RMI Java-мен шектелген, бірақ нысандарды өткізуге мүмкіндік береді. RPC дәстүрлі процедуралық тіл конструкцияларын бақылайды, ал RMI объектіге бағытталған дизайнды қолдайды.

RPC дегеніміз не?

RPC, ол қашықтағы процедураны шақыру дегенді білдіреді, процессаралық байланыстың түрі. Бұл жергілікті компьютерде немесе қашықтағы компьютерде жұмыс істейтін басқа процесте функцияны шақыруға мүмкіндік береді. Бұл концепция 1980 жылы бұрыннан пайда болған, бірақ бірінші атақты енгізу Unix-те көрген.

RPC бірнеше қадамдарды қамтиды. Клиент әдеттегідей жергілікті компьютерде процедураны шақырады. Клиент stub деп аталатын модуль аргументтерді жинайды және хабарлама жасайды және операциялық жүйеге береді, Операциялық жүйе жүйелік қоңырауды жасайды және бұл хабарламаны қашықтағы компьютерге жібереді. Сервердегі операциялық жүйе хабарламаны жинайды және сервердің stub деп аталатын сервердегі модульге өтеді. Содан кейін сервер stub сервердегі процедураны шақырады. Соңында нәтижелер клиентке қайтарылады.

RPC пайдаланудың артықшылығы оның желі мәліметтерінен тәуелсіз болуы. Операциялық жүйе ішкі желі мәліметтерін қадағалайтын кезде бағдарламашы абстрактілі түрде көрсетуі керек. Осылайша, бұл бағдарламалауды жеңілдетеді және физикалық және протоколдық айырмашылықтарға қарамастан RPC кез келген желіде жұмыс істеуге мүмкіндік береді. RPC іске асыру Unix, Linux, Windows және OS X сияқты барлық негізгі операциялық жүйелерде бар. RPC әдетте тілге бейтарап, сондықтан ол деректер түрлерін ең қарапайым түрлерімен шектейді, өйткені олар барлық тілдерге ортақ болуы керек. RPC-дегі тәсіл нысанға бағытталған емес, бірақ ол C тіліндегі сияқты дәстүрлі процедуралық механизм.

RPC және RMI арасындағы айырмашылық
RPC және RMI арасындағы айырмашылық
RPC және RMI арасындағы айырмашылық
RPC және RMI арасындағы айырмашылық

RMI дегеніміз не?

RMI, ол қашықтағы әдісті шақыру дегенді білдіреді, ол нысанға бағытталған табиғатты қолдау үшін Java тілінде RPC іске асыратын API (Қолданбаларды бағдарламалау интерфейсі). Бұл бір компьютерде немесе қашықтағы басқа Java виртуалды машинасында Java әдістерін шақыруға мүмкіндік береді. RMI шектеуі тек Java әдістерін шақыруға болатындығы болып табылады, бірақ бұл нысандарды аргументтер және қайтарылатын мәндер ретінде беруге болатын артықшылығымен бірге келеді. Өнімділік деп есептегенде, RMI Java виртуалды машинасында байт-кодтың қатысуына байланысты RPC-ге қарағанда баяуырақ, бірақ RMI бағдарламашыға өте ыңғайлы және оны пайдалану өте оңай.

RMI Java жүйесінде кірістірілген қауіпсіздік механизмдерін пайдаланады және сонымен қатар TCP емес реттелетін тасымалдау қабатының протоколдарын пайдалануға мүмкіндік беретін ұяшық зауытын береді. Сонымен қатар, RMI желіаралық қалқандарды айналып өту әдістерін ұсынады. RMI-де орындалатын қадамдар RPC-ге ұқсас. RMI енгізу ішкі желі мәліметтерін қарастырады, мұнда бағдарламашы олар туралы алаңдамауы керек.

RPC және RMI арасындағы айырмашылық неде?

• RPC тіл бейтарап, ал RMI Java тілімен шектеледі.

• RPC C тіліндегідей процедуралық, бірақ RMI нысанға бағытталған.

• RPC тек қарапайым деректер түрлерін қолдайды, ал RMI нысандарды аргументтер және қайтаратын мәндер ретінде беруге мүмкіндік береді. RPC пайдалану кезінде бағдарламашы кез келген құрама нысандарды қарапайым деректер түрлеріне бөлуі керек.

• RMI бұл RPC бағдарламалау оңай.

• RMI RPC қарағанда баяу, себебі RMI java байт кодын орындауды қамтиды.

• RMI объектіге бағытталған сипатына байланысты дизайн үлгілерін пайдалануға мүмкіндік береді, ал RPC мұндай мүмкіндікке ие емес.

Қорытынды:

RPC және RMI

RPC – қашықтағы компьютерде процедураны шақыруға мүмкіндік беретін тілдік бейтарап механизм. Дегенмен, тілдің бейтарап мүмкіндігі аргументтер ретінде жіберілетін деректер түрлерін шектейді және мәндерді қарабайыр түрлерге қайтарады. RMI - бұл Java-да RPC енгізу және ол бағдарламашының өмірін жеңілдете отырып, объектінің өтуін де қолдайды. RMI артықшылығы - нысанға бағытталған дизайнды қолдау, бірақ Java-мен шектелу - кемшілігі.

Ұсынылған: