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

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

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

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

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

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

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


person mhmpl    schedule 13.11.2011    source источник


Ответы (1)


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

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

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

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

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

person Óscar López    schedule 13.11.2011
comment
Большое спасибо за это! - person mhmpl; 13.11.2011