|
|
|||||||||||||||||||||||||||||
|
Разработка облачных приложений с помощью инструментов RationalОписание: Облачные вычисления могут обещать централизацию, стандартизацию и автоматизацию - на самом деле реализация облака сближает разработку приложений, бизнес и эксплуатацию систем, так что для обеспечения максимальной эффективности разработчикам ПО необходимо лучше понимать бизнес-процессы и работу систем. Для достижения этих целей, обещанных облачными вычислениями, разработчик должен мыслить более широкими категориями. В настоящей статье авторы рисуют широкую картину, чтобы помочь разработчику охватить весь процесс, используя средства управления жизненным циклом приложений, имеющиеся в Rational. Они предлагают сценарии и обзор инструментов и артефактов, необходимые разработчику для достижения своей цели. Наконец, они демонстрируют, как использовать инструменты IBM® Rational® и SmartCloud Enterprise в сценарии комплексной разработки. Сегодня облачные вычисления сближают разработку приложений, бизнес и эксплуатацию систем. Это означает, что разработчикам программного обеспечения необходимо лучше понимать бизнес-процесс и работу систем. Еще это означает, что сотрудникам бизнес-подразделений и служб эксплуатации требуется больше специального программного обеспечения. Обещание облачных вычислений заключается в том, что централизация, стандартизация и автоматизация упростят работу и снизят расходы. Однако для достижения этих результатов требуется новый образ мышления: разработчик должен принимать во внимание особенности бизнес-процессов и эксплуатации систем, чтобы создать и внедрить максимально эффективное облачное приложение. Эта статья имеет намеренно широкую сферу рассмотрения, чтобы охватить все эти аспекты разработки и эксплуатации приложений, и содержит примеры применения инструментов Rational, которые могут помочь в этом процессе. Одним из наиболее интересных аспектов облачных вычислений является то, что они позволяют поднять инструментарий и сотрудничество на новый уровень. Группы людей получают возможность многократно использовать результаты работы, особенно образы систем. Например, специалист по операционным системам может создать эталонный образ операционной системы, разработчик программного обеспечения ― добавить поверх него образ программного продукта, а пользователь на предприятии ― применять этот образ, создавая копии текущего состояния для нужд своего предприятия. Эта статья посвящена тому, как использовать этот инструментарий для разработки приложений в облаке. Бизнес-сценарии на базе общедоступного облакаНачнем с рассмотрения некоторых примеров применения облачных вычислений:
Количество субъектов, сотрудничающих в облачной среде:
Рассмотрим пример доказательства концепции (РОС). Прежде чем внедрить в производство новые технологии, предприятия обычно осуществляют доказательство концепции, или практическую проверку. Для этого часто приглашают внешних ИТ-консультантов, и они, как правило, должны выполнить большой объем работы за короткий период времени. Обычно если консультант не имеет опыта работы в этой области, ему будет трудно собрать всю необходимую информацию. Здесь решающее значение имеют ресурсы, переходящие из проекта в проект. Облако способствует облегчению этого процесса, позволяя использовать готовые образы, так что консультанты и пользователи на предприятии могут легко разделять одно и то же пространство сети. Это гораздо проще, чем носить с собой физическую машину, переносить все необходимое на ноутбук консультанта или пытаться за короткое время установить все программное обеспечение на объекте. На рисунке 1 приведена схема для этого сценария. При работе в среде общедоступного облака важна поддержка администрирования пользователей, чтобы предприятие могло добавить учетную запись консультанта. Иначе, консультант может использовать свое собственное пространство и просто разрешить доступ к нему через сетевой протокол, например, HTTP. Если предприятие принимает доказательство концепции, может потребоваться долговременное использование POC. В этом случае POC можно переместить в частную сеть предприятия, сохранив образ и запустив его экземпляр в виртуализованной ЛС. В таблице 1 сравнивается традиционный подход к доказательству концепции и подход на основе облака.
Основными преимуществами облака для данного примера применения является масштабируемость, доступ из Интернета и возможность сохранить и повторно использовать ресурсы проектов. Понятие об IBM SmartCloud EnterpriseIBM SmartCloud Enterprise ― это коллективная облачная инфраструктура как сервис (IaaS), уникальное общедоступное облако, предназначенное для предприятий. Облако позволяет пользователям создавать виртуальные машины x86 с операционными системами Linux® и Windows® и управлять ими, а также управлять соответствующими ресурсами, включая образы систем, дисковое пространство и IP-адреса. Особенность облака IBM состоит в том, что оно включает в себя широкий спектр услуг и продуктов, возможности самообслуживания и модели делегированного администрирования, которые позволяют сотрудничать, предоставлять нужные предприятию услуги поддержки и выбирать из обширного каталога образов виртуальных машин, созданных в центре разработки образов. (Добавив семейство продуктов IBM PureSystems™ и соответствующие услуги, вы получаете доступ к еще более проверенному опыту управления конфигурацией и внедрения в виде готовых, основанных на передовом опыте виртуальных шаблонов.) Основным способом программного взаимодействия с SmartCloud Enterprise является API SmartCloud Enterprise на базе REST. Он предоставляет множество возможностей, включая пользовательский интерфейс самообслуживания для управления экземплярами, образами, дисковым пространством и IP-адресами. Для удобства предоставляются также клиенты API командной строки и API Java™, которые служат оболочкой сервисов REST. Зарегистрированные пользователи бесплатно загружают клиент API Java и инструмент командной строки через каталог ресурсов. Командная строка удобна для ускорения работы опытных пользователей, но если нужно создать приложение, которое интерпретирует выходные данные из API, то придется написать специальную программу. API IBM SmartCloud Enterprise можно использовать для добавления дополнительных возможностей или интеграции средств управления облаком в другие приложения. Для Java®-программистов наиболее удобным вариантом будет API Java. Разработчики, специализирующиеся на других языках, могут использовать API REST. API служат средством интеграции в облако большинства инструментов. Задачи и инструменты, функции и результаты облачного проектаВ этом разделе рассматриваются инструменты управления жизненным циклом приложений (ALM) и их связь с облачными вычислениями. Последняя тенденция заключается в интеграции этих инструментов в облачную среду. Это позволяет применять их в облаке, использовать облако тем или иным образом или применять эти инструменты для разработки облачных приложений, оставаясь в пределах пространства облачной среды. Инструменты ALM помогают планировать, проектировать, сотрудничать, разрабатывать, тестировать, выпускать и поддерживать проекты по созданию программного обеспечения. Когда дело доходит до программных проектов с многими участниками, в ходе которых создаются артефакты для развертывания на серверах приложений, возникает потребность в специальных инструментах. Это могут быть инструменты следующих типов:
Когда проект становится коллективным, появляется необходимость обмена исходным кодом через центральный репозиторий. Управление исходным кодом обеспечивает система с открытым исходным кодом Concurrent Versions System (CVS), популярная уже много лет. Это масштабируемая система, которую удобно использовать из интегрированной среды разработки с помощью подключаемых модулей. В последнее время CVS начали дополнять и заменять другие системы с открытым исходным кодом, особенно Subversion. Коммерческой алтернативой со значительно более широкими возможностями является IBM Rational Team Concert (RTC). Основное влияние облачных вычислений на средства управления исходным кодом заключается в том, что с ними можно удобно работать в облаке. Когда исходный код загружен в центральный репозиторий, его необходимо встраивать в развертываемые артефакты. Это делается с помощью таких инструментов с открытым исходным кодом, как Ant или Maven. Maven имеет несколько более широкий набор возможностей с учетом более широкого спектра событий жизненного цикла. Коммерческий сервер сборки IBM Rational Build Forge обеспечивает еще более широкие возможности. Образ Build Forge имеется в корпоративном каталоге IBM Cloud. Помимо компиляции исходного кода можно попытаться автоматизировать тестирование модулей, их развертывание в среде выполнения и функциональное тестирование. Однако когда приложение включает в себя несколько компонентов, таких как реляционная база данных, сервер приложений и Hadoop, задача усложняется. Одна из новых разработок в области инструментов этого типа, в частности, применяемая в Build Forge, позволяет автоматически создавать и ликвидировать многокомпонентные среды в облаке. Чтобы разработчики могли полностью тестировать свой собственный код, а тестеры ― проверять, что он работает правильно. Этот процесс начинается с тестирования модулей. Простой и полезный инструмент для тестирования модулей Junit может составлять полезные отчеты; однако когда код интегрируется с другими системами, тестирование модулей может быть затруднено. Для представления таких зависимостей могут использоваться фиктивные объекты. Для этого весьма полезен инструмент с открытым исходным кодом EasyMock. Тестирование с функциональной верификацией ― это тестирование, при котором проверяется, что код в рабочей среде способен выполнять все возможные функции, на которые он рассчитан. Это можно сделать вручную, наблюдая за различными окнами в Web-браузере. В идеале же этот процесс можно автоматизировать путем регистрации действий пользователя. Для этого может применяться коммерческий продукт IBM Rational Functional Tester (RFT). Облако предлагает богатый набор инструментов для доказательства концепции, пилотных проектов, программ бета-тестирования и консалтинговых проектов. В традиционной среде ввиду ограничений корпоративной сети (особенно из соображений безопасности) консультантам часто приходится работать с незнакомыми инструментами. Это ведет к составлению письменных отчетов, документирующих шаги по внедрению и практические рекомендации, с которыми заказчику трудно работать. В других ситуациях консультант вынужден постоянно заниматься поддержкой еще долгое время после завершения проекта. Облако предлагает богатый набор готовых форм, включая образы виртуальных машин, модели развертывания топологии и пакеты программного обеспечения, как показано в таблице 2. Таблица 2. Сопоставление артефактов традиционных и облачных проектов
Управление каталогом документов с помощью Rational Asset ManagerСистема управления документами управляет файлами, так что их можно хранить централизованно для удобства доступа, индексации и поиска. Современные системы управления документами позволяют пользователям добавлять к документам свои комментарии и обладают такими функциями Web 2.0, как тегирование и рейтинги. Они поддерживают управление доступом на основе ролей для управления документами, и к документам можно применять рабочие процессы, чтобы гарантировать, что перед публикацией они будут рассмотрены и утверждены. В IBM SmartCloud Enterprise управление документами осуществляется посредством IBM Rational Asset Manager (RAM). Это особенно уместно, потому что большинство документов в облаке - это образы виртуальных машин, которые сами по себе являются ресурсами программного обеспечения. Rational Asset Manager ― стандартный продукт IBM, который можно использовать и в своих собственных проектах. Rational Asset Manager входит в каталог образов, что позволяет запускать его на своем собственном сервере. Все образы из каталога SmartCloud Enterprise содержат учетные записи, которые видны всем. При сохранении виртуальной машины в виде образа в SmartCloud Enterprise создается учетная запись. Вы можете добавить такие документы, как "Запуск системы" и снимки с экрана, чтобы помочь пользователям ваших образов, и Rational Asset Manager поддерживает форум, который позволяет пользователям задавать вопросы. Первоначально учетная запись образа будет видна только создателю. Однако ее можно сделать видимой для других сотрудников предприятия. Rational Asset Manager поддерживает и другие типы документов, например, текстовые документы. Большинство документов поддержки SmartCloud Enterprise хранится как документальные ресурсы Rational Asset Manager. При создании нового документа в Rational Asset Manager появляется окно, показанное на рисунке 2. Рисунок 2. Создание документа в Rational Asset ManagerМожно добавить имя, краткое описание, подробное описание и прикрепить файлы. Можно настроить рабочий процесс утверждения, который будет автоматически выполняться, прежде чем документ станет видимым для других. Пример одного из этапов рабочего процесса утверждения приведен на рисунке 3. Рисунок 3. Рассмотрение документа, введенного в Rational Asset ManagerВ данном случае выполняется два шага: рассмотрение заявки и принятие/отклонение документа. Полный сценарий разработкиТеперь мы покажем, как настроить Rational Software Architect в облаке и сохранить образ виртуальной машины, который можно будет использовать в качестве стандартной среды разработки. Иными словами, продемонстрируем, как использовать инструменты Rational и SmartCloud Enterprise в полном сценарии разработки. Rational Software Architect - это интегрированная среда разработки для Java, J2EE, Web 2.0 и других платформ. В каталоге SmartCloud Enterprise имеются образы для Rational Application Developer. Кроме того, в Rational Application Developer есть облачный плагин, который обеспечивает интеграцию с серверами, такими как сервер приложений WebSphere®, в облаке. Это позволяет выполнять сценарии, подобные следующему.
Разработка образаСначала найдите Rational Software Architect в каталоге и подготовьте экземпляр. Войдите в Rational Software Architect удаленно с помощью NX Client. Технология удаленного рабочего стола NX опирается на NX Server и NX Client. NX Server поставляется как коммерческий продукт NoMachine или дистрибутив с открытым исходным кодом. Некоторые образы в SmartCloud Enterprise используют пакет ПО с открытым исходным кодом FreeNX. NX Server отвечает за аутентификацию и активацию пользовательского сеанса. Третий компонент - NX Node. Файлы конфигурации обычно находятся в каталоге /etc/nxserver, который также содержит ключи, необходимые для проверки подлинности. В случае проблем полезно установить параметр NX Client можно бесплатно загрузить с Web-сайта NoMachine. После установки импортируйте и сохраните ключ SSH (без PuTTY-преобразования) и укажите в поле Server имя хоста или IP-адрес своей виртуальной машины. Экран конфигурации показан на рисунке 4. Рисунок 4. Мастер подключения NX ClientПользовательский интерфейс настройки клиента позволяет выбрать рабочий стол, такой как KDE или Gnome. Это чревато ошибками и если после проверки подлинности возникли проблемы при установлении сеанса связи, возможно, придется попробовать другое значение. Файлы конфигурации и сеанса связи клиента хранятся в каталоге пользователя .nx (в Windows ― C:\Documents и Settings\Administrator\.nx). В случае ошибок проверьте каталог сеансов, который также находится в каталоге .nx. Импортировав ключ и набрав имя хоста или IP-адрес, введите свое имя пользователя и пароль. На рисунке 5 показан рабочий стол Rational Software Architect Desktop в SmartCloud Enterprise в сеансе NX Client Remote Session. Рисунок 5. Rational Software Architect Desktop в SmartCloud Enterpriseв в сеансе NX Client Remote SessionКлиенты Rational Team Concert и Rational Asset Manager можно загрузить из jazz.net и использовать для их установки Install Manager. После установки сохраните полученный образ. И последний шаг - чтобы разрешить использовать образ в качестве стандартного клиента разработки, в пользовательском интерфейсе самообслуживания SmartCloud Enterprise нужно изменить значение параметра visibility (видимость) с private на enterprise. Это иллюстрируется на рисунке 6. Рисунок 6. Задание общей видимости для образа Rational Software ArchitectТеперь все готово, чтобы остальная часть группы разработчиков могла приступить к работе в стандартной среде разработки. Администрирование проектаRational Team Concert ― это полнофункциональный инструмент коллективной разработки, поддерживающий гибкое управление проектами, сервер сборки и управление дефектами. Образ Rational Team Concert доступен в каталоге SmartCloud Enterprise. Rational Team Concert поддерживает браузер, Eclipse и клиенты Microsoft Visual Studio. Rational Team Concert обеспечивает различные роли, такие как администратор проекта, руководитель проекта и члены проектной группы, поддерживая несколько проектов и групп с делегированным администрированием. Чтобы попробовать Rational Team Concert, выполните следующие шаги.
Пользовательский Web-интерфейс полезен для многих целей, но для разработки или администрирования Rational Team Concert следует применять клиент Rational Team Concert Eclipse. ЗаключениеМы надеемся, что узнав, как расширить масштабы процесса разработки с помощью инструментов управления жизненным циклом приложений, вы сможете реализовать преимущества централизации, стандартизации и автоматизации, которые облачная среда предлагает разработчикам.
|
|