Как дружат UI на JS и Java EE server-side?
2. Написание Rest API
    Данный подход сейчас - мэйнстрим в разработке веб-проектов. Производительность высокая, механизм универсален и поддерживается практически всеми языками/фреймворками. Для примера: доводилось переходить со встроенных механизмов обмена данными с сервером GWT, на передачу тех же данных с помощью REST - при тех же объемах данных время возврата ответа значительно снижалось.
    Кроме производительности, удобство использования также на высоте - в большинстве случаев код лаконичен и ясен. Обращения к серверу можно осуществлять практически из любого места в вашем JS-клиенте. Главное - не забывать о асинхронности, и строить логику с учетом этого: код, зависящий от результатов запроса обрабатывать в callback-ах, переданных в вызов REST.
2) Rest api. Плюс Web Socket для отправки сообщении с сервер на клиент, это даст больше вариантов взаимодействия клиента с сервером, а не только работать в режиме запрос ответ, как это подразумевает Rest