- PVSM.RU - https://www.pvsm.ru -
При автоматизации бизнес-процессов предприятия часть задач всё равно должен выполнять человек: это согласование различной информации, обогащение данных из аналоговых источников и многое другое. В интеграционной шине InterSystems Ensemble для решения данного класса задач есть подсистема Ensemble Workflow [1], позволяющая людям участвовать в автоматизированных бизнес-процессах. В результате работы подсистемы Ensemble Workflow накапливается большой объём информации о том кто и сколько выполнял поставленные задачи. В этой статье с использованием BI-технологии InterSystems DeepSee, про которую я недавно уже писал на Хабре [2] мы проанализируем и визуализируем эту информацию.
По умолчанию Ensemble предоставляет бизнес-метрики [3] и страницу Workflow-портала «Задания потока работ» (Management Portal → Ensemble → Manage → Workflow → Workflow Tasks или SMP → Ensemble → Управление → Поток работ → Задания потока работ) для высокоуровневого управления задачами:
Разве это не выглядит как таблица фактов для куба DeepSee? Это действительно так, поэтому я решил построить куб DeepSee [4] на основе класса EnsLib.Workflow.TaskResponse [5]:
В этом кубе я храню информацию о каждой задаче, а именно:
Большая часть элементов куба создана простым перетягиванием свойства класса на область куба, но вот наиболее интересные из них:
CompletionTime — время выполнения задачи в минутах. Вычисляется следующим образом: $System.SQL.DATEDIFF("minute",%source.%TaskStatus.TimeCreated,%source.%TaskStatus.TimeCompleted)
SQL-листинг определяется так ($$$SOURCE
— это таблица фактов, а $$$RESTRICT
— это фильтр применяемый DeepSee):
SELECT
TaskStatus_RoleName AS "Role",
TaskStatus_IsComplete AS IsCompleted,
%Status AS "Status",
TaskStatus_Source AS BusinessProcess,
TaskStatus_AssignedTo AS "User",
%Subject AS "Subject",
%Message AS "Message",
TaskStatus_TimeCreated AS "TimeCreated",
TaskStatus_TimeCompleted AS "TimeCompleted",
DATEDIFF('minute',
TaskStatus_TimeCreated,
TaskStatus_TimeCompleted) AS "CompletionTime"
FROM $$$SOURCE
WHERE $$$RESTRICT
Теперь давайте построим куб и несколько виджетов. Я решил построить одну инструментальную панель, демонстрирующую основные показатели:
Вот демо [6] дашборда (Логин: dev / Пароль: 123). Он отображается с помощью DeepSeeWeb [7] (веб-приложение на AngularJS и Highcharts для визуализации дашбордов DeepSee в браузере.
Также доступны детализация данных и сквозная детализация:
Вы можете выполнять задачи потока работ на тестовом сервере [8] с помощью приложения HelpDesk и видеть изменения на дашборде (куб строится один раз в час).
Логин: dev / Пароль: 123
Вот как выглядит Ensemble Workflow при использовании EnsembleWorkflowUI [1]:
Данные Ensemble Workflow можно визуализировать и анализировать с помощью BI-технологии InterSystems DeepSee. Это базовый проект OLAP решения, и его можно легко расширить по мере необходимости.
Автор: eduard93
Источник [12]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/intersystems/263492
Ссылки в тексте:
[1] Ensemble Workflow: https://habrahabr.ru/company/intersystems/blog/251611/
[2] уже писал на Хабре: https://habrahabr.ru/company/intersystems/blog/335586/
[3] бизнес-метрики: http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=EGWF_metrics
[4] куб DeepSee: https://github.com/intersystems-ru/EnsembleWorkflowBI/blob/master/Workflow/Cube.cls.xml
[5] EnsLib.Workflow.TaskResponse: http://docs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?PAGE=CLASS&LIBRARY=ENSLIB&CLASSNAME=EnsLib.Workflow.TaskResponse
[6] Вот демо: http://37.139.6.217:57772/dsw/index.html#!/d/Workflow/Workflow.dashboard?ns=ENSDEMO
[7] DeepSeeWeb: https://github.com/intersystems-ru/DeepSeeWeb
[8] на тестовом сервере: http://37.139.6.217:57772/ewui/index.csp#/tasks
[9] GitHub: https://github.com/intersystems-ru/EnsembleWorkflowBI
[10] Документация: http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=EGWF_overview
[11] Статья про Ensemble Workflow на Community: https://community.intersystems.com/post/ui-ensemble-workflow-angular
[12] Источник: https://habrahabr.ru/post/337262/
Нажмите здесь для печати.