Разница между RMI и ActiveMQ - PullRequest
       29

Разница между RMI и ActiveMQ

2 голосов
/ 13 ноября 2011

В настоящее время я пытаюсь освоиться с многоуровневыми приложениями (архитектура сервера / клиента).Для этого я создал сервисные интерфейсы и соответствующие реализации сервиса.

Оба модуля - клиент и сервер - зная интерфейсы (включенные через путь сборки).

Цель приложения состоит в том, чтоклиент может получать данные с сервера, а также отправлять данные на сервер, где они сохраняются в базе данных.

Похоже, мне нужно соединение в обоих направлениях.Является ли «стандартный» Java RMI правильным подходом для этого или мне нужно использовать реализацию JMS, такую ​​как ActiveMQ?

Я не вижу основной разницы между этими двумя подходами?Это единственное, что RMI является синхронным и JMS асинхронным или есть нечто большее?

Кроме того, вы можете порекомендовать учебник ActiveMQ или даже книгу?

1 Ответ

8 голосов
/ 13 ноября 2011

Мы говорим о двух разных технологиях, каждая из которых имеет разные сценарии использования.RMI - это интерфейс прикладного программирования Java (API), который позволяет удаленно вызывать методы между Java-программами, и он предназначен для создания синхронных распределенных приложений.RMI является Java-эквивалентом удаленных вызовов процедур (RPC).

С другой стороны, ActiveMQ - это продукт, промежуточное программное обеспечение, ориентированное на сообщения (MOM), полезное для приема и обработки асинхронных сообщений (очередей или тем),и приложения Java, как правило, взаимодействуют с такой системой с помощью API-интерфейса JMS.

Вы будете использовать RMI, когда вам нужно будет общаться с другим приложением Java в распределенном, синхронном режиме, тогда как вы будете использовать JMS для отправки сообщений.обрабатываться асинхронно, и в принципе обработка может включать системы, написанные с использованием любой другой технологии, а не только Java (в отличие от RMI).

Асинхронный обмен сообщениями обычно используется для решения архитектурной проблемы интеграции разнородных систем, что оченьХорошая (не зависящая от технологии) книга на эту тему: Шаблоны корпоративной интеграции: проектирование, создание и развертывание решений для обмена сообщениями .

Наконец, ActiveMQ в действии - это приятнокнига по ActiveMQ.

...