В моем текущем проекте мы используем традиционное приложение Java EE в качестве бэкэнда для приложения Play. Вся логика приложения реализована в EJB без сохранения состояния, доступ к которым осуществляется через RMI.
Контроллеры Play используют удаленный поиск JNDI, чтобы получить заглушки для удаленных интерфейсов для наших EJB. Определения классов для классов моделей, а также для удаленных интерфейсов совместно используются приложением Play и приложением Java EE, работающим на нашем сервере приложений (Glassfish).
Приложение Java EE разработано Maven, который развертывает файл ejb-client.jar на нашем центральном сервере Nexus, который также доступен для среды выполнения Play (включается путем создания настраиваемого установочного файла Ivy).
Это решение отлично сработало для нас. Чтобы ускорить процесс и сделать приложение масштабируемым, мы используем асинхронную работу Play и поддержку memcache.
Сладкий :-)