Вы действительно не должны использовать RMI для любого приложения, которое вы создаете сегодня, в основном по причинам, которые вы только что изложили.
В некоторых случаях (погружение в устаревшие или «корпоративные» приложения) у вас просто нет выбора.
Однако, если вы начинаете новый проект, есть и другие варианты:
REST + JSON через HTTP
Стандарт де-факто для связи с удаленными службами. Самое большое преимущество, которое он имеет, это то, что он легкий и простой для понимания концепции.
Теоретически это должно потребовать больше работы, чем RMI, потому что вам нужно вручную создавать доступные URL-адреса, допустимые глаголы в каждом URL-адресе и т. д. На практике я бы сказал, что шаблон RMI на самом деле никому не помогает.
Опираясь на Java, Jersey – это великолепная библиотека для написания собственных веб-сервисов RESTful.
Если вам нужно решение с включенными батареями для веб-служб RESTful с Java, Dropwizard от хороших ребят из Yammer даст вам полноценный сервер и инфраструктура, готовые просто подключить вашу бизнес-логику и обеспечивающие ведение журнала, подключение к базе данных, сериализацию, маршрутизацию запросов и даже сбор метрик из коробки.
МЫЛО
Предыдущий стандарт для связи с удаленными службами. Если у вас нет причин использовать его, я бы придерживался REST.
Бережливость
Thrift создаст клиента и заглушку сервера, выполняя большую часть работы. Связь осуществляется в эффективном бинарном протоколе. Он набирает популярность в мире Java, поскольку используется во многих проектах с открытым исходным кодом в области «больших данных». Примеры, Cassandra, HBase (переход на Avro). Scrooge — это твиттер-проект по созданию идиоматических заготовок для scala.
Акка актеры
Akka — это фреймворк, который реализует Акторная модель для Scala и Java. Включает средства для межсервисной связи и заботится о многих деталях под капотом. я
В зависимости от ваших потребностей, некоторые из них будут более подходящими, чем другие.
person
Alex Recarey
schedule
14.01.2013