Տարբերություն RPC-ի և RMI-ի միջև

Բովանդակություն:

Տարբերություն RPC-ի և RMI-ի միջև
Տարբերություն RPC-ի և RMI-ի միջև

Video: Տարբերություն RPC-ի և RMI-ի միջև

Video: Տարբերություն RPC-ի և RMI-ի միջև
Video: Բաժնետոմսերի տեղաբաշխման բացատրական հոլովակ 2024, Նոյեմբեր
Anonim

RPC ընդդեմ RMI

RPC-ի և RMI-ի հիմնական տարբերությունն այն է, որ RPC-ն մեխանիզմ է, որը հնարավորություն է տալիս պրոցեդուրա կանչել հեռավոր համակարգչում, մինչդեռ RMI-ն RPC-ի իրականացումն է java-ում: RPC-ն լեզուն չեզոք է, բայց աջակցում է միայն փոխանցվող տվյալների պարզունակ տեսակներին: Մյուս կողմից, RMI-ն սահմանափակված է Java-ով, բայց թույլ է տալիս անցնել օբյեկտներ: RPC-ն հետևում է ավանդական ընթացակարգային լեզվական կառուցվածքներին, մինչդեռ RMI-ն աջակցում է օբյեկտի վրա հիմնված դիզայնին:

Ի՞նչ է RPC-ն:

RPC, որը նշանակում է Remote Procedure Call, միջգործընթացային հաղորդակցության տեսակ է: Սա թույլ է տալիս ֆունկցիա կանչել տեղական կամ հեռավոր համակարգչի վրա աշխատող այլ գործընթացում:Այս հայեցակարգը ի հայտ է եկել շատ վաղուց՝ 1980 թվականին, սակայն առաջին հայտնի իրականացումը տեսել են Unix-ում:

RPC-ն ներառում է մի քանի քայլ: Հաճախորդը սովորական զանգ է կատարում տեղական համակարգչում: Հաճախորդի կոճղ կոչվող մոդուլը հավաքում է փաստարկները և ստեղծում հաղորդագրություն և փոխանցում օպերացիոն համակարգին, Օպերացիոն համակարգը կատարում է համակարգային զանգ և ուղարկում է այս հաղորդագրությունը հեռավոր համակարգչին: Սերվերի օպերացիոն համակարգը հավաքում է հաղորդագրությունը և փոխանցում սերվերի մոդուլին, որը կոչվում է սերվերի կոճղ: Այնուհետև սերվերի կոճակը կանչում է պրոցեդուրան սերվերի վրա: Վերջապես, արդյունքները հետ են ուղարկվում հաճախորդին:

RPC-ի օգտագործման առավելությունն այն է, որ այն անկախ է ցանցի մանրամասներից: Ծրագրավորողը պարզապես պետք է վերացական կերպով նշի, մինչդեռ օպերացիոն համակարգը կհետևի ցանցի ներքին մանրամասներին: Այսպիսով, սա հեշտացնում է ծրագրավորումը և թույլ է տալիս RPC-ին աշխատել ցանկացած ցանցում՝ չնայած ֆիզիկական և պրոտոկոլային տարբերություններին: RPC-ի ներդրումն առկա է բոլոր հիմնական օպերացիոն համակարգերում, ինչպիսիք են Unix-ը, Linux-ը, Windows-ը և OS X-ը:RPC-ն ընդհանուր առմամբ լեզվական չեզոք է, հետևաբար այն սահմանափակում է տվյալների տեսակները ամենապրիմիտիվներով, քանի որ դրանք պետք է ընդհանուր լինեն բոլոր լեզուների համար: RPC-ում մոտեցումը օբյեկտային չէ, բայց այն ավանդական ընթացակարգային մեխանիզմ է, ինչպես C.-ում:

Տարբերությունը RPC-ի և RMI-ի միջև
Տարբերությունը RPC-ի և RMI-ի միջև
Տարբերությունը RPC-ի և RMI-ի միջև
Տարբերությունը RPC-ի և RMI-ի միջև

Ինչ է RMI?

RMI-ն, որը նշանակում է Remote Method Invocation, API (Application Programming Interface) է, որն իրականացնում է RPC-ն java-ում՝ օբյեկտ կողմնորոշված բնույթին աջակցելու համար: Սա թույլ է տալիս կանչել Java մեթոդները մեկ այլ Java վիրտուալ մեքենայի վրա, որը գտնվում է նույն կամ հեռավոր համակարգչի վրա: RMI-ի սահմանափակումն այն է, որ միայն Java-ի մեթոդները կարող են կանչվել, բայց դա ունի այն առավելությունը, որ օբյեկտները կարող են փոխանցվել որպես արգումենտ և վերադարձնել արժեքներ:Երբ կատարումը համարվում է, RMI-ն ավելի դանդաղ է, քան RPC-ը՝ Java վիրտուալ մեքենայի վրա բայթկոդի ներգրավման պատճառով, բայց RMI-ն շատ հարմար է ծրագրավորողների համար և շատ հեշտ է օգտագործել:

RMI-ն օգտագործում է ներկառուցված անվտանգության մեխանիզմներ Java-ում, ինչպես նաև տալիս է վարդակների գործարան, որը հնարավորություն է տալիս օգտագործել ոչ TCP հատուկ տրանսպորտային շերտի արձանագրություններ: Ավելին, RMI-ն ապահովում է firewalls-ը շրջանցելու մեթոդներ։ Քայլերը, որոնք տեղի են ունենում 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-ն RPC-ի ներդրումն է Java-ում և այն աջակցում է նաև օբյեկտների անցմանը, ինչը հեշտացնում է ծրագրավորողի կյանքը: RMI-ի առավելությունը օբյեկտի վրա հիմնված դիզայնի աջակցությունն է, սակայն Java-ի սահմանափակումը թերություն է:

Խորհուրդ ենք տալիս: