Совместное использование продуктов WebSphere CloudBurst и Rational Automation Framework for WebSphere

Сделайте повторное создание сред промежуточного ПО более простым, более быстрым и более единообразным мероприятием

Построение, развертывание и конфигурирование, а впоследствии и повторное создание сред промежуточного ПО — это критически важные задачи ИТ-организаций, которые, однако, часто решаются недостаточно эффективно. Так, построение и развертывание может отнимать слишком много времени и требовать от исполнителей слишком большого опыта в области конфигурирования; а единообразное воссоздание среды для промежуточного ПО может оказаться почти невозможным. В предлагаемой статье демонстрируется совместное использование продуктов WebSphere® CloudBurst и Rational® Automation Framework for WebSphere для создания более надежной динамичной облачной инфраструктуры приложений WebSphere.

Дастин Амрейн, технический пропагандист, IBM

Author photoДастин Амрейн (Dustin Amrhein) начинал работу в корпорации IBM в группе разработчиков сервера приложений WebSphere. Находясь на этой должности, Дастин работал главным образом над инфраструктурой Web-сервисов и моделями программирования Web-сервисов. Кроме того, Дастин участвовал в разработке структуры сервисов RESTful для сред исполнения Java. В настоящее время Дастин занимает должность технического специалиста по клиенту WebSphere.



23.10.2012

Развить навыки по этой теме

Этот материал — часть knowledge path для развития ваших навыков. Смотри Облачные вычисления: введение в концепцию "Платформа как сервис"

Построение, развертывание и конфигурирование связующей инфраструктуры WebSphere® и функционирующих в этой инфраструктуре приложений — это важнейшие задачи для многих ИТ-подразделений корпоративного уровня. Традиционные подходы к выполнению этих задач могут сопровождаться различными проблемами, а также порождать неэффективности и потери. К числу этих проблем относятся:

  • Длительность выполнения настройки и конфигурирования среды.
  • Невозможность единообразного воссоздания среды в случае необходимости.
  • Слишком высокие квалификационные требования по инфраструктурным вопросам, предъявляемые к тестировщикам и разработчикам.

Интегрированное решение с использованием продуктов IBM WebSphere CloudBurst Appliance и Rational® Automation Framework for WebSphere предоставляет виртуализованный, автоматизированный, управляемый данными подход, устраняющий многие из этих неэффективностей.

WebSphere CloudBurst поддерживает простой способ моделирования среды приложений в форме т. н. "шаблонов" WebSphere CloudBurst. Эти шаблоны, которые можно строить с помощью графического интерфейса, основаны на виртуальных образах IBM® Hypervisor Edition. Эти образы воплощают в себе ("инкапсулируют") значительную часть инфраструктурной квалификации, необходимой для построения связующих сред WebSphere; они позволяют за несколько минут развернуть и инициализировать полную среду, готовую к корпоративному применению. И, что лучше всего, эти шаблоны хранятся на аппаратно-программном комплексе ("устройстве"), что упрощает согласованное воссоздание такой же среды в случае необходимости.

Продукт WebSphere CloudBurst удовлетворяет многим требованиям, соблюдение которых обеспечивает быстрое и единообразное развертывание инфраструктуры приложений WebSphere, а продукт Rational Automation Framework for WebSphere предоставляет подобные преимущества в области конфигурирования приложения и его зависимостей “поверх” этой инфраструктуры.

В комплект поставки продукта Rational Automation Framework for WebSphere входит более 500 готовых конфигурационных процедур WebSphere (т.н. "действий"). В это число входят такие процедуры, как конфигурирование JDBC-ресурсов, создание JMS-очередей, настройка контейнеров приложений, развертывание приложений и т. д.

Проект Rational Automation Framework for WebSphere может содержать любое число конфигурационных шагов. После построения своего проекта вы сможете автоматизировать вызов этого проекта для целевой ячейки WebSphere. Результат — конфигурирование и развертывание вашего приложения и его зависимостей осуществляется без использования каких-либо скриптов.

Несмотря на определенное перекрытие функций (продукт Rational Automation Framework for WebSphere может использоваться для установки продуктов WebSphere, хотя он и не поддерживает основанный на шаблонах подход и возможность быстрого развертывания, обеспечиваемые продуктом WebSphere CloudBurst), эффективная интеграция продуктов WebSphere CloudBurst и Rational Automation Framework for WebSphere наглядно демонстрирует наилучшие характеристики и возможности каждого из этих продуктов. Результат – быстрый, эффективный, автоматизированный и воспроизводимый процесс настройки среды приложений.

На рисунке 1 показаны зоны индивидуальной ответственности каждого из вышеперечисленных продуктов.

Рисунок 1. Схема ответственности продуктов WebSphere CloudBurst и Rational Automation Framework for WebSphere
Delineation of responsibility for WebSphere CloudBurst and Rational Automation Framework for WebSphere

Как и когда следует осуществлять интеграцию

Теперь, когда мы выяснили, почему используются продукты WebSphere CloudBurst и Rational Automation Framework for WebSphere, рассмотрим, как и когда осуществляется интеграция этих двух решений.

Интеграция между WebSphere CloudBurst и Rational Automation Framework for WebSphere осуществляется достаточно просто – по существу, вы создаете свой шаблон WebSphere CloudBurst, отражающий желаемую топологию WebSphere, и присоединяете к нему специальный пакет скриптов, поставляемый вместе с продуктом Rational Automation Framework for WebSphere.

