Это старая версия документа.


Плагины импорта

Введение

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

Интерфейс плагина

Плагин представляет собой скомпилированную библиотеку, которая реализует необходимые методы, которые использует механизм импорта Business Studio. Краткое описание этих методов приведено в Таблице 1.

'/// </summary>
'/// Возвращаемая строка будет отображаться в списке доступных плагинов для формирования пакета импорта.
пных плагинов для формирования пакета импорта.
static string" GetPluginTitle()
 
'/// </summary>
'/// Метод открытия плагина. Зием плагина </returns>
"public static string" GetPluginTitle()
 
returns> True, если всё прошло без ошибок </returns>
public static bool Open()
Методы
/// <summary>
/// Определяет количество фрагментов информации.
/// </summary>
/// <returns>Количество фрагментов информации</returns>
public static int GetPartsCount()
/// <summary>
/// Получает список всех классов, используемых на диаграммах.
/// </summary>
/// <param name="partNumber">Номер текущего информационного фрагмента</param>
/// <returns>Возвращает список всех классов</returns>
public static List<string> GetClasses(int partNumber)
/// <summary>
/// Получает список всех графических классов.
/// </summary>
/// <param name="partNumber">Номер текущего информационного фрагмента</param>
/// <returns>Возвращает графические  классы  объектов</returns>
public static List<string> GetGraphicClasses(int partNumber)
/// <summary>
/// Получает параметры фигур принадлежащие определённому  классу.
/// </summary>
/// <param name="className">Имя класса </param>
/// <param name="partNumber">Номер текущего информационного фрагмента</param>
/// <returns>Возвращает параметры фигур принадлежащие определённому мастеру</returns>
public static List<string> GetParameters(string className, int partNumber)
/// <summary>
/// Получает список значений параметров от фигур заданного мастера.
/// </summary>
/// <param name="className">Имя класса</param>
/// <param name="partNumber">Номер текущего информационного фрагмента</param>
/// <returns>Возвращает список значений параметров от фигур заданного класса</returns>
public static List<string[]> GetData(string className, int partNumber)
/// <summary>
/// Получает графические параметры фигур принадлежащие определённому классу.
/// </summary>
/// <param name="className">Имя класса. Получаем заголовки параметров у объектов данного класса</param>
/// <param name="partNumber">Номер текущего информационного фрагмента</param>
/// <returns>Возвращает параметры фигур принадлежащие определённому мастеру</returns>
public static List<string> GetGraphicParameters(string className, int partNumber)
/// </summary>
/// Получает значения графических параметров фигур определённого класса.
/// <param name="className">Имя класса</param>
/// <param name="partNumber">Номер текущего информационного фрагмента</param>
/// <returns>Возвращает коллекцию содержащую список массивов со значениями параметров</returns>
public static List<string[]> GetGraphicData(string className, int partNumber)
/// <summary>
/// Метод используется для освобождения ресурсов после окончания работы с плагином.
/// </summary>
public static void Close()

Подробнее о каждом методе можно узнать из исходного кода. Исходные коды плагинов , поставляемых с системой Business Studio см. тамто

Все методы обязательны, однако методы GetGraphicClasses, GetGraphicParameters и GetGraphic могут возвращать null, если в данном плагине нет графического импорта.

Порядок создания нового пакета импорта

Плагин импорта используется на этапе создания пакета импорта, читая перечень необходимых классов и параметров из файлов примера, что облегчает создание и настройку пакета импорта.

  1. При создании пакета вызывается GetPluginTitle от каждого установленного плагина , Business Studio получает имена доступных плагинов и предлагает выбрать конкретный.
  2. После выбора плагина вызывается метод Open и предлагается выбрать файлы, которые будут использоваться в качестве примера.
  3. Вызываются методы GetClasses, GetGraphicClasses и GetParameters. Формируется список классов в файле примера с параметрами и список графических классов.
  4. Пользователем настраиваются этапы импорта, трансляция классов и параметров.
  5. Настраивается графический импорт, если плагин его поддерживает, устанавливаются соответствия между графическимим классами файла примера и элементами диаграмм Business Studio.

Порядок выполнения пакета импорта через плагин

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

  1. После выбора плагина вызывается метод Open и плагин предлагает выбрать файлы, которые будут обрабатываться.
  2. После открытия источника и перед чтением метод GetPartsCount определяет количество пакетов информации, с их помощью слишком большие данные разбиваются на части или происходит разбивка по файлам в случае выбора нескольких файлов для импорта. Решение на какие порции разбивать данные принимает плагин.
  3. Затем происходит чтения информации из файлов, по порядку этапов в пакете импорта, сначала идёт объектный импорт, используемые классы – GetParameters и GetData. На этом этапе создаются объекты и у них заполняются параметры.
  4. После объектного импорта, а иногда внутри на определённом этапе, вызывается графический импорт, если в пакете настроен графический  импорт и задан набор соответствий в этапе.  Используемые классы – GetGraphicParameters, GetGraphicData. На этом этапе создаются диаграммы и фигуры. После того как фигуры были нарисованы, они связываются с объектами из базы данных.
  5. Импорт повторяется для каждого этапа Пакета импорта, пока не будут обработаны все выбранные файлы
  6. После окончания импорта вызывается метод Close, закрывает открытые файлы и освобождает память от используемых плагином ресурсов.

Создание плагина и внедрение в систему Business Studio

Для установки плагина необходимо скомпилировать проект(.sln) плагина, затем полученный файл dll разместить в подпапке Plugins папки, куда установлена Business Studio. Если требуется, чтобы плагин устанавливался автоматически при установке Business Studio, то плагин нужно разместить в папке Plugins дистрибутива.

Затем в справочнике "Пакеты импорта" создать новый пакет по выбранному плагину и установить соответствия между классами внешними и классами Business Studio. Затем на этапе импорта структуры файла выбрать набор соответствий и указать соответствия между внешними графическими классами и Элементами диаграмм. Примеры пакетов можно взять по ссылкам ниже.

Если изменения будут вноситься в один из представленных с системой Business Studio плагинов, следует переименовать скомпилированную библиотеку (dll-файл), чтобы ваши наработки не были перезаписаны новой версией плагина из комплекта поставки программы. Пакеты импорта же необходимо скопировать и изменить у них параметр «Plugin», чтобы он соответствовал новому имени библиотеки.

Актуальные новости, публикации и практики для бизнес-архитекторов и аналитиков
Driven by DokuWiki