Разлика между 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 (за разлика от RMI).

Асинхронните съобщения обикновено се използват за решаване на архитектурния проблем с интегрирането на различни системи, много добра (технологично агностична) книга по темата е Модели за интеграция на предприятието: Проектиране, изграждане и внедряване на решения за съобщения.

И накрая, ActiveMQ в действие е хубава книга за ActiveMQ .

person Óscar López    schedule 13.11.2011
comment
Благодаря ви много за това! - person mhmpl; 13.11.2011