RMI vs REST Service - PullRequest
       4

RMI vs REST Service

12 голосов
/ 15 июля 2011

Мы разрабатываем сервис для нашего портала / веб-клиента, разработанный с использованием JSF.Мой совет состоял в том, чтобы выставить сервис как REST, но другой член команды сказал, что он согласен с реализацией RMI, так как проще работать с Java-объектом с точки зрения разработки и тестирования.

Моим аргументом было то, что усилия по разработке и тестированию были примерно такими же, но мы получим все преимущества веб-сервисов REST.

К вашему сведению: у нас уже есть настройка REST, поэтому никаких дополнительных затратв рамках поддержки.Эти услуги предоставляются нашему клиенту для смартфонов, который использует REST api.

В конце наш менеджер решил пойти по RMI, но я все же думаю, что REST будет более разумным способом.

Каким будет вашВыбор REST или RMI?

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

Ответы [ 3 ]

6 голосов
/ 15 июля 2011

Если между вашим клиентом и сервером существуют межсетевые экраны, вполне вероятно, что трафик RMI может быть заблокирован.HTTP-трафик открыт на большинстве брандмауэров, и REST не должен иметь проблем с прохождением.

4 голосов
/ 15 июля 2011

Самый большой аргумент против RMI и для REST / SOAP и т. Д. Заключается в том, что клиент не обязательно должен быть Java.

Если ваш интерфейс может перейти с JSF на ASP, тобыть в беде.

Кроме этого, RMI - это путь.Еще лучший способ - это EJB (уровень поверх RMI) с дополнительными преимуществами - многие поставщики уже реализуют спецификацию EJB, вы получаете преимущества объединения объектов, управления транзакциями и т. Д.

2 голосов
/ 15 июля 2011

Является ли клиент на Java, используйте RMI.Но это к простой мысли.Так как это всего лишь протокол точка-точка.

REST как парадигма интересна, если у вас есть, например, много операций чтения и вам нравится использовать технологии HTTP для кэширования и т. Д. Следующее, что вы, вероятно, можете легко реализовать - курсоры подкачки"поэтому вы отправляете данные в виде небольшой страницы и добавляете информацию о том, как получить следующую страницу.

Ваш вопрос в основном сформулирован так, как если бы это был технологический вопрос.Какой неверный подход.Вы должны заботиться не о технологиях, а о системной архитектуре.Вся программная система, ее возможности, ее производительность, ее масштабирование, ее конфигурация и обслуживание полностью различаются в зависимости от того, используете ли вы RMI или REST.

...