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

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

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

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

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

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

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

1 ответ

Решение

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

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

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

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

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

Другие вопросы по тегам