Этот пакет скриптов представляет собой своего рода "склейку" между развертыванием WebSphere CloudBurst и инфраструктурой Rational Automation Framework for WebSphere. В процессе развертывания продукт WebSphere CloudBurst вызывает пакет интеграционных скриптов; этот вызов приводит к исполнению проекта Rational Automation Framework for WebSphere для ячейки WebSphere, созданной продуктом CloudBurst. На рис. 2 показано интеграционное взаимодействие между этими двумя продуктами.

Рисунок 2. Схема интеграции WebSphere CloudBurst и Rational Automation Framework for WebSphere
WebSphere CloudBurst and Rational Automation Framework for WebSphere integration diagram

В упомянутом пакете скриптов задаются такие параметры, как вызываемый проект Rational Automation Framework for WebSphere, а также среда Rational Automation Framework for WebSphere, используемая этим проектом. Это позволяет разработчику включить эти значения в шаблон или предоставить их непосредственно перед развертыванием (ниже я подробнее остановлюсь на параметрах скриптов и на задании их значений).

Важное замечание.

Интеграция WebSphere CloudBurst и Rational Automation Framework for WebSphere позволяет разработчику инкапсулировать в шаблон всю свою среду приложений без написания каких-либо собственных скриптов.

Вместо этого он может задействовать более 500 готовых конфигурационных процедур WebSphere, поставляемых вместе с продуктом Rational Automation Framework for WebSphere.

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

Создание шаблонов для существующих сред WebSphere

Предположим, что у вас имеется среда WebSphere, которую вы хотите "импортировать" в виде шаблона в свое "устройство" WebSphere CloudBurst Appliance. Это устройство не предоставляет возможностей, которые позволяли бы вам указать ему на существующую среду и представить эту среду в виде нового шаблона.

Однако вы можете указать на продукт Rational Automation Framework for WebSphere в имеющейся у вас ячейке WebSphere и использовать предлагаемый им инструмент генерации среды для создания новой среды Rational Automation Framework for WebSphere на основе существующей ячейки, что обеспечит эффективное сохранение вашей конфигурации WebSphere.

Затем вы сможете создать шаблон, использовать специальный пакет скриптов и указать ему на проект Rational Automation Framework for WebSphere, применяющий соответствующие конфигурационные данные в среде Rational Automation Framework for WebSphere, которую вы создали в процессе импорта. Это позволяет создать шаблон WebSphere CloudBurst, который будет точно соответствовать существующей ячейке WebSphere (рис. 3).

Рисунок 3. Шаблоны типа Point-and-click для существующей среды WebSphere
Point-and-click patterns for existing WebSphere environments

Конфигурирование, фиксация, повторное использование

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

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

Другой пример: При первой настройке некоторой среды приложений вы можете выбрать быстрое развертывание ячейки с помощью WebSphere CloudBurst с последующим конфигурированием приложения и его ресурсов в ручном режиме.

В любом случае вы можете зафиксировать обновленную конфигурацию, а затем повторно использовать ее по мере необходимости. Вы можете с помощью Rational Automation Framework for WebSphere зафиксировать эту конфигурацию, а затем интегрировать развертывание шаблона WebSphere CloudBurst с проектом Rational Automation Framework for WebSphere, который применяет эту конфигурацию. Этот сценарий подобен первому сценарию, за исключением того, что в данном случае целью не является унаследованная среда (рис. 4).

Рисунок 4. Конфигурирование, фиксация, повторное использование
Configure, capture, reuse

Миграция сред между виртуальными и физическими доменами

Возможно, цикл развития вашего приложения охватывает как виртуальные, так и физические домены. Например, вы развернули все среды (от среды тестирования до среды подготовки к практическому применению) с помощью продукта WebSphere CloudBurst, однако при переходе к практическому применению у вас возникла необходимость в развертывании точно такой же среды на "физических" аппаратных средствах.

Переход от виртуализованной среды WebSphere, использующей шаблоны WebSphere CloudBurst, к традиционной среде WebSphere, установленной непосредственно на аппаратных средствах, может оказаться сложным мероприятием. Шаблоны WebSphere CloudBurst невозможно развернуть непосредственно на физическом сервере. Это может затруднить гарантированную передачу на этап практического применения именно той среды, которая уже прошла тестирование и верификацию.

Однако если вы храните конфигурацию своей среды приложений WebSphere в виде среды Rational Automation Framework for WebSphere, то вы сможете применить эту конфигурацию как к виртуальным, так и к физическим ячейкам WebSphere с помощью одного и того же проекта Rational Automation Framework for WebSphere. Это обеспечивает уверенность в том, что вы передаете на практическое применение гарантированно "работающую" среду(рис. 5).

Рисунок 5. Виртуальные и физические домены
Spanning virtual and physical domains

Практическое выполнение

Теперь, когда вы понимаете, как интегрируются продукты WebSphere CloudBurst и Rational Automation Framework for WebSphere и когда следует использовать эту интеграцию, пришло время рассмотреть пример сценария.

Рассмотрим сценарий применения, соответствующий схеме конфигурирование, фиксация, повторное использование, которую я ввел в предыдущем разделе. В частности, мы вручную настроим среду J2EE-приложений Apache DayTrader, зафиксируем ее как проект и среду Rational Automation Framework for WebSphere, а затем повторно используем ее как шаблон WebSphere CloudBurst.

