Съдържание:
Видео: Разлика между RPC и RMI
2024 Автор: Mildred Bawerman | [email protected]. Последно модифициран: 2023-12-16 08:37
RPC срещу RMI
Основната разлика между RPC и RMI е, че RPC е механизъм, който позволява извикване на процедура на отдалечен компютър, докато RMI е изпълнението на RPC в java. RPC е неутрален за езика, но поддържа само примитивни типове данни, които трябва да бъдат предадени. От друга страна, RMI е ограничен до Java, но позволява преминаване на обекти. RPC следва традиционните процедурни езикови конструкции, докато RMI поддържа обектно-ориентиран дизайн.
Какво е RPC?
RPC, което е съкращение от Remote Procedure Call, е вид комуникация между процесите. Това позволява извикване на функция в друг процес, работещ на локален компютър или отдалечен компютър. Тази концепция се появи отдавна през 1980 г., но първата известна реализация беше забелязана в Unix.
RPC включва няколко стъпки. Клиентът извиква процедура на локалния компютър, както обикновено. Модулът, наречен client stub, събира аргументите и създава съобщение и предава на операционната система, операционната система извършва системно обаждане и изпраща това съобщение на отдалечения компютър. Операционната система в сървъра събира съобщението и преминава към модула на сървъра, наречен сървърно заглушаване. Тогава сървърният заглушител извиква процедурата на сървъра. Накрая резултатите се изпращат обратно на клиента.
Предимството на използването на RPC е, че той е независим от мрежовите детайли. Програмистът просто трябва да посочи абстрактно, докато операционната система ще се грижи за вътрешните детайли на мрежата. Така че това улеснява програмирането и позволява RPC да работи във всяка мрежа въпреки физическите и протоколни разлики. RPC внедряванията присъстват във всички масови операционни системи като Unix, Linux, Windows и OS X. RPC обикновено е езиково неутрален, поради което ограничава типовете данни до най-примитивните, тъй като те трябва да са общи за всички езици. Подходът в RPC не е обектно ориентиран, но е традиционен процедурен механизъм като в C.
Какво е RMI?
RMI, което е съкращение от Remote Method Invocation, е API (Application Programming Interface), който реализира RPC в Java, за да поддържа обектно ориентирана природа. Това позволява извикване на Java методи на друга Java виртуална машина, пребиваваща на същия компютър или отдалечена. Ограничението на RMI е, че само Java методите могат да бъдат извикани, но това идва с предимството, че обектите могат да се предават като аргументи и връщани стойности. Когато се счита, че производителността е по-бавна от RPC, поради участието на байт код на виртуалната машина Java, но 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 е внедряването на RPC в Java и поддържа предаване на обекти, което прави живота на програмиста по-лесен. Предимството на RMI е обектно-ориентираната поддръжка на дизайна, но ограничението до Java е недостатък.
Снимките са предоставени:
Препоръчано:
Разлика между конфликт между роли и напрежение на ролята
Конфликт между роли и напрежение на ролята Всеки човек има редица роли в личния и професионалния си живот. Човек може да трябва да играе номер
Разлика между ЕМП и потенциална разлика
EMF срещу потенциална разлика (електромоторна сила) се използват за описване на два различни параметъра между две точки. Терминът „потенциална разлика“е ге
Разлика между фазовата разлика и разликата в пътя
Фазова разлика спрямо разликата в пътя Разликата във фазата и разликата в пътя са две много важни концепции в оптиката. Тези явления се наблюдават по проблемите на
Разлика между потенциалната разлика и напрежението
Потенциална разлика спрямо напрежение Потенциалната разлика и напрежението са два термина, използвани в инженерството, за да опишат разлика в потенциала в две точки
Разлика между ключовата разлика между металните и неметалните минерали
Ключова разлика - метални срещу неметални минерали Минералът е естествено срещаща се твърда и неорганична съставка с определена химическа формула и