Почему существует Java RMI? Кто его использует и для чего?Что такое Java RMI?
Мои самые насущные вопросы;
- Зачем вам нужны вызовы методов, которые не определены на вашем компьютере? Разве это не займет много времени? Я не вижу, как это делает мир лучше. Разве не разумнее было бы, чтобы на многих машинах работала полная программа, а не на многих машинах каждой запущенной части?
- Не факт, что вы должны вручную предоставлять интерфейсы всем машинам (клиентам и серверам), убивать любые преимущества, предоставляемые удаленными объектами? Другими словами, если преимущество удаленного объекта заключается в том, что клиентскому программисту не требуется взаимодействовать с программным программистом сервера, то не раздражает ли он вручную связаться друг с другом, чтобы обновлять интерфейсы с обеих сторон для каждого небольшого изменение?
- Как это похоже или отличается от типичного веб-приложения, установленного там, где клиент взаимодействует с сервером? На мой взгляд, HTTP-вызовы гораздо легче понять. Может ли сервер RMI требовать от клиентов RMI своего рода пароль?
- Какие приложения обычно создаются с использованием Java RMI? Какие-нибудь жесткие примеры?
RMI дает вам маршаллинг и тип безопасности, с которым вы не получаете HTTP. Сказав это, вы перечислили многие причины, по которым оно вышло из моды. Восстановительные веб-сервисы являются независимыми от платформы и гораздо более легкими –
@JuanMendes Вы не можете сказать, что RMI «упал в немилости», когда он является основой J2EE. Восстановительные веб-сервисы не являются более независимыми от платформы и не более весовыми, чем RMI. – EJP
@ejp, если вы не считаете Java платформой, это правда. Я просто говорил о возможности общаться с любым языком. Это упало в немилости, можете ли вы действительно сравнить количество услуг, доступных как RMI с HTTP? J2EE - это платформа Java, поэтому имеет смысл использовать RMI. Если вы хотите, чтобы другие потребляли ваши услуги, большинство будет работать с веб-службами. –