Результатом развертывания этого шаблона будет построение ячейки WebSphere Application Server и вызов проекта Rational Automation Framework for WebSphere с целью настройки среды приложения Apache DayTrader. Интеграция позволит нам полностью автоматизировать весь процесс — от развертывания и конфигурирования ячейки WebSphere Application Server до развертывания и конфигурирования среды приложения Apache DayTrader.

Для достижения поставленной цели необходимо выполнить следующие шаги:

  1. Создайте специальный шаблон WebSphere CloudBurst с пакетом интеграционных скриптов Rational Automation Framework for WebSphere.
  2. Разверните этот шаблон для создания ячейки WebSphere Application Server.
  3. Вручную установите, сконфигурируйте и верифицируйте приложение Apache DayTrader.
  4. С помощью Rational Automation Framework for WebSphere зафиксируйте конфигурацию ячейки WebSphere Application Server.
  5. Настройте Rational Automation Framework for WebSphere для применения зафиксированной конфигурации и развертывания приложения Apache DayTrader.
  6. Разверните шаблон WebSphere CloudBurst, который использует новые проект и среду Rational Automation Framework for WebSphere с целью автоматизации построения приложения Apache DayTrader.

И обратите внимание, что вы можете сделать все это без написания каких-либо специальных скриптов!

Создание нового шаблона

Первый шаг состоит в создании нового шаблона WebSphere CloudBurst, содержащего пакет интеграционных скриптов Rational Automation Framework for WebSphere. Однако перед этим вам необходимо загрузить этот пакет интеграционных скриптов Rational Automation Framework for WebSphere в каталог вашего продукта WebSphere CloudBurst Appliance.

Напоминаю, что вы можете получить этот пакет скриптов из своей установки Rational Automation Framework for WebSphere (каталог Rational Automation Framework for WebSphere_HOME/framework/wca). После того как вы будете располагать соответствующим архивным файлом (ZIP), перейдите в раздел Script Package каталога WebSphere CloudBurst и загрузите новый контент. После завершения процесса загрузки нажмите на кнопку Refresh в верхней части правой панели инструментов (пакет интеграционных скриптов показан на рис. 6).

Рисунок 6. Пакет интеграционных скриптов
The integration script package

В архив включен файл cbscript.json, поэтому после нажатия на кнопку Refresh вы должны увидеть данные, описывающие пакет скриптов. Эти данные говорят продукту WebSphere CloudBurst, какие компоненты он должен вызвать (в данном случае это скрипт оболочки, включенный в пакет скриптов), и описывают различные переменные среды. Вы можете задать значения этих переменных в шаблоне или предоставить их в процессе развертывания. Эти переменные содержат следующую важную информацию для интеграции:

  • RAFW_SERVER_HOST: Имя хоста для сервера Rational Automation Framework for WebSphere.
  • RAFW_SERVER_USER: Имя пользователя для входа на сервер Rational Automation Framework for WebSphere.
  • RAFW_SERVER_PASSWORD: Пароль для входа на сервер Rational Automation Framework for WebSphere.
  • RAFW_AUTOMATION_PLAN: Имя проекта Rational Automation Framework for WebSphere для вызова в процессе развертывания.
  • RAFW_ENVIRONMENT: Имя среды Rational Automation Framework for WebSphere, которую использует проект Rational Automation Framework for WebSphere. Эта среда содержит конфигурационные данные для ячейки WebSphere Application Server.
  • RAFW_HOME_PATH: Местоположение в файловой системе для распаковки двоичных файлов Rational Automation Framework for WebSphere на виртуальной машине. Это значения должно соответствовать значению LINUX_RAFW_HOME в файле RAFW_HOME/configure.properties на сервере Rational Automation Framework for WebSphere. Эти библиотеки включены в пакет скриптов в целях удобства.
  • RAFW_AUTOMATION_TIMEOUT: Максимальное количество времени в минутах, на протяжении которого WebSphere CloudBurst будет ждать завершения указанного проекта Rational Automation Framework for WebSphere. В случае истечении этого времени (таймаут) до завершения проекта Rational Automation Framework for WebSphere, проект Rational Automation Framework for WebSphere проект продолжит исполняться, однако продукт WebSphere CloudBurst сообщит о том, что виртуальная система находится в состоянии started ("запущена").

Как только пакет скриптов будет находиться в каталоге, вы сможете создать свой новый специальный шаблон. Перейдите к странице Patterns, а затем клонируйте существующий шаблон или создайте совершенно новый шаблон. В этом сценарии вы будете конфигурировать шаблон с использованием таких компонентов, как диспетчер развертывания (инструмент для управления развертыванием), custom node (специальный узел) и IBM HTTP Server (HTTP-сервер от IBM)(см. рис. 7).

Рисунок 7. Специальный шаблон DayTrader
Custom DayTrader pattern

Перед выходом из редактора шаблонов Pattern Editor нажмите на ссылку Advanced Options. Снимите флажок Enable messaging, однако оставьте флажок Define clusters. WebSphere CloudBurst обновляет этот шаблон с целью включения необходимой конфигурации для создания кластера WebSphere Application Server в ходе развертывания.

После того как вы нажмете на кнопку OK на панели Advanced Options, вы увидите значок Cluster configuration, добавленный в зону диспетчера развертывания. Нажмите на пиктограмму конфигурирования рядом с этим значком и введите конфигурационные данные для кластера (см. рис. 8).

Рисунок 8. Конфигурационные данные кластера
Cluster configuration data

