В настоящее время я пытаюсь освоиться с многоуровневыми приложениями (архитектура сервера/клиента). Для этого я создал интерфейсы служб и связанные с ними реализации служб.
Оба модуля - клиент и сервер - знают интерфейсы (включаются через путь сборки).
Цель приложения состоит в том, что клиент может получать данные с сервера, а также отправлять данные на сервер, где они сохраняются в базе данных.
Кажется, мне нужна связь в обоих направлениях. Является ли «стандартный» Java RMI правильным подходом для этого или мне нужно использовать реализацию JMS, например ActiveMQ?
Я не вижу основной разницы между двумя подходами? Является ли единственным, что RMI является синхронным, а JMS асинхронным, или есть что-то еще?
Более того, можете ли вы порекомендовать учебник или даже книгу по ActiveMQ?