Отчет о проделанной работе: создание настраиваемой демонстрационной среды приложения

Проектирование универсального модуля WebSphere CloudBurst Appliance с использованием шаблонов

Специалист по новым технологиям IBM® WebSphere® Дастин Амрхайн использует WebSphere CloudBurst Appliance для демонстрации усилий, вложенных в создание шаблона среды приложения предприятия, в которой можно размещать различные клиентские сеансы и которую можно перенастраивать для поддержки разнообразных экземпляров этих сеансов.

Дастин Амрхайн, технический специалист, IBM

Фото автораДастин Амрхайн (Dustin Amrhein) пришел в IBM в качестве члена группы разработки WebSphere Application Server. Работал главным образом над инфраструктурой и моделями программирования Web-сервисов. А также над структурой сервисов RESTful для среды времени выполнения Java. В настоящее время специализируется на клиентских системах WebSphere.



13.10.2010

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

Справочная информация

Дастин раскрывает сердце и душу в своем блоге на developerWorks (хотя кое-что о нем можно узнать и из профиля в MydW).

Нужно поднять себе настроение!

Именно. Повесьте трубку, закройте браузер с Web-совещанием и нажмите кнопку delete почтового ящика со срочным сообщением! И займитесь кодированием, написанием сценариев, настройкой или интеграцией! Другими словами, засучите рукава и окунитесь в работу.

Задача, ожидающая решения

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

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

Не так давно мне требовалась именно такая передышка от мирской суеты, и, к счастью, я получил шанс создать симпатичный проект с использованием WebSphere CloudBurst Appliance.

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

Наша группа, готовая помочь, сразу же задала очевидный вопрос: "Что должно присутствовать в этой корпоративной среде приложения?" Конечно, прежде всего это приложение, а именно, Java™-приложение Web-сервиса.

Когда они описали это приложение и предоставляемые пользователям возможности, стало ясно, что требуется:

  • возможность чтения и записи данных из базы данных на сервере;
  • тесная связь приложения с HTTP-сеансами. Это значит, что необходимо обеспечить высокую доступность этих сеансов;
  • интерфейсы SOAP и JSON для приложения;
  • работа при непостоянной нагрузке ― с пиками и провалами.

Определение инфраструктуры

Мы сделали две вещи. Мы приступили к разработке приложения и выбрали инфраструктуру, которая потребуется для его поддержки. Хотя разработка приложения сама по себе интересна и связана с такими темами, как JPA, JSON, jQuery и, конечно, Web-сервисы, я хочу остановиться на вспомогательной инфраструктуре для этого приложения.

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

  • WebSphere Application Server: WebSphere Application Server обеспечил контейнер времени выполнения для размещения нашего Web-сервиса JEE и других связанных с ним компонентов приложения (таких как HTML-файлы);
  • DB2 Enterprise Edition: в качестве центрального хранилища данных нашего приложения Web-сервиса мы использовали DB2;
  • WebSphere Virtual Enterprise: хотя в WebSphere Virtual Enterprise есть множество различных функций, которые можно было бы использовать, мы выбрали динамические кластеры и политики уровня сервиса приложения. Мы развернули свое приложение Web-сервиса в динамическом кластере, а это - в сочетании с политиками уровня сервиса ― позволило нам работать с переменной нагрузкой;
  • WebSphere DataPower XC10: в качестве хранилища HTTP-сеансов мы применили специализированное устройство WebSphere DataPower XC10. Используя группу таких устройств, мы могли гарантировать наличие свободных HTTP-сеансов. Кроме того, поскольку мы храним HTTP-сеансы в устройстве, мы высвободили память, которую они в противном случае заняли бы в JVM приложения;
  • WebSphere DataPower XI50: как и все прочие упомянутые здесь компоненты, специальное устройство WebSphere DataPower XI50 предоставляет целый ряд возможностей. Мы использовали прокси Web-сервиса и функции преобразования, позволяющие включить в наше приложение Web-сервиса интерфейс JSON.

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


Выбор инструмента и подхода

Принимая все это во внимание, мы пришли к решению, которое удовлетворяет всем требованиям: WebSphere CloudBurst.

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

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

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


Результат

