Обзор нового продукта IBM Rational Team Concert и открытой платформы JazzИсточник: jazz
Автор: Трофимов Алексей (Технический специалист компании "Интерфейс")Сотрудничество и интеграция на протяжении всего жизненного цикла разработкиПриложение Rational Team Concert упрощает обмен информацией непосредственно в рабочей среде. Если в процессе разработки потребуются изменения, все члены группы извещаются об изменении автоматически. Можно ссылаться на это изменение при обмене информацией с другими членами и связывать его с объектами. Также можно автоматически информировать заинтересованные стороны о состоянии интересующих их изменений задач. Несколько представлений позволяют обмениваться информацией, предназначенной для всей группы. Можно отслеживать деятельность группы, предоставлять более подробную информацию или указывать в настройках, какая информация доступна для просмотра в любое время. Простая основа позволяет легко изменять и создавать компактные и наглядные обобщенные представления результатов. Интегрируются многие стороны жизненного цикла разработки программного обеспечения, включая итеративное планирование, определение процессов, управление исходным кодом, отслеживание дефектов, управление сборкой и систему отчетности. Все эти стороны интегрируются в единую среду. Можно отслеживать связи между объектами и управлять ими, обеспечивать полноценные процессы разработки, а также автоматически, и никого не отвлекая, собирать информацию о проекте. Конфигурация и настройка процессовПроцессы служат для управления проектами Rational Team Concert и позволяют настраивать работу данного продукта. Процесс представляет собой набор ролей, методик, правил и рекомендаций, используемых для организации процесса работы над проектом и управления им. Приложение Rational Team Concert обеспечивает поддержку выполнения группой такого процесса. Процесс используется для определения в данном продукте ролей пользователей и их полномочий на выполнение операций. Обычно основой процесса являются шаблоны, которые можно изменять, чтобы процесс удовлетворял требованиям всего проекта и групп разработчиков. Базовая структура процесса представляет собой набор направлений и циклов разработки. Каждый компонент зависит от всего процесса, поэтому для него можно добавлять правила поведения в форме предварительных условий и последующих действий. Интерфейс клиента Eclipse и веб-интерфейсПриложением Rational Team Concert предоставляется пользователям и интерфейс клиента на основе Eclipse, и веб-интерфейс. Благодаря клиентскому интерфейсу разработчики получают в свое распоряжение богатую возможностями, интегрированную среду разработки для создания и выпуска объектов. Веб-интерфейс хорошо подходит для администрирования серверов и руководства проектами и позволяет пользователям иметь доступ к разделам проектов, знакомиться с информацией в репозиториях, обновлять задачи или узнавать о последних событиях. Использование платформы JazzПриложение Rational Team Concert - первый продукт, поставляемый на технологической платформе Jazz. Jazz представляет собой масштабируемую, расширяемую платформу для сотрудничества рабочих групп, которая интегрирует задачи на протяжении жизненного цикла приложений. Платформа также обеспечивает полезные для применения составные блоки и базовые структуры, которые облегчают разработку новых продуктов и инструментария. Платформа Jazz также поддерживает рассредоточенные группы разработчиков, обеспечивая масштабируемость решений от малых групп до крупных предприятий, помогая группам вести контрольные журналы и автоматизировать бухгалтерский учет и делая разработку программного обеспечения более творческим делом. Приложение Rational Team Concert разрабатывается на основе веб-узла Jazz.net, где можно зарегистрироваться, чтобы участвовать в форумах для обсуждения, в группах новостей и в процессе фактической разработки. Варианты приложения Rational Team Concert 1.0 и лицензииПриложение Rational Team Concert 1.0 доступно в нескольких различных вариантах с различными конфигурациями лицензирования и функциональных возможностей. В зависимости от варианта, лицензированного для использования на сервере Jazz Team Server, пользователям будут доступны различные наборы функций. Кроме того, различные варианты включают различное число клиентских лицензий. В этом разделе:
Варианты
Клиентские лицензии Число клиентских лицензий определяется вариантом сервера Jazz Team Server.
Справка по платформе JazzДанная справка предназначена для начала изучения продукта и содержит ключевые понятия, термины и изобразительные элементы, которые при этом встретятся. Данная часть состоит из следующих разделов:
Объекты платформы Jazz хранятся в репозитории, который доступен только авторизованным пользователям. Репозиторий содержит области проектов, которые, в свою очередь, содержат объекты для проектов. Каждая область проекта имеет связанный с нею процесс, который управляет выполнением проекта и настраивает параметры платформы Jazz. Процесс определяется спецификацией процесса и описанием процесса. Спецификацией процесса определяются циклы проекта и характеристики выполнения этих циклов. Описание процесса соответствует веб-сайту, содержащему объяснение процесса. Доступны для выбора два предварительно определенных процесса: Eclipse Way и OpenUP (разработка не завершена). Можно, однако, также определить свои собственные процессы или изменить существующий. При подключении к области какого-либо проекта появляется доступ к объектам данного проекта. Области проектов распадаются на наборы областей групп, которыми описываются группы, работающие над проектом. Область каждой группы имеет список членов группы с указанием ролей процесса, которые они играют в группе. Пользователь может быть членом нескольких групп. Областью каждой группы могут определяться настройки процесса для адаптации процесса для данной группы и ее подгрупп. Для простых проектов вся деятельность выполняется в одном, главном направлении разработки с одним потоком. Могут создаваться дополнительные направления разработки, например, для деятельности по обслуживанию. Каждое направление разработки имеет свои собственные области групп и настройки процесса. Запланированная работа описывается элементами потока операций. Типы элементов потока операций, используемые в области проекта, определяются процессом. Например, процессом Eclipse Way определяются типы элементов потоков операций для дефектов, задач и дополнений. Каждый тип элемента потока операций может иметь свои собственные переходы из одного состояния в другое и поля настройки. Элементы потока операций сопоставляются категориям, которые позволяют организовать элементы по функциональным областям. Областью каждого проекта определяется список доступных категорий. Каждая область группы связана с категорией для функциональной области, за которую ответственна группа. Элементы потока операций можно найти, выполняя запросы. Запросы могут быть индивидуальными или общими для группы. Работа в области проекта выполняется в виде последовательности циклов, даты начала и окончания которых определяются состоянием процесса. Один из циклов определяется процессом как текущий. При планировании работы элементы потока операций намечаются для конкретных циклов. Можно запланировать всю работу, которую необходимо выполнить в цикле, создав план цикла. Для работы над файлами проекта, которые находятся под управлением исходным кодом, используются персональные рабочие пространства репозитория. Необходимо загрузить рабочее пространство репозитория для копирования файлов и папок в свое рабочее пространство Eclipse на своем компьютере. Сервером Jazz Team Server отслеживаются все изменения, сделанные в файлах под управлением исходным кодом, с помощью наборов изменений. Каждый набор изменений содержит измененные файлы и папки, сопровождается комментарием и ссылается на соответствующие элементы потока операций, которые послужили причиной изменений. Наборы изменений регистрируются для загрузки измененных файлов и папок из персонального рабочего пространства Eclipse в рабочее пространство репозитория. Зарегистрированные наборы изменений сохраняются в репозитории, но еще недоступны остальным членам группы разработчиков, пока эти наборы изменений не будут выпущены. Процесс регистрации и выпуска обеспечивает дополнительную защиту изменений, позволяя в то же время продолжать внесение изменений без их немедленного выпуска. Группами используется поток для сохранения главной копии файлов проекта; копия содержится в каждом рабочем пространстве репозитория. Рабочее пространство репозитория и поток группы соединяются последовательностью операций. Наборы изменений выпускаются из рабочего пространства репозитория в поток, чтобы включить изменения в главную копию; это исходящие наборы изменений. Входящие наборы изменений - наборы, выпущенные в поток остальными членами группы. Разработчик принимает входящие наборы изменений, чтобы встроить их в свои рабочее пространство репозитория и рабочее пространство Eclipse. Основа файла под управлением исходном кодом составляется в результате постоянного накопления наборов изменений, каждый из которых добавляется ко всему, что поступило до него. История изменений представляет собой последовательность наборов изменений для рабочего пространства репозитория или потока. В основе файла под управлением исходным кодом могут выделяться один или несколько компонентов, каждый со своей собственной древовидной структурой папок и файлов и своей собственной историей изменений. Простые рабочие пространства репозитория и потоки имеют в своем составе единственный компонент. Несколько компонентов используются группами, создающими многоуровневое программное обеспечение, части которого частично независимы и разрабатываются отдельно. В рабочем пространстве репозитория создается базовая версия отдельного компонента для фиксации интересующих моментов по времени, или создается кадр для одновременной фиксации базовых версий всех компонентов. Каждая группа имеет свою собственную сборку, описываемую в определении сборки, связанном с областью группы. В определении сборки указывается, какой интервал сборки должен использоваться сценарием сборки, и какое рабочее пространство должно использоваться для загрузки файлов. Сборка может выполняться с помощью различных механизмов сборки. Элементы интерфейса пользователя EclipseПредставления
Обзор и цели разработки платформы JazzJazz представляет собой масштабируемую, расширяемую платформу для сотрудничества рабочих групп для согласованной интеграции задач на протяжении жизненного цикла приложений. Совет: Платформа Jazz открыто разрабатывается на основе веб-узла Jazz.net, где можно зарегистрироваться, чтобы участвовать в форумах для обсуждения, в группах новостей и в процессе фактической разработки. Цели разработки и создания платформы Jazz:
Принципиальная задача платформы Jazz - предоставление создателям программного инструментария механизмов для применения и правил для выполнения, результатом чего является согласованная интеграция инструментария выполнения жизненных циклов разработок. Эти механизмы проявляют себя через строго определенные интерфейсы API. Платформой Jazz также обеспечиваются полезные для применения составные блоки и базовые структуры, которые облегчают разработку нового инструментария. Архитектура платформы Jazz Основой платформы Jazz является архитектура клиент-сервер. Сервер Jazz, обычно выполняющийся на защищенном компьютере серверного класса, содержит набор служб и репозиторий. Удаленные клиенты осуществляют связь с сервером Jazz по сети с помощью протокола HTTP. Удаленные клиенты Сервер Jazz Сервер Jazz представляет собой веб-приложение на основе языка Java, которое выполняется в составе любого сервера приложений, совместимого со спецификацией Java EE 1.4. Данной версией поддерживаются два различных сервера приложений: Apache Tomcat и IBM WebSphere Application Server. Сервер Apache Tomcat представляет собой сервлет-контейнер с открытым исходным кодом, который может устанавливаться на машинах класса ПК. Сервер IBM WebSphere Application Server - коммерческий продукт, для которого предлагаются решения различных масштабов. Семантика служб и интерфейсов API на стороне сервера Jazz не зависят от выбора сервера приложений, позволяя вводить поддержку других серверов приложений в будущих версиях. Базовые компоненты платформы Jazz Базовые компоненты платформы Jazz включают компоненты "Репозиторий" и "Групповой процесс". Набор компонентов, образующих платформу Jazz, разрабатывается в проекте Jazz. Другие члены сообщества Jazz, включая независимых поставщиков программного обеспечения, могут разрабатывать дополнительные компоненты, чтобы добавить новые возможности для платформы Jazz. На рис. 1 ниже показаны основные компоненты платформы Jazz. Рис. 1 . Компоненты платформы Jazz
Основу платформы Jazz составляет набор компонентов, имеющих существенное значение для всех операций Jazz: репозиторий и групповой процесс. Остальные компоненты предназначены для конкретных составляющих жизненного цикла разработки приложений. Компонент "Репозиторий" Большей частью инструментария выполнения жизненных циклов приложения относящаяся к нему информация сохраняется в центральном месте, где ее можно сделать доступной для всех членов групп разработки. Платформой Jazz данная функция обеспечивается за счет расширенного репозитория. Компонент "Репозиторий" относится к базовым компонентам, поэтому его функции доступны другим компонентам во всех конфигурациях клиентов и серверов. Каждый элемент в репозитории имеет уникальный идентификатор элемента, который можно использовать как ключ для его извлечения. Фактически, идентификаторы элементов представляют собой универсальные уникальные идентификаторы, поэтому элемент, созданные в одном из репозиториев, можно продублировать в другом репозитории с сохранением его идентичности. Аналогичным образом назначаются универсальные уникальные идентификаторы состояниям элементов и значениям содержимого, поэтому любое состояние элемента можно продублировать в других репозиториях с сохранением его идентичности. Операции чтения и записи репозитория являются элементарными. Интерфейсы API на стороне сервера также включают операцию явного группирования произвольной последовательности операций чтения и записи в единую элементарную транзакцию. Платформа Jazz имеет интерфейсы API на стороне сервера для передачи объектов содержимого в репозиторий и из него, устроенного таким образом, что передача может выполняться безопасным образом за пределами транзакции репозитория. Компонент "Групповой процесс" Компонент "Групповой процесс" является основой процесса, поддерживаемого платформой Jazz. В этом контексте процесс ссылается на набор методик, правил, рекомендаций и соглашений, которые используются группой для организации своей работы. Для очень малых по размеру групп процесс обычно является неформальным и недокументируемым. По мере роста группы части процесса могут документироваться на домашней странице проекта группы, поэтому новые члены группы могут быстро с ними ознакомиться. Крупная компания может иметь письменные описания принятых методик и процедур, которые следует выполнять их проектным группам; предполагается, что проектная группа начинает работу со стандартных шаблонов процессов и настраивает их для проекта и для себя. Некоторые компании и группы идут дальше и создают формальные модели, охватывающие значительные доли их процессов. Платформой Jazz процесс поддерживается несколькими способами.
Клиентские интерфейсы JazzПлатформа Jazz обеспечивает интеграцию со средой разработки Eclipse, предоставляя ряд представлений и проекций. Некоторыми компонентами Jazz поддерживается также веб-клиент. В данном выпуске за счет интеграции со средой разработки Eclipse последней обеспечивается главный клиентский интерфейс пользователя для платформы Jazz. Платформой Jazz предоставляются два значимых представления для Eclipse: Team Central и Team Artifacts. Оба представления служат для сбора информации и могут дополняться компонентами платформы Jazz. Рис. 1 . Приложение Rational Team Concert - клиентский интерфейс Eclipse Представление Team Central Представление Team Central является ядром сотрудничества платформы Jazz. Оно может настраиваться пользователями и представляет собой центральное место, где члены группы могут видеть, что происходит в их группе (рис. 2). Team Central - представление Eclipse с несколькими разделами, предоставляемое как расширение. В типичном разделе приводится краткая информация и подключаются другие представление или редактор, в которых представлена более подробная информация. Пользователь при настройке может указывать разделы, видимые постоянно. Платформой Jazz предоставляется простая основа для записи разделов и обеспечиваются специальные графические элементы для получения кратких наглядных итогов. В разделах базовых компонентов платформы Jazz обычно отображается такая полезная информация, как веб-каналы и списки коллег для обмена информацией. В разделах других компонентов платформы Jazz содержится относящаяся к ним информация, например, об элементах потока операций и о сборках. Рис. 2 . Представление Team Central Представление Team Artifacts Представление Team Artifacts представляет собой центральную точку доступа к объектам в репозитории (рис. 3). В данном представлении показываются объекты, сгруппированные по областям проектов и отфильтрованные для области группы. Записи представляются как расширение. В записях базовых компонентов платформы Jazz содержится такая информация, как, например, подписки веб-каналов. В разделах других компонентов платформы Jazz отображаются относящиеся к ним объекты, например, сборки, планы, потоки и рабочие пространства. Рис. 3 . Представление Team Artifacts Веб-клиенты Кроме среды разработки Eclipse, некоторые компоненты платформы Jazz позволяют пользователям обращаться к серверу Jazz непосредственно из веб-обозревателя. Такую возможность обеспечивает пользовательский веб-интерфейс Jazz. Этот интерфейс больше подходит для временных или эпизодических пользователей, а не для интегрированной среды разработки, потому что он не требует установки никакого специального программного обеспечения на клиентском компьютере; все, что необходимо - веб-обозреватель. Каждый сервер Jazz имеет главную веб-страницу, на которой пользователь может выбрать область проекта и войти в систему. После входа пользователь может взаимодействовать с сервером Jazz и изучать информацию в репозитории Jazz, включая ознакомление с последними событиями, ввод и обновление элементов потока операций, а также загрузку сборок. На рисунке 4 показан пользовательский веб-интерфейс Jazz, отображающий элемент потока операций. |