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

Введение

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

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

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

Методы

/// </summary>
/// Возвращаемая строка будет отображаться в списке доступных плагинов для формирования пакета импорта.
/// </summary>
/// <returns>Возвращает строку с названием плагина </returns>
public static string GetPluginTitle()

/// </summary>
/// Метод открытия плагина. Запоминает выбранные файлы. Создаёт новое приложение.
/// </summary>
/// <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», чтобы он соответствовал новому имени библиотеки.

Типы плагинов

1) Функционал доступен в Business Studio, начиная с версии 4.2, только в редакции Enterprise
Актуальные новости, публикации и практики для бизнес-архитекторов и аналитиков
Driven by DokuWiki