Содержание


Вдохните новую жизнь в приложение Java EE с помощью служб IBM Bluemix

Comments

IBM® Bluemix™ – это реализация открытой облачной архитектуры IBM с использованием Cloud Foundry, которая позволяет разработчикам быстро создавать, развертывать и администрировать облачные приложения, опираясь на растущую экосистему доступных услуг и сред выполнения.

В этом руководстве показано, как перенести код из IBM DevOps Services в рабочее пространство Eclipse, построить и развернуть приложение в Bluemix и использовать СУБД и другие службы в облаке. Для демонстрации этого процесса мы будем работать с примером приложения CloudTrader.

Для демонстрации процесса переноса существующих приложений в Bluemix и их дополнения новыми службами было создано приложение CloudTrader путем внесения изменений в трейдерское приложение, которое эксплуатируется уже 10 лет.

CloudTrader – это приложение Java™ EE, имитирующее систему онлайн-торговли на фондовой бирже. Оно позволяет входить в систему, просматривать портфель, видеть котировки ценных бумаг и покупать или продавать их. Приложение построено преимущественно из Java-сервлетов, JSP и модулей JavaBean. Для демонстрации процесса переноса существующих приложений в Bluemix и их дополнения новыми службами было создано приложение CloudTrader путем внесения изменений в трейдерское приложение, которое эксплуатируется уже 10 лет.

Окно приложения CloudTrader
Окно приложения CloudTrader

Приложение CloudTrader может использовать следующие службы Bluemix:

  • SQLDB (обязательно): CloudTrader использует службу реляционной базы данных по требованию SQLDB, в основе которой лежит DB2. База данных создается и становится доступной для нужд CloudTrader за считанные секунды. Сведения о подключении источника данных появляются в виде записи в пространстве имен JNDI, готовой к поиску и использованию приложением;
  • Session Cache: при подключении к CloudTrader эта служба обеспечивает персистентность для всех сеансов множества экземпляров приложения. В случае сбоя сеансы легко восстанавливаются;
  • Auto-Scaling: позволяет автоматически наращивать или сокращать вычислительные ресурсы приложения. Количество экземпляров приложения настраивается динамически на основе определенной вами политики автоматического масштабирования;
Три службы Bluemix
Три службы Bluemix

Итак, приступим. Мы загрузим код из IBM DevOps Services, внесем в него некоторые изменения и развернем приложение в Bluemix. Еще мы создадим базу данных и аналитическую службу.

Связь между IBM DevOps Services, Eclipse и Bluemix
Связь между IBM DevOps Services, Eclipse и Bluemix

Что вам понадобится

Шаг 1. Получение кода из IBM DevOps Services

  1. Нажмите кнопку Получить код выше или зайдите на сайт IBM DevOps Services, найдите CloudTrader и выберите rvennam | CloudTrader.
  2. Скачайте файл CloudTraderEclipseProject.zip.
  3. Запустите Eclipse. File > Import > General > Existing Projects into Workspace > Select archive file > [то, что вы загрузили].
  4. Вы должны увидеть в представлении Project Explorer проект CloudTrader (с кодом).

Шаг 2. Создание сервера Bluemix

  1. В Eclipse щелкните правой кнопкой мыши на панели Servers и выберите New > Server. Если панель Servers в Eclipse не видна, убедитесь, что вы находитесь в перспективе Java EE, и найдите в нижнем разделе вкладку Servers.
  2. В окне Define a New Server разверните папку IBM, выберите IBM Bluemix и нажмите кнопку Next.
  3. Введите свои учетные данные Bluemix.
  4. Нажмите кнопку Validate Account, затем кнопку Finish.
  5. Теперь можно перетащить проект CloudTrader на только что созданный сервер Bluemix.
  6. Перед вами предстанет мастер. Выберите уникальное имя для своего приложения, так чтобы исключить конфликты имен в домене ng.bluemix.net.
  7. На следующей панели можно выбрать URL-адрес и объем памяти. Примите значения по умолчанию и нажмите кнопку Next.
  8. На панели выбора Services мы создадим службы, необходимые приложению. Пока создадим только службу базы данных. Нажмите на значок Add Service Значок Add Service в верхнем правом углу окна Add Service. В качестве имени укажите TradeDataSource. Bluemix создаст необходимую конфигурацию, так что CloudTrader сможет искать в этом источнике данных с таким JNDI-именем. В качестве типа выберите SQLDB.
  9. Нажмите кнопку Finish в обоих мастерах. В течение нескольких секунд ваше приложение будет развернуто!

