Расширение задачи пакетного обновления

Задача пакетного обновления помогает выполнить миграцию данных и переместить ресурсы на сервер 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.v.jar. При его извлечении файлы Java™ сохраняются в каталоге /src.

Код расширения filesys расположен в следующих двух каталогах: src\com\ibm\ram\internal\batch\filesystem\ и src\com\ibm\ram\internal\batch\filesystem\ui\

Подготовка к расширения и источника данных

Для всех источников данных необходимо подготовить расширение и данные:
  1. Выберите данные для перемещения в Rational Asset Manager.
  2. Подготовьте данные к загрузке.
  3. Создайте модуль Eclipse, расширяющий классы задачи пакетного обновления Rational Asset Manager.
  4. Скомпонуйте и разверните модуль 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, то укажите соответствующий ресурс. В этом случае задача пакетного обновления обновит существующий ресурс вместо создания нового.
  • В каждой строке выберите столбцы для загрузки и свяжите их с ресурсом.
Для создания нового проекта модуля выполните следующие действия:
  1. В меню Eclipse выберите Файл > Создать > Проект.
  2. Разверните Разработка модулей > Проект модуля.
  3. Введите имя проекта.
  4. Нажмите Далее.
  5. Нажмите Готово. Откроется файл MANIFEST.MF.
  6. Перейдите на вкладку Редактор зависимостей.
  7. В разделе Обязательные модули выберите Добавить.
  8. Выберите модуль com.ibm.ram.rich.ui.extension и нажмите кнопку OK.
  9. Нажмите кнопку Готово.
  10. В разделе Обязательные модули выберите Добавить.
  11. Выберите точку расширения com.ibm.ram.rich.ui.extension.batchDataSourceUI.
  12. Нажмите кнопку Готово.
  13. Сохраните файл MANIFEST.

Задача пакетного обновления передает ресурсы в Rational Asset Manager.

Работа с задачей пакетного обновления

В этом примере предполагается, что модуль Eclipse развернут в локальной системе.

Для запуска операции пакетной загрузки для создания новых ресурсов на основе файла Excel и их отправки в Rational Asset Manager выполните следующие действия:
  1. Выберите Файл > Создать > Задача пакетного обновления.
  2. Выберите источник данных Excel, затем выберите файл Excel. Откроется редактор пакетного обновления Rational Asset Manager.
  3. Щелкните на значке источника данных для связывания с Rational Asset Manager. Этот значок содержит значок Excel. Откроется окно выбора файлов, с помощью которого был выбран подготовленный файл Excel.
  4. Выберите соединение с хранилищем Rational Asset Manager, настроенное в рабочей области Eclipse.
  5. Выберите целевое хранилище Rational Asset Manager для загрузки ресурсов. В этом примере ресурсы загружаются в локальный экземпляр Rational Asset Manager.
  6. Для завершения преобразования в формат Rational Asset Manager добавьте элементы конфигурации, такие как сообщества, и настройте категории.

    После выбора целевого хранилища Rational Asset Manager пакетный редактор считывает файл Excel и преобразует его в формат целевого экземпляра Rational Asset Manager. На этом этапе ресурсы не загружаются. Пакетный редактор Rational Asset Manager Batch выдает обзор начального преобразования. В этом примере ресурсы из файла Excel связываются с конкретным сообществом Rational Asset Manager, которое пакетному редактору не удалось найти в Rational Asset Manager. Пользователи с правами доступа могут создать указанное сообщество (см. пример).

    Операция преобразования продолжает проверку ресурсов, информации о версиях ресурсов, типов взаимосвязей и других параметров. В каждом случае пользователи могут выбрать существующую информацию о конфигурации Rational Asset Manager или добавить необходимую информацию (при наличии соответствующих прав доступа).

  7. После завершения преобразования нажмите кнопку Обновить все ресурсы. Ресурсы загружаются в 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.

Комментарии