На основе этих конфигурационных данных WebSphere CloudBurst автоматически создаст кластер WebSphere Application Server, содержащий по одному участнику в каждом специальном узле. Используйте TradeCluster в качестве префикса к имени кластера; WebSphere CloudBurst создаст и настроит кластер самостоятельно, без скриптов пользователя.

Начальное развертывание

Прежде чем вы попытаетесь интегрировать развертывания шаблона WebSphere CloudBurst и Rational Automation Framework for WebSphere, вам следует убедиться в том, что машина, осуществляющая хостинг вашего сервера Rational Automation Framework for WebSphere, способна успешно устанавливать сетевые соединения с виртуальными машинами, которые создает система WebSphere CloudBurst. Кроме того, убедитесь в том, что сервер Rational Automation Framework for WebSphere имеет необходимые ключи для установления SSH/SFTP-соединений с этими виртуальными машинами, или сконфигурируйте машину, осуществляющую хостинг сервера Rational Automation Framework for WebSphere, на автоматическое принятие новых ключей после инициирования таких соединений. Не забывайте, что разрешение автоматического принятия новых ключей – это потенциальная угроза безопасности.

После завершения создания этого шаблона можно переходить к начальному развертыванию. При конфигурировании раздела диспетчера развертывания в процессе развертывания вы предоставите интеграционную информацию для Rational Automation Framework for WebSphere.

На рис. 9 показано развертывание шаблона DayTrader

Рисунок 9. Развертывание шаблона DayTrader
Deploying the DayTrader pattern

Целью этого развертывания является сервер Rational Automation Framework for WebSphere по адресу eastgrand.austin.ibm.com, вход в который осуществляется с именем пользователя/паролем cloudburst/cloudburst. Поскольку мы собираемся вручную конфигурировать эту среду для первого развертывания, имя проекта Rational Automation Framework for WebSphere (RAFW_AUTOMATION_PLAN) не имеет значения. Среда исполнения Rational Automation Framework for WebSphere автоматически генерирует проект, который мы сможем использовать многократно. В данном случае среда Rational Automation Framework for WebSphere имеет имя DayTrader; а для тайм-аута мы применяем значение по умолчанию.

В качестве значения параметра RAFW_HOME_PATH мы используем каталог /opt/IBM/WebSphere/Profiles/RAFW. Мы используем это местоположение вместо маршрута по умолчанию, поскольку продукт Rational Automation Framework for WebSphere попытается на каждой виртуальной машине в нашей виртуальной системе создать каталоги и файлы для пользователя операционной системы с именем virtuser.

Необходимо гарантировать, чтобы местоположение, в котором Rational Automation Framework for WebSphere попытается создать файлы и каталоги, было доступно для пользователя virtuser. Кроме того, вы можете проделать все это с помощью специального образа, задав в нем соответствующие разрешения для файлов.

В любом случае вы также должны изменить значение параметра LINUX_RAFW_HOME в файле RAFW_HOME/configure.properties на сервере Rational Automation Framework for WebSphere в соответствии со значением RAFW_HOME_PATH, которое вы использовали в процессе развертывания.

После того как ваша новая виртуальная система будет запущена, вы сможете получить доступ к консоли администрирования WebSphere Application Server для настройки среды приложения Apache DayTrader.

