Небольшой контекст: я хотел бы разделить Java-приложение, которое я пишу, на более или менее типичную модель сервер-клиент. Я хотел бы предоставить «сервер», который заботится о бизнес-логике и постоянстве, но написал бы его очень ориентированным на обслуживание способом. Любой интерфейсный код (GUI) будет затем вызывать сервер для обеспечения функциональности в удобной для пользователя форме.
Поскольку я пишу приложение с использованием Spring (и платформы ORM), имеет смысл изучить обычные подозреваемые для раскрытия функциональности сервера, причем обычными подозреваемыми являются RMI, Spring HTTP, Hessian, веб-службы и т. Д. (в Spring поддерживаются нативные опции). Они хорошо документированы как в справочной документации, так и здесь.
Однако, по фактическому вопросу: есть ли менее очевидные, более экзотические варианты, которые я мог бы рассмотреть, чтобы использовать мои серверные сервисы?
Важно (как всегда) добиться правильного баланса между простотой использования (от внешнего интерфейса POV), производительностью и масштабируемостью. Например; Поскольку я думал о том, чтобы обеспечить интеграцию Spring-BlazeDS на сервере любым способом (для клиентов Flex / AS3), я понял, что BlazeDS предоставляет собственный API-интерфейс Java для вызова служб AMF.
Любые указатели очень ценятся.