Шаг 3. Добавление других служб

  1. Перейдите к пользовательскому интерфейсу ACE Bluemix на странице https://ace.ng.bluemix.net и войдите в систему. Щелкните на своем приложении. Вы должны увидеть дополнительную информацию о среде исполнения своего сервера приложений и созданной для него службе базы данных. Экран обзора CloudTrader
    Экран обзора CloudTrader
  2. Здесь можно изменять размер экземпляра приложения или увеличивать и уменьшать показания счетчика, нажимая кнопку Runtime.
  3. Войдите в приложение, возвратившись на вкладку Overview, и нажмите на ссылку рядом с именем приложения.
  4. На вкладке Configuration нажмите кнопку (Re)-populate Database, чтобы заполнить базу данных DB2 начальными пользователями и ценными бумагами. Экран конфигурации
    Экран конфигурации
  5. Нажмите на вкладку Trading & Portfolio и войдите. Поздравляем! Ваше приложение работает!
  6. Теперь давайте добавим службу Session Cache. Вернитесь в UI Ace Bluemix, нажмите на свое приложение и найдите кнопку Add New Service.
  7. Выберите Session Cache, затем Add to Application, затем Create.
  8. Теперь приложение необходимо перезапустить для автоматической настройки новой службы. Вернитесь в Eclipse и найдите свое приложение в представлении Servers. Щелкните правой кнопкой мыши на приложении и выберите Update and Restart.

    Вот и все! Для сохранения данных ваших сеансов больше ничего не требуется. Сборка Liberty определит, что вы подключены к службе Session Cache, и создаст необходимые записи server.xml. Служба Session Cache сохраняет сеансы в удаленном месте, чтобы в случае сбоя экземпляра сервера или его удаления при сокращении числа экземпляров данные не терялись. Сеанс будет подхвачен тем же сервером после его перезапуска или другим экземпляром сервера.

  9. Теперь, когда ваши сеансы сохраняются, вы можете наращивать и сокращать число экземпляров без потери ценных данных сеанса.

    Повторите шаги 6-8, чтобы добавить службы автоматического масштабирования и мониторинга/анализа.

    Окно автоматического масштабирования
    Окно автоматического масштабирования
  10. Службу автоматического масштабирования можно использовать для автоматического увеличения или уменьшения числа экземпляров приложения путем создания определенной политики. Например, можно защитить приложение от сбоя из-за нехватки памяти, создав правила наращивания числа экземпляров, когда расход памяти или кучи JVM достигает 80%.

    Я рекомендую внимательно прочесть документацию, что поможет вам установить хорошую политику, соответствующую потребностям своего приложения. Для углубления в его детали работы можно использовать службу мониторинга и анализа. Это мощные инструменты, которые помогают оптимизировать производительность приложения.

    Экран настройки политики автоматического масштабирования
    Экран настройки политики автоматического масштабирования

Заключение

В этой статье показано, как легко дополнить существующее приложение службами IBM Bluemix. Пример приложения CloudTrader, с которым мы работали, основан на трейдерском приложении, созданном 10 лет назад. Указанные здесь действия можно использовать для совершенствования любого существующего приложения. Успехов!


Ресурсы для скачивания


Комментарии

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Облачные вычисления
ArticleID=1009294
ArticleTitle=Вдохните новую жизнь в приложение Java EE с помощью служб IBM Bluemix
publish-date=06242015