Pull to refresh
0

Новый лидер Java EE? Знакомимся с сервером приложений Wildfly 8 Final в InfoboxCloud IaaS. Часть 1. Быстрый старт

Reading time 5 min
Views 57K
Недавно Oracle заявила о прекращении выпускa коммерческих версий Glassfish. С OpenSource версией все будет неплохо и она останется рефренсной имплементацией Java EE. Однако вызывает опасения тот факт, что качество самого сервера приложений начнет падать без коммерческой версии той же базы кода и соответственно enterprise качество для новых версий Glassfish будет недостижимо. Особенно это касается кейсов, о которых не думают разработчики, но в которых проблемы проявляются в продакшне. Kоммерческий продукт Oracle WebLogic к Glassfish отношения не имеет.

У многих разработчиков необходимость найти сервер приложений Java EE7, который с одной стороны будет иметь OpenSource версию, а с другой — возможность купить коммерческую версию на той же кодовой базе.

image

Таким сервером стал WildFly 8, полностью совместимый со стандартом Java EE 7 (прохождение Java EE TCK на 100%). Red Hat при необходимости продаст JBoss с коммерческой поддержкой. Кодовая база у обоих серверов одна. К тому же Arun Gupta, возможно главный евангелист платформы Java EE, перешел из Oracle в RedHat и крайне советует пользователям переходить на Wildfly. Нет повода ему не верить.

В этой статье мы рассмотрим сервер приложений WildFly 8 в облаке InfoboxCloud.

image



Общая информация


Wildfly – не новый продукт. Это ребрендинг и развитие JBoss AS7/EAP6 в области как администрирования, так и API для разработчика. Wildfly 8 построен с использованием Java SE 7 и требует Java SE7 (или выше) для работы. Этот релиз на 100% проходит Java EE 7 TCK. Минимальный размер дистрибутива — 14 мегабайт, что идеально для построения фреймворков с использованием Wildfly. И конечно доступны средства интеграции с основными Java IDE.

Изменения в администрировании

  • Возможность ассоциировать административных пользователей с ролями и делегировать только необходимые права управления.
  • Использование встраиваемого высокопроизводительного масштабируемого веб-сервера Undertow.io, предоставляющего блокирующие и неблокирующие API, основанные на NIO. Этот веб-сервер может представлять большую гибкость благодаря архитектуре, основанной на композиции. С ней вы можете построить веб-сервер комбинируя небольшие обработчики событий.
  • Wildfly 8 поддерживает богатый набор команд управления, которые были добавлены в Command Line Interface, такие как возможность патчить модульную основу сервера.
  • Все протоколы в Wildfly мультиплексированы на 2 порта: 8080 для приложений и 9990 для управления. Это сделано для того, чтобы меньше времени администраторы тратили на настройки файрволла.

Новые API Java EE 7

Очень важным улучшением стала поддержка Java Enterprise API 7 (100% TCK, полная поддержка стандарта).
Некоторые важные улучшения, включенные в Wildfly:
  • Поддержка WebSocket 1.0. До HTML5 традиционная модель «запрос-ответ» использовалась в HTTP. Необходимо было постоянно опрашивать сервер на предмет изменений. Протокол WebSocket представляет полнодуплексный канал между клиентом и сервером без проблем с задержками соединения. Используя эту технологию вместе с другими клиентскими технологиями, такими как JavaScript и HTML5, мы можем создавать мощные и красивые приложения в браузере.
  • Java API for JSON Processing 1.0 (JSON-P). Этот набор API улучшает возможности приложений, использующих JSON определяя новые API для парсинга, генерации, трансформации и запросов JSON документов. Поэтому вы сможете строить обьектную модель JSON (подобно DOM для XML) и использовать ее в потоковом режиме (как в XML с StAX).
  • Batch Application API 1.0. Это API было спроектировано для стандартизации пакетной обработки для Java приложений. Вы можете подумать об этой технологии для использования вместо старых долгоработающих процедур для большого обьема данных, управляемых shell скриптами или устаревшими языками (COBOL).
  • Concurrency Utilites for Java EE 1.0. Это расширение Java SE Concurrency Utility (JSR-166), которое предоставляет простой и стандартный API для использования многопоточности из JavaEE компонентов сохраняя целостность контейнера.
  • есть и множество других интересных нововведений типа JAX-RS 2.0, JMS 2.0 и др, о чем просто можно почитать в официальном руководстве.