Так что же представляет собой этот шаблон? Как показано на рисунке 1, он состоит из компонентов WebSphere Application Server, WebSphere WebSphere Enterprise и DB2 Enterprise Edition.

Рисунок 1. Шаблон WebSphere CloudBurst
Шаблон WebSphere CloudBurst

Компоненты

Вот что делает каждый из компонентов.

  • WebSphere Application Server: шаблон содержит менеджер развертывания и два специальных узла. В специальных узлах размещены экземпляры WebSphere Application Server, и во время развертывания WebSphere CloudBurst автоматически объединяет их в ячейку, управляемую узлом диспетчера развертывания.
  • WebSphere Virtual Enterprise: в шаблон входит экземпляр On-Demand Router (ODR). ODR обеспечивает управление рабочими процессами на основе приоритетов, позволяя исполнять политики уровня сервиса для приложений.
  • DB2 Enterprise Edition: в шаблон входит часть DB2 Enterprise Edition, которая представляет собой экземпляр сервера базы данных.

Важно отметить, что мы создали специальный образ с помощью механизма расширения и захвата WebSphere CloudBurst. Этот образ содержит все составляющие WebSphere Application Server Hypervisor Edition (с опцией Intelligent Management Pack), поставляемого с устройством, и еще мы установили двоичные файлы клиента WebSphere eXtreme Scale. Мы используем их при настройке развернутой среды.

Сценарии

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

  • Add IBM HTTP Server node: этот пакет сценариев (он есть в WebSphere CloudBurst) создает экземпляр IBM HTTP Server, работающий на той же виртуальной машине, что и узел диспетчера развертывания.
  • Profile augmentation-WXS: использует двоичные файлы WebSphere eXtreme Scale, содержащиеся в виртуальных машинах WebSphere Application Server (через наш специальный образ) для добавления профилей WebSphere eXtreme Scale. Они нужны, чтобы наше приложение можно было настроить на использование WebSphere DataPower XC10 в качестве хранилище HTTP-сеансов.
  • Create DB2 data source: настраивает источник данных WebSphere Application Server. Приложение Web-сервиса использует его для чтения и записи данных в экземпляр сервера базы данных DB2.
  • Create proxy: создает обратный прокси-сервер HTTP из нашего экземпляра IBM HTTP Server для устройства WebSphere DataPower XI50. Это позволяет преодолеть ограничения для междоменных сценариев и отправлять запросы AJAX из нашего приложения, работающего в домене WebSphere Application Server, в устройство WebSphere DataPower XI50 в другом домене.
  • Configure DataPower rewrite policy: обновляет определенный прокси Web-сервиса WebSphere DataPower XI50, чтобы тот указывал на местоположение нашего свежеразвернутого приложения Web-сервиса.
  • Install DB2 client JARs: устанавливает JAR клиента DB2 в нужных узлах WebSphere Application Server.
  • Dynamic cluster configuration: создает в процессе развертывания динамический кластер WebSphere Virtual Enterprise. WebSphere CloudBurst предоставляет этот пакет сценариев при выборе пункта Define dynamic clusters меню Advanced options шаблона.
  • XC10 configuration: настраивает наше приложение Web-сервиса на использование WebSphere DataPower XC10 в качестве хранилища HTTP-сеанса.
  • Install application: устанавливает наше приложение Web-сервиса на динамический кластер WebSphere Virtual Enterprise.
  • Create DB2 database: создает необходимую базу данных и таблицу для нашего приложения в экземпляре сервера баз данных DB2.

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

Рисунок 2. Развернутая виртуальная система
Развернутая виртуальная система

И это работает!

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

Более того, клиенты могут подготовить эту среду за считанные минуты (в среднем чуть меньше, чем за час) и при необходимости надежно воссоздать ее. И ко всему прочему, они запускают эту среду в облаке!

Следующий шаг

Следующие ресурсы позволяют больше узнать об использовании WebSphere CloudBurst:

Это доказывает две важные вещи.

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

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

Ресурсы

Комментарии

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, Information Management, Технология Java
ArticleID=841200
ArticleTitle=Отчет о проделанной работе: создание настраиваемой демонстрационной среды приложения
publish-date=10132010