Однако сначала рассмотрим артефакты Rational Automation Framework for WebSphere, созданные в процессе развертывания. Войдите в консоль Rational Automation Framework for WebSphere (в данном случае посредством открытия URL-адреса http://eastgrand.austin.ibm.com) и нажмите на ссылку Environments. Вы должны увидеть среду (environment) с именем RAFW_DayTrader_CloudBurstCell0. Нажав на ссылку, вы увидите артефакты, созданные для вас продуктом Rational Automation Framework for WebSphere (рис. 10).

Рисунок 10. Автоматически сгенерированная среда Rational Automation Framework for WebSphere
Automatically generated Rational Automation Framework for WebSphere environment

Пакет интеграционных скриптов создал эту новую среду с помощью данных, доступных пакетам скриптов в развертываниях WebSphere CloudBurst. Эта среда будет обновлена после того, как вы установите и сконфигурируете среду приложений DayTrader для включения в нее обновленной информации.

Помимо среды Rational Automation Framework for WebSphere, вы сможете увидеть вновь созданный проект Rational Automation Framework for WebSphere, если нажмете на ссылку Projects. Этот проект имеет такое же имя, как сгенерированная ранее среда Rational Automation Framework for WebSphere (рис. 11).

Рисунок 11. Автоматически сгенерированный проект Rational Automation Framework for WebSphere
Automatically generated Rational Automation Framework for WebSphere project

Первоначально проект содержит единственный шаг, который фактически осуществляет вызов библиотеки RAFW_WAS_70_ND_Configure. Эта библиотека поставляется вместе с продуктом Rational Automation Framework for WebSphere; вы сможете использовать ее для применения или импортирования конфигурации для всей ячейки WebSphere Application Server 7.0. Вы будете использовать этот проект для импортирования конфигурации ячейки после настройки среды DayTrader.

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

Настройка и верификация приложения DayTrader

Apache DayTrader — это приложение для тестирования производительности, моделирующее онлайновую систему продажи акций. Это приложение состоит из сервлетов, JSP-страниц, нескольких типов компонентов Enterprise JavaBean, серверного источника данных и т. д. На рис. 12 показана диаграмма с веб-сайта Apache DayTrader, описывающая компоновку среды этого приложения.

Рисунок 12. Структура приложения Apache DayTrader
Apache DayTrader architecture

Вместо того чтобы поочередно выполнять инсталляционные шаги для развертывания приложения DayTrader, посетите соответствующий веб-сайт, где можно найти исходные коды этого приложения, а также инструкции по его сборке и развертыванию (см. раздел Ресурсы).

К концу данной статьи вы отобразите эту среду и инфраструктуру, от которой она зависит, на шаблон WebSphere CloudBurst, интегрированный с проектом Rational Automation Framework for WebSphere. Шаблон WebSphere CloudBurst будет представлять ячейку WebSphere Application Server, которая отображается на фрагмент диаграммы под названием JavaEE Application Server (Сервер Java EE-приложений). Настройка базы данных не включена в текущий шаблон WebSphere CloudBurst, однако в версии WebSphere CloudBurst 2.0 вы сможете с легкостью включить в свой шаблон также и DB2-компонент для инкапсуляции сервера баз данных. Среда Rational Automation Framework for WebSphere будет содержать конфигурационные данные для приложения, а также для его ресурсов и для его зависимостей. Это гарантирует корректное развертывание приложения и его сервлетов, JSP-страниц и компонентов типа Enterprise JavaBean. Кроме того, среда Rational Automation Framework for WebSphere будет содержать данные, необходимые для корректного конфигурирования компонентов с целью интеграции между приложением DayTrader, его клиентами и серверными источниками данных.

Опираясь на шаблон, который вы построили и развернули при чтении этой статьи, настройте приложение Apache DayTrader для исполнения в рамках кластера WebSphere Application Server. Этот кластер будет содержать по одному участнику в каждом из специальных узлов нашего развертывания. На рис. 13 показан желаемый результат развертывания.

Рисунок 13. Приложение DayTrader в ячейке WebSphere Application Server
DayTrader in WebSphere Application Server cell

После того как вы установили приложение, сконфигурировали необходимые ресурсы и зависимости, а затем успешно запустили это приложение, вы сможете убедиться в его функционировании посредством перехода к URL-адресу http://<host>:9080/daytrader. После этого нажмите на вкладку Configuration— вы должны увидеть следующую страницу (рис. 14):

Рисунок 14. Страница конфигурирования приложения DayTrader
DayTrader configuration page

Чтобы начать верификацию, нажмите на ссылку (Re)-create DayTrader Database Tables and Indexes, выполните необходимые шаги на этой странице, а затем нажмите на ссылку (Re)-populate DayTrader Database. После создания и заполнения таблиц базы данных вы сможете протестировать приложение DayTrader, для чего нажмите на ссылку Test DayTrader Scenario и следуйте инструкциям на появившейся странице.

После того как вы убедитесь в том, что сконфигурировали среду корректно, вы сможете перейти к обновлению среды Rational Automation Framework for WebSphere посредством этой новой конфигурации.

Фиксация конфигурации DayTrader

Теперь, когда вы в ручном режиме выполнили процесс конфигурирования и верификации среды Apache DayTrader, маловероятно, что вы захотите проделывать все это снова (тем более для каждого нового развертывания). Лучше зафиксировать настройки, в работоспособности которых вы уверены, и использовать эту конфигурацию по мере необходимости. Именно это мы собираемся сделать; для начала мы зафиксируем существующую у вас конфигурацию с помощью Rational Automation Framework for WebSphere.

В процессе начального развертывания шаблона пакет интеграционных скриптов инициировал автоматическую генерацию проекта Rational Automation Framework for WebSphere (см. рис. 10). Вы сможете использовать этот проект для импортирования существующей конфигурации своей среды DayTrader посредством его исполнения в режиме Import.

С этой целью войдите в консоль Rational Automation Framework for WebSphere, нажмите на ссылку Projects, а затем нажмите на проект RAFW_DayTrader20_CloudBurstCell0. На странице сведений этого проекта нажмите на ссылку Start Project в верхней панели инструментов для создания нового задания (job). На странице Job Details (подробности задания) измените значение в поле Mode на Import (см. рис. 15).

Рисунок 15. Запуск проекта в режиме Import
Starting the project in import mode

Теперь просто нажмите на кнопку Execute; начнется исполнение задания Rational Automation Framework for WebSphere. Сначала библиотека RAFW_WAS70_ND_CONFIGURE будет исполняться с ячейкой WebSphere Application Server, в которой вы развернули приложение DayTrader.

Обратите внимание, что местоположение среды WebSphere Application Server и другие значимые элементы, такие как имена ячейки и узлов, уже присутствуют в среде проекта. Как и прежде, пакет интеграционных скриптов делает это автоматически, когда создает среду DayTrader в процессе начального развертывания.

Нажмите на Execute, после чего продукт Rational Automation Framework for WebSphere перенаправит вас к странице с детальными сведениями по заданию, которое вы запустили. Вы можете контролировать выполнение задачи импорта. После ее выполнения вы должны увидеть показанную ниже информацию (см. рис. 16).

Рисунок 16. Выполненное задание Import
The completed import job

Фиксация приложения DayTrader

Теперь среда DayTrader содержит информацию о последней конфигурации вашей среды приложения Apache DayTrader, включая конфигурацию JDBC-ресурсов, JMS-очередей, механизмов обмена сообщениями и т. д. Тем не менее, вам по-прежнему необходимо импортировать реальное приложение и сохранить его в среде DayTrader.

С этой целью создайте простой проект Rational Automation Framework for WebSphere, импортирующий двоичные файлы приложения и создающий файл свойств, который продукт Rational Automation Framework for WebSphere позднее будет использовать для установки вышеупомянутого приложения.

Нажмите на ссылку Projects в левой панели инструментов и после перехода на страницу проектов нажмите на ссылку Add Project в ее верхней части. В нижней части экрана появится раздел с подробностями нового проекта. Введите Import DayTrader Application в качестве имени нового проекта и выберите RAFW_DayTrader_CloudBurstCell0 в качестве среды для нового проекта. Кроме того, необходимо удостовериться в том, что информация в поле Selector соответствует вашей конфигурации Rational Automation Framework for WebSphere. После этого нажмите на кнопку Save(рис. 17).

Рисунок 17. Добавление нового проекта для импорта приложения
Adding the new application import project

Этот новый проект состоит из следующих трех шагов.

  1. Создание файла свойств, который будет использоваться для развертывания приложения DayTrader.
  2. Обновление файла свойств посредством пары "ключ-значение" с именем приложения.
  3. Импортирование бинарных файлов приложения из существующей ячейки WebSphere Application Server.

Для создания нового шага нажмите на проект Import DayTrader Application, а затем нажмите на кнопку Add Step на верхней панели инструментов. После появления панели с подробностями шага в нижней части экрана введите Create properties file в качестве имени первого шага. На рис. 18 показан полный текст команды для этого шага.

Рисунок 18. Создание файла свойств DayTrader
Creating the DayTrader properties file

На втором шаге файл свойств, созданный на первом шаге, обновляется с помощью пары ключ-значение с именем приложения. Это необходимо для успешного развертывания приложения Apache DayTrader. Нажмите на кнопку Add Step и создайте новый шаг под названием Add application name. На рис. 19 показана команда для этого нового шага.

Рисунок 19. Добавление имени приложения
Adding the application name

На третьем шаге осуществляется фактическое импортирование бинарных файлов приложения DayTrader и их локальное сохранение на сервере Rational Automation Framework for WebSphere. Снова нажмите на кнопку Add Step и создайте новый шаг под названием Get application binaries. На рис. 20 показана команда для этого нового шага.

Рисунок 20. Извлечение бинарных файлов приложения DayTrader
Retrieving the DayTrader application binaries

Перед исполнением проекта необходимо гарантировать наличие надлежащих папок на сервере Rational Automation Framework for WebSphere. Убедитесь в том, что на машине, осуществляющей хостинг используемого вами экземпляра сервера Rational Automation Framework for WebSphere, существует папка со следующим именем: <RAFW_HOME>/users/environments/DayTrader/cells/<CELL_NAME>/clusters/<CLUSTER_NAME>/apps/properties. После подтверждения наличия (или после создания) этой папки на экземпляре сервера Rational Automation Framework for WebSphere нажмите сначала на Start Project, а затем на Execute, чтобы запустить задание. Rational Automation Framework for WebSphere направит вас к странице подробностей, на которой вы сможете контролировать статус каждого шага в проекте.

После завершения этого проекта вы сможете убедиться в получении ожидаемых результатов по наличию следующих двух файлов:

  • <RAFW_HOME>/users/environments/DayTrader/cells/<CELL_NAME>/clusters/<CLUSTER_NAME>/apps/properties/DayTrader2-EE5.properties
  • <RAFW_HOME>/users/environments/DayTrader/cells/<CELL_NAME>/apps/media/DayTrader2-EE5.ear

Имейте в виду, что имена этих файлов могут измениться в соответствии с именем приложения, которое вы ранее использовали в процессе ручной установки.

Обновление проекта Rational Automation Framework for WebSphere

Вы вполне можете использовать существующую среду DayTrader Rational Automation Framework for WebSphere и существующий проект RAFW_DayTrader_CloudBurstCell0 для повторного применения конфигурации приложения Apache DayTrader при последующих развертываниях шаблона WebSphere CloudBurst. Однако сначала следует внести два изменения в существующий проект.

Добавьте шаг для развертывания приложения, которое вы импортировали. Для этого нажмите на ссылку Projects в левой панели инструментов на консоли Rational Automation Framework for WebSphere, а затем нажмите на проект RAFW_DayTrader_CloudBurstCell0. Затем на странице с подробностями проекта нажмите на Add Step и введите Deploy DayTrader в качестве имени для нового шага. На рис. 21 показана команда для развертывания приложения.

Рисунок 21. Развертывание приложения DayTrader
Deploying the DayTrader application

Теперь вы собираетесь заменить в проекте вызов составной библиотеки RAFW_WAS70_ND_CONFIGURE на вызовы отдельных библиотек. Несомненно, вы можете оставить единственный шаг для вызова составной библиотеки RAFW_WAS70_ND_CONFIGUE, однако замена этого шага несколькими шагами позволяет выполнять только необходимые конфигурационные действия для среды приложения Apache DayTrader. Вы по-прежнему будете пользоваться библиотеками конфигураций из комплекта поставки, поэтому вам не придется предоставлять никаких собственных скриптов.

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

В частности, при настройке среды вашего приложения Apache DayTrader вы будете использовать следующие заранее сформированные библиотеки Rational Automation Framework for WebSphere:

  • RAFW_was_common_configure_environments
  • RAFW_was_common_configure_resources
  • RAFW_was_common_configure_security
  • RAFW_was_common_configure_servers
  • RAFW_was_common_configure_service_integration
  • RAFW_was_common_configure_users_and_groups

Для использования этих шести библиотек вы создадите шесть новых шагов. Каждый из этих шагов будет иметь свойство Inline, значение которого указывает на одну из вышеперечисленных библиотек. На рис. 22 показано декларирование шага для пользования библиотекой RAFW_was_common_configure_environments.

Рисунок 22. Пользование библиотекой RAFW_was_common_configure_environments
Using the RAFW_was_common_configure_environments library

Свойству Inline присваивается значение RAFW_was_common_configure_environments, что гарантирует вызов вышеуказанной библиотеки на данном шаге. Обратите внимание на оператор echo в поле Command. Rational Automation Framework for WebSphere требует, чтобы вы предоставляли допустимую команду для каждого шага. При выполнении этого шага в проекте продукт Rational Automation Framework for WebSphere сначала вызовет команду, а затем вызовет библиотеку, заданную значением свойства Inline.

Имеется еще один шаг, который нужно добавить к вашему проекту. Заключительный шаг в проекте запустит все процессы в ячейке, в том числе диспетчер развертывания, агенты узлов и кластер сервера приложений. Для этого достаточно добавить новый шаг с именем RAFW_start_cell. В свойстве Inline этого нового шага выберите библиотеку RAFW_start_cell и введите надлежащую команду (echo 'calling RAFW_start_cell' согласно нашей модели). Этого достаточно, чтобы продукт Rational Automation Framework for WebSphere запустил процессы ячейки.

После того как вы завершите создание вышеуказанных шагов, необходимо довести ваш проект до состояния, показанного на рис. 23.

Рисунок 23. Обновленный проект Rational Automation Framework for WebSphere
The updated Rational Automation Framework for WebSphere project

В проекте, который мы только что закончили, начальный шаг, вызывающий библиотеку RAFW_WAS_70_ND_Configure, попросту деактивирован. Если впоследствии вы решите вернуться к применению всей конфигурации, без тонкой настройки с использованием нескольких шагов, вы сможете снова активировать этот шаг и деактивировать или удалить шаги 2-6.

При желании вы сможете дополнительно настроить свой проект посредством точного выбора конфигурационных действий, выполняемых для каждой используемой библиотеки. Для этого нажмите на ссылку Libraries в левой панели инструментов на консоли Rational Automation Framework for WebSphere и выберите нужную библиотеку. Вы увидите список различных конфигурационных действий для различных аспектов и сможете выборочно активировать или деактивировать каждое из этих действий. В данном случае мы сохраним поведение по умолчанию и оставим все действия в активированном состоянии.

К этому моменту вы закончили необходимую настройку среды и проекта Rational Automation Framework for WebSphere.

Начало нового развертывания

Теперь вы готовы к развертыванию шаблона WebSphere CloudBurst, который вы создали ранее. Различие состоит в том, что в данном случае существуют как проект Rational Automation Framework for WebSphere, так и среда Rational Automation Framework for WebSphere, которые отражают сведения и конфигурационные действия, необходимые для полной автоматизации построения среды приложений Apache DayTrader.

На этот раз при развертывании шаблона WebSphere CloudBurst вам необходимо получить функционирующую ячейку WebSphere Application Server, в которой приложение DayTrader установлено, запущено, полностью сконфигурировано и готово к использованию.

Для запуска развертывания снова войдите в консоль WebSphere CloudBurst и перейдите к странице Patterns. Выберите созданный вами ранее шаблон с пакетом интеграционных скриптов Rational Automation Framework for WebSphere, а затем нажмите на пиктограмму развертывания в правой верхней панели инструментов. Точно так же, как в прошлый раз, вы последовательно выполните процесс конфигурирования каждой части шаблона для развертывания. На рис. 24 показаны конфигурационные данные для пакета интеграционных скриптов.

Рисунок 24. Конфигурационные данные пакета скриптов
Script package configuration data

Обратите внимание, что единственное различие между первым развертыванием и данным развертыванием состоит в изменении параметра RAFW_AUTOMATION_PLAN (имя проекта). Этот проект не существовал перед первым развертыванием, однако пакет скриптов автоматически создал его в ходе первого развертывания. За прошедшее с тех пор время вы обновили проект (и среду) Rational Automation Framework for WebSphere и теперь хотите гарантировать, чтобы результатом данного развертывания был вызов обновленного проекта. Описываемый набор конфигурационных данных делает именно это.

Следует отметить, что в этой точке вы могли бы включить в шаблон информацию для пакета интеграционных скриптов. Это предотвращает ошибки ввода данных в ходе развертывания и фактически привязывает конкретный шаблон к указанному проекту и к указанной среде Rational Automation Framework for WebSphere. Однако если вы включите эти значения в шаблон, а затем заблокируете сам шаблон от изменений, вы не можете поменять ссылку на проект и среду Rational Automation Framework for WebSphere до тех пор, пока вы не клонируете этот шаблон.

После того как вы сконфигурируете каждую часть, просто нажмите OK, чтобы начать процесс развертывания. Когда развертывание будет выполнено, интерфейс WebSphere CloudBurst должен показать, что виртуальная система запущена и готова к использованию (см. рис. 25).

Рисунок 25. Запущенная виртуальная система DayTrader
The started DayTrader virtual system

После входа в консоль Rational Automation Framework for WebSphere вы должны увидеть, что два задания были успешно выполнены (рис. 26).

Рисунок 26. Успешно выполненные задания Rational Automation Framework for WebSphere
Successfully completed Rational Automation Framework for WebSphere jobs

Первое задание, в данном случае WCA_ENV_UPDATE_52, добавило в среду Rational Automation Framework for WebSphere DayTrader информацию о новой ячейке WebSphere Application Server. Такой подход гарантирует, что среда Rational Automation Framework for WebSphere содержит корректные, обновленные данные для информации, меняющейся от развертывания к развертыванию (имена хостов, имена ячеек и имена узлов). Проект WCA_ENV_UPDATE, использованный для создания этого задания, поставляется с продуктом Rational Automation Framework for WebSphere; пакет интеграционных скриптов Rational Automation Framework for WebSphere в шаблоне WebSphere CloudBurst автоматически вызывает этот проект в ходе развертывания.

Теперь вы можете войти в административную консоль WebSphere Application Server. В списке Enterprise Applications вы должны увидеть запущенное приложение DayTrader2-EE5.

Рисунок 27. Запущенное приложение DayTrader
The started DayTrader application

Как и прежде, вы должны быть в состоянии получить доступ к странице конфигурации DayTrader, настроить и заполнить базы данных, а затем убедиться в функционировании приложения.


Заключение

Итак, вы выполнили настройку продуктов WebSphere CloudBurst и Rational Automation Framework for WebSphere для среды приложения Apache DayTrader.

  • Сначала вы развернули шаблон WebSphere CloudBurst со специальным пакетом интеграционных скриптов Rational Automation Framework for WebSphere.
  • После того как ячейка WebSphere Application Server была создана, вы в ручном режиме установили, сконфигурировали и проверили приложение Apache DayTrader, а также его зависимости.
  • Затем вы импортировали полученную конфигурацию и обновили автоматически сгенерированную среду Rational Automation Framework for WebSphere.
  • Вы модифицировали проект Rational Automation Framework for WebSphere с целью применения лишь необходимых конфигурационных действий, развернули среду DayTrader и запустили все процессы ячейки.
  • Наконец, вы развернули шаблон WebSphere CloudBurst с пакетом интеграционных скриптов, указали ему на сконфигурированные ранее среду и проект Rational Automation Framework for WebSphere, а затем наблюдали автоматическое построение ячейки и среды для приложений Apache DayTrader.

Теперь у вас есть шаблон WebSphere CloudBurst и проект Rational Automation Framework for WebSphere, которые в случае необходимости можно использовать для надежного и быстрого воссоздания всей среды Apache DayTrader.

Настройка нетривиальной среды J2EE-приложений может оказаться длительным, сложным и практически невоспроизводимым мероприятием, однако если вы воспользуетесь продуктом WebSphere CloudBurst для настройки ячеек WebSphere Application Server, то сможете сделать это с беспрецедентной скоростью и использовать готовые конфигурационные действия WebSphere из инфраструктуры Rational Automation Framework for WebSphere с целью конфигурирования сложных сред приложений в рамках этих ячеек.

При этом особенно важно, что шаблоны WebSphere CloudBurst и проекты Rational Automation Framework for WebSphere систематизируют весь процесс настройки ячейки WebSphere Application Server и конфигурирование среды приложения в этой ячейке. Другими словами, вы можете быть уверены в возможности повторной настройки идентичной среды приложений — когда бы ни возникла такая необходимость.

Таким образом, совместное использование продуктов WebSphere CloudBurst и Rational Automation Framework for WebSphere позволяет сделать настройку среды J2EE-приложения более простой, более быстрой и более согласованной, чем когда-либо прежде.

Благодарности

Выражаю благодарность за содействие в написании данной статьи Рут Вилленборг, Дэвиду Браунейсу и Ли Уильямсону.

Ресурсы

Научиться

  • Оригинал статьи: WebSphere CloudBurst plus Rational Automation Framework for WebSphere углубит ваши знания в области CloudBurst — в нем демонстрируется использование шаблонов для поддержания адекватного состояния среды приложения на всем протяжении его жизненного цикла.
  • Учебное пособие Дастина Амрейна (Dustin Amrhein) под названием Application environment migration with WebSphere CloudBurst углубит ваши знания в области CloudBurst — в нем демонстрируется использование шаблонов для поддержания адекватного состояния среды приложения на всем протяжении его жизненного цикла.
  • Инфраструктура Rational Automation Framework for WebSphere помогает автоматизировать сложные задачи администрирования WAS и Portal.
  • Блог Smart Business Development and Test on the IBM Cloud Blog предоставляет новейшую информацию от специалистов по разработке облачных технологий.
  • Регулярно обновляемый вики-ресурс с инструкциями содержит типовые сценарии применения для разработчиков облачных технологий.
  • Канал IBMdevcloud на ресурсеYouTube предлагает все разновидности практических демонстраций, в том числе по использованию различных продуктов IBM в среде Test Cloud, а также по созданию экземпляров и по доступу к ним.
  • Портал IBM— это высокоуровневый информационный ресурс по облачным решениям от IBM.

Получить продукты и технологии

  • Познакомьтесь поближе с тестовым приложением Apache DayTrader.
  • Дополнительная информация по WebSphere CloudBurst Appliance: Распространение разумных SOA-приложений/сервисов в облачную среду.
  • Веб-сайт IBM Smart Business Development and Test on the IBM Cloud site поможет вам приступить к разработке собственных приложений для облачной среды.

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Облачные вычисления, WebSphere, Rational, Технология Java
ArticleID=842393
ArticleTitle=Совместное использование продуктов WebSphere CloudBurst и Rational Automation Framework for WebSphere
publish-date=10232012