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

в 11:51, , рубрики: java, java ee, wildfly, Облачные вычисления, Программирование, метки: , ,

Недавно 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 в облаке 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 для управления. Это сделано для того, чтобы меньше времени администраторы тратили на настройки файрволла. CR1 по-прежнему использует 3 порта, но будет 2 к релизу.

Новые 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 CR в InfoboxCloud IaaS

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

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

Открываем панель управления Облачным конструктором по адресу: http://panel.infobox.ru. Переходим в раздел «Облачный конструктор».

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

С выходом финальной версии WildFly 8 скрипт автоустановки будет обновлен.
Команда для установки финальной версии Wildfly 8 (будет работать после релиза Wildfly 8):
wget repository.jelasticloud.com/scripts/wildfly8/linux64/wildfly-standalone && chmod +x wildfly-standalone && ./wildfly-standalone && rm -rf wildfly-standalone

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

image

По адресу http://<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. Продолжение следует.

Автор: attrukhinyuri

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js