Задача пакетного обновления помогает выполнить миграцию данных и переместить ресурсы на сервер
IBM® Rational Asset Manager. Опция
файловой системы позволяет расширить задачу пакетного обновления для чтения
любых исходных данных и их связывания с ресурсами.
Об этой задаче
Расширение задачи пакетного обновления
Задачу пакетного обновления можно расширить для чтения любых исходных данных и поддержки
ресурсов в Rational Asset Manager.
Задача пакетного
обновления Rational Asset обеспечивает интеллектуальное связывание путем
поиска и объединения ресурсов вместо создания новых ресурсов.
Модуль com.ibm.ram.rich.ui.extension содержит источник расширения файловой системы и входит в
состав установленного клиента Rational Asset Manager
Eclipse (папка /plugins).
Файл JAR расположен в установленном экземпляре клиента Eclipse в каталоге
/eclipse/plugins/com.ibm.ram.rich.ui.extension_7.5.2.3.v.jar.
При его извлечении файлы Java™ сохраняются в каталоге
/src.
Код расширения filesys расположен в следующих двух каталогах:
src\com\ibm\ram\internal\batch\filesystem\ и
src\com\ibm\ram\internal\batch\filesystem\ui\
Подготовка к расширения и источника
данных
Для всех источников данных необходимо подготовить
расширение и данные:
- Выберите данные для перемещения в Rational Asset Manager.
- Подготовьте данные к загрузке.
- Создайте модуль Eclipse, расширяющий классы задачи пакетного обновления Rational Asset Manager.
- Скомпонуйте и разверните модуль Eclipse.
В разделе Пример в качестве источника данных применяется Microsoft
Excel. Шаги 1 и 2 выполняются в
электронной таблице Excel.
Для расширения задачи пакетного обновления с
помощью опции файловой системы необходимо создать новый проект модуля и
реализовать расширения для точек расширения.
Для задачи пакетного
обновления предусмотрены две точки расширения: batchDataSource и
batchDataSourceUI.
Задачу пакетного обновления можно реализовать с
помощью двух точек расширения:
- batchDataSource: модуль com.ibm.ram.rich.core
предлагает точку расширения batchDataSource. Она помогает задать расширение
источника данных для пакетного клиента
Rational Asset
Manager. В ходе пакетного обновления точка расширения
batchDataSource извлекает данные из хранилища и передает их на сервер Rational Asset
Manager.
- batchDataSourceUI: модуль
com.ibm.ram.rich.ui.extension предлагает точку расширения
batchDataSourceUI. С ее помощью можно добавить элементы пользовательского
интерфейса в редактор пакетного обновления Rational Asset
Manager.
Упрощенное расширение файловой системы
Ниже приведена упрощенная версия расширения файловой системы, которое можно
экспортировать в форме развертываемого модуля. Это расширение файловой системы создает ресурсы на основе папок и файлов zip, расположенных
в конкретной корневой папке. В примере используется корневая папка, все подпапки или файлы .zip которой становятся
ресурсами.
В качестве имени ресурса применяется имя подпапки или архивного файла. Содержимое подпапки/файла станет артефактами; исключение составляет обязательный файл
.asset_info.
Классы пакетного API
Rational Asset Manager можно расширить с помощью
двух классов Java:
- FileSystemBatchDataSource.java - расширяет BatchDataSource.
- FileSystemBatchUIContributor.java - расширяет AbstractBatchUIContributor.
Класс FileSystemBatchDataSource создает и возвращает ресурсы с учетом пути к корневому
каталогу. В рассматриваемом файле указан источник данных расширения клиента, который создает ресурсы из
папок и файлов .zip в указанной корневой папке. Эти папки и файлы .zip должны содержать файл .asset_info.
Файл
.asset_info должен соответствовать формату файла .properties
(одна пара ключ=значение в строке). В него необходимо добавить свойства ресурса, перечисленные в
файле
FileSystemBatchDataSource.java:
- имя (Необязательное. Если значение не указано, то применяется имя файла/папки.)
- version (Необязательное. Если значение не указано, то применяется версия 1.0).
- community (Обязательное)
- asset_type (Обязательное)
- short_description (Необязательное. Если значение не указано, то применяется имя файла/папки.)
- description (Необязательное)
Класс FileSystemBatchUIContributor создает новый источник данных путем открытия окна
выбора каталога, в котором пользователь может выбрать корневой каталог для создания ресурсов.
Структура корневого каталога описана в файле java FileSystemBatchDataSource.
Точки расширения, через которые простой пример файловой системы подключается к клиенту
пакетной загрузки, определены в файле
plugin.xml:
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension point="com.ibm.ram.rich.core.batchDataSource">
<dataSourceType
class="com.ibm.ram.batch.example.FileSystemBatchDataSource"
id="com.ibm.ram.batch.example.filesystem">
</dataSourceType>
</extension>
<extension point="com.ibm.ram.rich.ui.extension.batchDataSourceUI">
<batchDataSourceUI
class="com.ibm.ram.batch.example.FileSystemBatchUIContributor"
dataSourceID="com.ibm.ram.batch.example.filesystem"
icon="icon.gif"
name="File System Example">
</batchDataSourceUI>
</extension>
</plugin>
Примеры кода таких расширений приведены в разделе Работа с расширениями файловой системы пакетной загрузки.
С помощью API Java Rational Asset
Manager можно выполнять операции пакетной загрузки, обеспечивающие одновременную загрузку
нескольких файлов. См.
Выполнение пакетной загрузки
Пример
В этом примере рассмотрена процедура создания расширений для файлов Microsoft
Excel. В этом примере в качестве источника данных применяется файл Microsoft
Excel; точки расширения задачи пакетного
обновления реализованы в виде модуля Eclipse. Задача пакетного обновления
считывает отформатированные файлы Excel и связывает строки Excel с ресурсами Rational Asset
Manager. Пользователи могут изменить данные перед отправкой в Rational
Asset Manager. См. также раздел Пример
пакетной загрузки.
Подготовка источника данных
Перед
загрузкой электронной таблицы Excel ее необходимо отформатировать. В этом
примере электронная таблица отформатирована следующим образом:
Табл. 1. | |
A |
B |
C |
D |
E |
F |
| 1 |
AssetType: Compiler |
Community: Technical Infrastructure |
|
|
|
|
| 2 |
Asset:GUID |
Asset:Version |
Asset:Name |
Asset Attribute: Author |
Category Schema: Licenses |
Ignore: IDE |
- Первые две строки электронной таблицы описывают модель информации, которую
требуется связать с Rational Asset Manager.
- Первая строка описывает тип ресурса и сообщество. Используйте формат
ячейки, указанный в примере; например, "Asset Type: Compiler".
- Вторая строка описывает связывание уровня ресурса:
- Asset: GUID
- Asset: Version
- Asset: Name
- Asset Attribute: <имя атрибута>
- Category Schema: <имя схемы категорий> Строки содержат
значения схемы в формате "a/b/c"
- Ignore: <имя> Этот столбец будет проигнорирован в ходе
загрузки.
Если строки ресурсов не содержат значения, то создается новый ресурс Rational
Asset Manager; в противном случае выполняется
объединение.
- Строки после строк 1 и 2 обрабатываются как ресурсы.
Заголовки
столбцов содержат специальный формат, применяемый анализатором ресурса. Строки
1 и 2 зарезервированы. Строка 1
содержит тип ресурса и объявление сообщества. Строка 2 содержит описание
столбцов ресурса, например, GUID, версия, имя и атрибуты ресурсов.
При необходимости обратитесь к примеру электронной
таблицы.
Создание модуля
Eclipse
Структура кода соответствует обычному модулю Eclipse;
пользователь задает точки расширения.
При создании модуля
Eclipse, расширяющего классы задачи пакетного обновления Rational Asset
Manager, обратите внимание на следующие рекомендации:
- Создайте класс Activator с помощью мастера модулей Eclipse.
- Создайте по крайней мере два класса: ExcelBatchDataSource и ExcelBatchUIContributor. Добавьте
логику анализа в класс источника данных.
- При запуске задачи пакетного обновления в
Eclipse выберите источник данных, затем выберите соединение с Rational Asset Manager.
- При выборе соединения с Rational Asset
Manager в клиенте вызывается метод fetchAssets из класса источника данных. Используйте метод ExcelBatchDataSource.fetchAssets(); в нем выполняется большая
часть кода анализа. Примечание: В код не требуется добавлять объект сеанса Rational Asset Manager.
- Для получения рабочего листа вызовите
createSpreadsheetAssets и откройте объект рабочей книги Excel.
- Создайте GUID для обработки. Если указан столбец
Asset: GUID, то укажите соответствующий ресурс. В этом случае задача пакетного
обновления обновит существующий ресурс вместо создания нового.
- В каждой строке выберите столбцы для загрузки и свяжите их с ресурсом.
Для
создания нового проекта модуля выполните следующие действия:
- В меню Eclipse выберите
.
- Разверните .
- Введите имя проекта.
- Нажмите
Далее.
- Нажмите Готово. Откроется файл MANIFEST.MF.
- Перейдите на вкладку Редактор зависимостей.
- В разделе Обязательные модули выберите Добавить.
- Выберите модуль com.ibm.ram.rich.ui.extension и нажмите
кнопку OK.
- Нажмите кнопку Готово.
- В разделе Обязательные модули выберите Добавить.
- Выберите точку расширения
com.ibm.ram.rich.ui.extension.batchDataSourceUI.
- Нажмите кнопку Готово.
- Сохраните файл MANIFEST.
Задача пакетного обновления передает ресурсы в
Rational Asset Manager.
Работа с задачей
пакетного обновления
В этом примере предполагается, что модуль Eclipse
развернут в
локальной системе.
Для запуска операции пакетной загрузки для
создания новых ресурсов на основе файла Excel и их отправки в Rational Asset
Manager выполните следующие действия:
- Выберите
.
- Выберите источник данных Excel, затем выберите файл Excel. Откроется
редактор пакетного обновления Rational
Asset Manager.
- Щелкните на значке источника данных для связывания с Rational Asset Manager. Этот
значок содержит значок Excel. Откроется окно выбора файлов, с помощью которого
был выбран подготовленный файл Excel.
- Выберите соединение с хранилищем Rational Asset Manager, настроенное в
рабочей области Eclipse.
- Выберите целевое хранилище Rational Asset Manager для загрузки ресурсов. В этом примере ресурсы загружаются в локальный экземпляр
Rational Asset Manager.
- Для завершения преобразования в формат Rational
Asset Manager добавьте элементы конфигурации, такие как сообщества, и
настройте категории.
После выбора
целевого хранилища Rational Asset Manager пакетный редактор считывает
файл Excel и преобразует его в формат целевого экземпляра Rational Asset
Manager. На этом этапе ресурсы не загружаются. Пакетный редактор Rational Asset
Manager Batch выдает обзор начального преобразования. В этом примере ресурсы
из файла Excel связываются с конкретным сообществом Rational
Asset Manager, которое пакетному редактору не удалось найти в Rational
Asset Manager. Пользователи с правами доступа могут создать указанное
сообщество (см. пример).
Операция преобразования продолжает проверку
ресурсов, информации о версиях ресурсов, типов взаимосвязей и других
параметров. В каждом случае пользователи могут выбрать существующую информацию
о конфигурации Rational Asset Manager или добавить необходимую информацию
(при наличии соответствующих прав доступа).
- После завершения преобразования нажмите кнопку Обновить все
ресурсы. Ресурсы загружаются в Rational
Asset
Manager. В пакетном редакторе отображаются результаты загрузки.
Структуры
классов и объекты
API Rational
Asset Manager использует две основные структуры классов для ресурсов:
- Классы, имена которых начинаются с "RAM" (например, RAMAsset).
- Классы, имена которых не начинаются с "RAM" (например, Asset).
Объекты
классов RAM загружаются с сервера Rational Asset
Manager с помощью объекта сеанса Rational
Asset Manager; в этом примере объекты сеансов не используются. Объекты из
классов, таких как Asset, создаются без использования известного сеанса Rational
Asset Manager, затем они передаются задаче пакетного обновления и
отправляются в Rational Asset Manager.