Установка Wildfly 8 Final в InfoboxCloud IaaS


Все примеры в статье создавались для облачных серверов Облачного конструктора InfoboxCloud.

Создание сервера в InfoboxCloud

Для работы Вам необходимо иметь аккаунт в сервисе InfoboxCloud Облачный конструктор (Пробная версия). Открываем панель управления Облачным конструктором. Переходим в раздел «Облачный конструктор».

image

В данном разделе вы видите список ваших серверов. Создадим новый.

image

Выберем необходимые настройки сервера. В InfoboxCloud можно менять CPU, RAM, диск и др. независимо друг от друга, создавая сервер, подходящий именно Вам.

image

Выберем ОС для сервера (в процессе установки Wildfly она будет обновлена, к тому же скоро появятся самые последние версии шаблонов ОС).

image

Сервер готов к созданию. Создаем.

image

Данные для доступа к серверу придут к вам на email. При необходимости пароль можно поменять в настройках сервера в панели управления Облачным конструктором.

Подключаемся к серверу по ssh.

image

Для установки Wildfly 8 Final в InfoboxCloud достаточно выполнить команду (для CentOS, Ubuntu или Fedora):
wget repository.jelasticloud.com/scripts/wildfly8/linux64/wildfly-standalone && chmod +x wildfly-standalone && ./wildfly-standalone && rm -rf wildfly-standalone

image

Установка займет некоторое время. ОС будет обновлена, установлена последняя версия JDK, установлен WildFly, создан пользователь WildFly для сервера приложений и зарегистрирован сервис для автозапуска ОС.
Это не стандартная команда. Фактически на сервер скачивается наш скрипт и все делает автоматически. При желании можно посмотреть скрипт и разобраться в процессе ручной установки WildFly, однако для быстрого старта ручная установка занимает слишком много времени пользователя.

image



Проверить корректность установки можно, зайдя на <ip–адрес сервера>:8080

image

По адресу <ip–адрес сервера>:9990 находится консоль управления WildFly.

image

Для использования консоли управления необходимо создать пользователя управления. В целях безопасности пароль по-умолчанию не установлен.

Добавление пользователей в WildFly

Для того, чтобы добавить пользователя в WildFly, необходимо запустить add-user.sh из каталога bin. Можно создавать пользователей приложений (application) и пользователей для управления WildFly (management).
Можно создавать пользователей и в неинтерактивном режиме:
add-user.sh -m -u {username} -p {password}

После добавления пользователя управления можно войти в консоль управления.
image

CLI


WildFly включает в себя Command Line Interface (CLI). Запустить его можно из директории bin командой:
./jboss-cli.sh

Далее можно соединяться к локальному или удаленному экземпляру WildFly. Для соединения с локальным вводим команду connect. Можно например перезагрузить сервер WildFly командой restart. В неинтерактивном режиме это будет выглядеть так:
./jboss–cli.sh -c --command=restart.
Для соединения с удаленным экземпляром WildFly после connect нужно написать IP-адрес сервера, которым мы хотим управлять.

Успешного использования WildFly в облаке InfoboxCloud. В следующих частях мы поговорим о более сложных сценариях развертывания Wildfly и разработке Java EE 7 приложений.

Автор: Юрий Трухин
Tags:
Hubs:
+12
Comments 8
Comments Comments 8

Articles

Information

Website
infobox.ru
Registered
Founded
Employees
51–100 employees
Location
Россия