Опыт создания пакета интеграции в System Center Orchestrator 2012 R2 для управления отдельными объектами системы Directum.
System Center (далее – SC) компании Microsoft представляет собой корпоративный пакет продуктов для управления инфраструктурой информационных технологий на предприятии. В варианте «из коробки» предлагаемый в SC инструментарий позволяет работать преимущественно только с продуктами от Microsoft. Однако, предоставляемые компанией-разработчиком пакеты software development kit (далее – SDK) позволяют администраторам самостоятельно создавать пакеты для интеграции со сторонними программными системами.
Свой SDK имеет и инструмент System Center Orchestrator (далее – SCO), входящий в состав SC и являющийся, по мысли разработчиков пакета, связующим и управляющим звеном как между компонентами SC, так и между SC и иным программным обеспечением. Для работы с системой Directum через пакеты интеграции SCO можно использовать объектную модель IS-Builder.
Создание собственного пакета интеграции потребует установки следующих компонентов:
Подготовка компонентов к работе не вызывает существенных сложностей. Однако, присутствует нюанс, заключающийся в установке WiX. SCO Integration ToolKit имеет жесткую привязку к версии WiX. Устанавливать необходимо именно рекомендуемую Microsoft для SCO 2012R2 ITK версию 3.5.
1. В Visual Studio создаем новый проект и выбираем тип Class Library.
2. В Solution Explorer выбираем раздел References -> Add Reference и подключаем библиотеки:
3. Не забываем добавить в код проекта соответствующие пространства имен:
4. Задаем атрибут Active для создаваемого класса и указываем его имя:
[Activity ("MyCustomClassDirectum")] public class MyCustomClassDirectumActivity { //MyCode }
5. Для входных данным используем Activity class – ActivityInput. Для вывода результата будем использовать ActivityOutput. Данные ввода могут быть следующих типов:
6. Для подключения к системе используем интерфейсы LoginPoint и Application
LoginPoint login = new LoginPoint(); Application app = (Application)login.GetApplication("SystemCode=MyCodeSystem", false);
7. Для работы с объектами системы интерфейсы предоставляются пространством имен NpoComputer.IsBuilder.SBRte.
8. Для корректного и удобного вывода результатов выполнения кода целесообразно использовать конструкцию try-catch. В этом случае выполнение блока создаваемого пакета всегда будет завершено с результатом success, но в ActivityOutput получим либо присвоенный результат вывода, либо корректное сообщение об ошибке.
try { //MyCode } catch (Exception e) { return new string(e.Message.ToCharArray()); }
9. Для упаковки получившейся библиотеки классов в OIP запускаем Orchestrator Integration Pack Wizard и указываем необходимые параметры пакета
10. Для корректной работы пакета на этапе добавления дополнительных файлов решения выбираем следующие файлы:
11. Регистрируем получившийся пакет на сервере SCO
12. Разворачиваем пакет на серверы SCO
Таким образом, масштабы использования пакетов интеграции для системы Directum ограничиваются интерфейсами пространства имен SBRte и фантазией разработчиков.
Подробную информацию о перечисленных компонентах SCO можно найти в библиотеке MSDN:
Например, у себя я сделал RunBook для автоматического создания замещений, который запускается из последовательности действий ServiceRequest в SCSM, с портала самообслуживания. Пользователи создают SR на замещение, а Оркестратор его создает. Администратор Директума в это время отдыхает.
Потому что прежде чем что-то начать делать с объектами СЭД, надо сначала к ней подключиться. Т.о. не вижу смысла использовать позднее связывание, если все равно работа начинается с использования прилинкованных объектов.
То же самое, что делаем после обновления любой системы: обновляем плагины к ней. :)
Дополнительно о том
Комментарий Microsoft: https://msdn.microsoft.com/ru-ru/library/0tcf61s1.aspx
Авторизуйтесь, чтобы написать комментарий