Библиотека на основе Enterprise JavaBeans и JavaServer Faces, так же как на Spring MVC, позволяет хранить, просматривать, изменять списки авторов и книг в базе данных.
Для асинхронного обращения к серверу в этой реализации применён встроенный в JSF
AJAX-компонент f:ajax
. По этой причине отличается стратегия обновления
пользовательского интерфейса: в ответ на действие пользователя у сервера
запрашиваются изменившиеся элемента данных — вместо изменения элементов интерфейса
средствами JavaScript, как это было в случае приложения на Spring. Соответственно,
функции JavaScript здесь невелики и немногочисленны.
- сервлет: EJB 3, JSF 2.2;
- доступ к данным: JPA, Hibernate;
- веб-сервис: JAX-RS, RESTEasy;
- веб-интерфейс: jQuery, Bootstrap;
- база данных: PostgreSQL;
- серверы приложений: JBoss, GlassFish.
Веб-сервис реализован средствами Java API for RESTful Web Services (JAX-RS),
он позволяет запрашивать и изменять предоставленные приложением ресурсы
в форматах JSON и XML. Веб-сервис доступен по пути /rest/
,
адреса ресурсов и ответы в целом аналогичны Spring-реализации.
Пример добавления автора запросом к ресурсу: POST /rest/authors
в формате XML:
заголовок: Content-Type: application/xml
Accept: application/xml
тело: <author>
<id>0</id>
<country>Россия</country>
<name>Лев Толстой</name>
</author>
Ответ приложения:
заголовок: Status Code: 201 Created
Content-Type: application/xml
Location: http://library.jelasticloud.com/library/rest/authors/11
тело: <author>
<id>11</id>
<country>Россия</country>
<name>Лев Толстой</name>
</author>