Автоматизация не была бы автоматизацией, если бы система не умела самостоятельно выполнять определенные действия (отправлять письма, вычислять значения полей и т.д.) при наступлении различных событий (изменение значения поля, окончание срока решения, сохранение объекта и т.д.).
В HP OpenView Service Desk вся бизнес-логика размещалась в двух разделах: User Interface Rules и Database Rules. Отвечающих, соответственно, за обработку событий, происходящих в интерфейсе пользователя и в базе данных системы.
OMNITRACKER предлагает гораздо более широкий спектр возможностей, что с одной стороны позволяет реализовать более сложные алгоритмы обработки, но с другой стороны в ряде случаев требует более детального проектирования создаваемого решения.
Для того чтобы понять все возможности OMNITRACKER, необходимо знать какие области бизнес-логики бывают:
- События на формах (формы объектов и глобальные формы)
- Правила для объектов
- Правила для workflow
- Эскалации
- Автокалькуляции
- Скрипты для обработки входящих сообщений
- Скрипты для обработки входящих звонков
При этом в зависимости от области доступны различные действия, выполняемые в рамках правил бизнес-логики. Например, для правил объектов и Workflow доступны:
- Изменение объекта
- Отправка уведомлений по электронной почте
- Отправка уведомлений через встроенный механизм уведомлений
- Выполнение команды операционной системы
- Выполнение скрипта VBSCRIPT
- Передача данных на мобильный клиент
- Вызов COM компонента
Далее мы рассмотрим все области по порядку.
События на формах
Позволяют автоматизировать процесс обработки данных в момент работы с ними. Форма типового объекта в OMNITRACKER содержит большое количество компонентов (таблицы, поля для ввода данных, кнопки, подписи и т.д.). Каждый компонент является экземпляром объекта определенного типа. При этом для каждого объекта (как и в любой другой объектно-ориентированной среде) определены свойства, методы и события. Различные объекты реагируют на различные события. Например, кнопка реагирует на нажатие, а поле для ввода реагирует на изменение значения.
Реакцией на эти события может быть запуск предопределенного действия, либо VBScript, который может выполнить все, что вам придет в голову: обновить значение поля, изменить связанный объект, проверить корректность введенных данных, даже нарисовать диаграмму связей объектов. Такой подход позволяет снять ограничения, которые были у правил интерфейса пользователя в HP OV SD. Так как обработка событий не ограничена возможностями мастера построения правил, а ограничивается только возможностями vbscript, можно реализовать гораздо более сложные сценарии обработки (анализ связанных объектов, вычисление значений полей на основании справочников и т.д.)
Правила для объектов (Actions)
Позволяют автоматизировать обработку событий, выполняемых на сервере приложений. События делятся на две группы: After и Before, соответственно срабатывают они либо до выполнения определенного действия, либо после. Вот полный перечень событий:
- After copy
- After creation
- After modification
- After deletion
- Before copy
- Before creation
- Before modification
- Before deletion
При запуске каждого события проверяются условия в соответствии с заданным правилом (Rule) и затем запускается действие (Action). Перечень возможных действий:
- Изменение объекта
- Отправка уведомлений по электронной почте
- Выполнение команды операционной системы
- Выполнение скрипта VBSCRIPT
- Передача данных на мобильный клиент
- Вызов COM компонента
Отличие от системы HP OV SD и её правил базы данных (Database rules) очень существенные:
- В HP OV SD вы были ограничены возможностями конструктора правил в части анализа данных. Практически невозможно было осуществить анализ данных связанных объектов, невозможно было осуществить сложный анализ данных (например, проверить, что назначаемый ответственным сотрудник уже занят другими работами).
- В OMNITRACKER при составлении правила, вы можете оперировать и старым, и новым значением поля, что было невозможно в HP OV SD и приводило к необходимости реализации обходных решений.
- В HP OV SD выполняемые действия в рамках правила также были ограничены, и при необходимости выполнения сложных операций с объектами приходилось строить сложные внешние механизмы (например, попробуйте изменить в правиле объект, не привязанный к текущему).
- В OMNITRACKER вы ограничены только возможностями VBScript. Все данные об объекте, связанных объектах и любых других данных доступны через объектную модель OMNITRACKER. Соответственно и корректировка объектов доступна без ограничений.
Но при этом в большом количестве случаев вы можете обойтись без программирования. Например, если речь идет о модификации полей объекта или отправке письма.