Введение
Если раньше Вам приходилось сталкиваться с разработкой приложений для WebSphere Application Server (далее WAS), то Вы конечно же знаете, что это процесс небыстрый. Для этого требовалось разворачивать свой собственный, «тяжелый», сервер приложений, одна перезагрузка которого занимала длительное время. В команде разработки WebSphere долго думали над тем, как предоставить разработчикам самую простую, лучшую и доступную среду для создания новых веб-приложений для WAS. В результате в версии WAS 8.5 появился новый Liberty Profile, который значительно упрощает процесс разработки приложений для WAS.
Итак, что такое Liberty Profile и что он делает?
По сути Liberty Profile – это динамический профиль WAS, который позволяет WAS-серверу предоставлять только те функции, которые требуются приложению (или нескольким приложениям), развернутому на этом сервере. Если приложению нужны сервлеты, то запускается лишь ядро WAS, HTTP-транспорт и веб-контейнер. Все это происходит очень быстро (за несколько секунд) и требует весьма скромного объема ресурсов. Вам нужен JPA-провайдер для доступа к реляционным данным? Вам не придется долго искать, достаточно добавить опцию JPA и конфигурацию хранения данных и Liberty Profile включит все необходимое. Все это делается в динамическом режиме. Даже несмотря на то, что сервер перезапускается за несколько секунд, Вам не придется этого делать. Это очень важно для разработки, так как Вы постоянно добавляете в приложение новые возможности, меняете код и исправляете ошибки. Разработчикам необходимо, чтобы внесение изменений в программный код и в конфигурацию было простым, и чтобы эти изменения немедленно отражались в среде тестирования. Все это становится таким простым с Liberty Profile и новыми инструментами WAS Developer Tools.
Где скачать?
Скачать Liberty Profile можно на сайте WASdev — WebSphere Application Server V8.5.5 Liberty Profile. Данный сайт предлагает установить Liberty Profile двумя способами:
- Используя Eclipse Marketplace Client. Перетягиваем кнопку install на панель Eclipse и следуем дальнейшим указаниям.
- Используя JAR архивы.
В данной статье будет рассмотрен второй способ установки.
Установка
Скачиваем файл wlp-developers-runtime-8.5.5.1.jar и запускаем команду:
java -jar wlp-developers-runtime-8.5.5.1.jar
Принимаем условия лицензионного соглашения, а также указываем директорию, в которую необходимо разархивировать Liberty Profile. В моем случае это директория /Users/alex/Dev/WebSphere, в ней автоматически будет создана поддиректория wlp. Собственно директория wlp и есть наш Liberty Profile. Что далее? Необходимо ознакомиться с базовыми командами, которые нам предлагает утилита server находящаяся в директории bin.
Утилита server
* create — создает новый сервер
./bin/server create TestServer
Server TestServer created.
* start — запускает сервер в фоновом режиме
./bin/server start TestServer
Starting server TestServer.
Server TestServer started with process ID 56059.
* run — запускает сервер в консольном режиме
./bin/server run TestServer
Launching TestServer (WebSphere Application Server 8.5.5.1/wlp-1.0.4.cl50120131011-1639) on Java HotSpot(TM) 64-Bit Server VM, version 1.7.0_45-b18 (en_US)
[AUDIT ] CWWKE0001I: The server TestServer has been launched.
[AUDIT ] CWWKZ0058I: Monitoring dropins for applications.
[AUDIT ] CWWKF0011I: The server TestServer is ready to run a smarter planet.
* stop — останавливает запущенный сервер
./bin/server stop TestServer
Stopping server TestServer.
Server TestServer stopped.
* status — проверяет, запущен ли указанный сервер
./bin/server status TestServer
Server TestServer is not running.
Конфигурация сервера
Конфигурация сервера хранится в файле server.xml, который, в свою очередь, находится в директории usr/servers/TestServer/. Посмотрим его содержимое:
more usr/servers/TestServer/server.xml
<server description="new server">
<!-- Enable features -->
<featureManager>
<feature>jsp-2.2</feature>
</featureManager>
<httpEndpoint id="defaultHttpEndpoint"
host="localhost"
httpPort="9080"
httpsPort="9443" />
</server>
По умолчанию сервер использует TCP/IP порт 9080 для HTTP трафика, а также порт 9081 для HTTPS трафика.
Запускаем сервер любым удобным для Вас способом и переходим в браузере на страницу http://localhost:9080/:
Установка приложений используя папку dropins
Если приложение не использует каких-либо специфических настроек, Вы можете поместить его (как архив или папку) в директорию dropins. Запущенный сервер автоматически определит изменения в статических или динамических ресурсах, например таких как JSP. Для обновления, допустим, сервлетов необходимо удалить приложение из папки dropins, немного подождать и добавить обновленную версию.
Установка приложений используя конфигурацию сервера
Если приложение использует какие-либо специфические настройки, Вам нужно поместить его в директорию apps и настроить в файле server.xml. Для того чтобы удалить приложение, удалите его настройки из файла server.xml. Можно настроить мониториг изменений в настроенных приложениях с автоматическим перезапуском, если были изменения.
Добавим поддержку Web Services, JMS и MongoDB
Скачиваем файл wlp-developers-extended-8.5.5.1.jar и запускаем команду:
java -jar wlp-developers-extended-8.5.5.1.jar
Принимаем условия лицензионного соглашения, а также указываем директорию, в которой установлен Liberty Profile.
Проверяем работоспособность Liberty Profile
Скачиваем Servlet Sample, разархивируем его в директорию Liberty Profile.
java -jar ServletSample.jar
Запускаем сервер и переходим в браузере на страницу http://localhost:9122/ServletApp/:
/bin/server run ServletSample
Launching ServletSample (WebSphere Application Server 8.5.5.1/wlp-1.0.4.cl50120131011-1639) on Java HotSpot(TM) 64-Bit Server VM, version 1.7.0_45-b18 (en_US)
[AUDIT ] CWWKE0001I: The server ServletSample has been launched.
[AUDIT ] CWWKZ0058I: Monitoring dropins for applications.
[AUDIT ] CWWKT0016I: Web application available (default_host): http://localhost:9122/ServletApp/
[AUDIT ] CWWKZ0001I: Application ServletApp started in 0.220 seconds.
[AUDIT ] CWWKF0011I: The server ServletSample is ready to run a smarter planet.
Другие примеры можно скачать на странице Liberty Repository — Product Samples.
Полезные ссылки
- WASdev
- WebSphere Application Server, Network Deployment, Version 8.5
- Using the Liberty profile as an application development environment
- Liberty profile: Configuration elements in the server.xml file
- stackoverflow: websphere-liberty
- WebSphere Application Server Liberty Profile Guide for Developers
Автор: alexal