Всем привет.
Подскажите, что на данный момент является best practice по созданию взаимодействия UI, который написан на JS и сервера, написанного на Java?
К примеру, для соединения Flex (aka ActionScript) и Java, есть 2 основных фреймворка:
1. BlazeDS.
2. GraniteDS.
Которые позволяют обмениваться DTO между собой, через "поднятие" RemoteObject. Внутри, как я понимаю происходит сериализация\десериализация и через свои каналы (e.g. AMFChannel) происходит передача этих DTO.
Какие техники или фреймворки применяются для UI, написанного на JS?
Как я вижу, есть несколько вариантов:
1. Вызов java кода из JS:
www.sitepoint.com/connect-java-to-javascript-with-...
2. Написание Rest API и вызов сервисов оттуда. (мне лично не нравится, полагаю, что будут серьезные проблемы с перфомансом, да и как то криво это будет выглядеть)
3. Какой то фреймворк, который обменивает DTO между JS и Java? Если такой существует.
4. Иметь JSF\JSP страницы, которые бы содержали вставки JS кода. (но это прям из пушки по воробьям)
Для наглядного примера: к примеру, есть задача, в которой один из модулей должен использовать d3js библиотеку (
d3js.org), а данные получать от сервера, написанного на Java (к примеру, с использованием Spring)