Изучаем Java EE 7 - [254]

Шрифт
Интервал

>$ mvn failsafe: integration-test

Резюме

В предыдущей главе были рассмотрены веб-службы SOAP. Теперь вы уже должны понимать разницу между веб-службами, работающими на базе JAX-RS и JAX-WS. При работе REST широко задействуется HTTP, поэтому данная глава началась с общего знакомства с концепциями ресурсов, представления, адресуемости, связности, а также единообразных интерфейсов. Вы узнали, как с помощью простых HTTP-операций (GET, POST, PUT и др.) получать доступ к любому ресурсу, развернутому в Интернете.

Затем в этой главе был подробно рассмотрен протокол HTTP, работа которого строится на базе обмена запросами и ответами. По HTTP передаются сообщения, состоящие из заголовков, cookie и полезной нагрузки. С помощью HTTP-заголовков и согласования содержимого веб-службы в стиле REST могут выбирать из одного и того же URI подходящий тип содержимого. Можно использовать кэширование, помогающее оптимизировать сетевой трафик благодаря условным запросам (вспомните материал об использовании дат и меток ETag). Поскольку REST-службы построены на HTTP, такая оптимизация может применяться и с ними. Благодаря новому клиентскому API JAX-RS 2.0 мы смогли программно вызвать несколько веб-служб в стиле REST.

JAX-RS — это API языка Java, входящий в состав платформы Java EE 7 и упрощающий разработку веб-служб с передачей состояния представления. Работая с набором аннотаций, можно определить путь и подпути вашего ресурса, извлекать различные параметры или выполнять отображение на HTTP-методы (@GET, @POST и т. д.). При разработке веб-служб в стиле REST необходимо учитывать природу ресурсов, способы их связывания друг с другом, а также способы управления их состоянием с помощью HTTP. Теперь вы сами сумеете продемонстрировать в Сети несколько служб и посмотреть, на каких разнообразных устройствах можно будет их использовать.


Рис. 13.13. Собираем все воедино



Рекомендуем почитать
Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


MFC и OpenGL

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Симуляция частичной специализации

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Обработка событий в С++

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.