workflow

advertisement
Управление потоками работ в InterSystems Ensemble
Федоров Вадим
«Школа Инноваций InterSystems 2007»
План
Определение управления потоками работ (workflow)
Возможности Ensemble workflow
Архитектура Ensemble workflow
Расширение Ensemble workflow
План
Определение управления потоками работ (workflow)
Возможности Ensemble workflow
Архитектура Ensemble workflow
Расширение Ensemble workflow
Управление потоками работ в Ensemble
Потоки работ (Workflow) - это автоматизация
бизнес процесса, полностью или частично, в
рамках которой документы, информация или
задачи передаются от одного участника к
другому, в соответствии с набором
процедурных правил.
Workflow Management Coalition (www.WfMC.org)
Основные элементы workflow
• Задача workflow
– «Фрагмент» работы
• Поток работ
– Процедурные правила выполнения задач
• Пользователь workflow
– Человек, выполняющий задачи в системе
управления потоками работ
• Роль workflow
– Группа пользователей, которые выполняют
определенные типы задач.
Task
Approve 
План
Определение управления потоками работ (workflow)
Возможности Ensemble workflow
Архитектура Ensemble workflow
Расширение Ensemble workflow
Подсистема управления потоками работ Ensemble
• Подсистема управления потоками работ в Ensemble позволяет:
– Автоматизировать управление потоками работ
– Гибко настраивать распределение работ
– Работать с подсистемой управления потоками работ через
специализированный Workflow-портал
– Автоматически интегрироваться с хранилищем Ensemble,
подсистемой мониторинга бизнес активности Ensemble, утилитами
управления и мониторинга Ensemble
– Организовать взаимодействие подсистемы управления потоками
работ с интеграционными бизнес процессами Ensemble
– Легко настраивать и расширять функционал подсистемы Workflow
Управление потоками работ в Ensemble
План
Определение управления потоками работ (workflow)
Возможности Ensemble workflow
Архитектура Ensemble workflow
Расширение Ensemble workflow
Реализация системы Workflow
• Создайте бизнес-процесс
• Сконфигурировать задачи как специальные сообщения
Ensemble
• Сконфигурируйте роли как бизнес-операции
• Создайте бизнес-метрики и инструментальные панели
для мониторинга бизнес-активности
• Сконфигурируйте роли и пользователей Workflow
• Оттестируйте Workflow
Создание бизнес-процесса Workflow
•
•
•
•
•
Определите последовательность обращений к подсистеме workflow
Каждый вызов – задача для пользователей
Определите стратегию распределения задач среди пользователей
Определите роли, которые будут выполнять задачи
Создайте стандартные сообщения Ensemble для вызова бизнес процесса
подсистемы Workflow
• Создайте бизнес процесс
• Для вызова каждой задачи добавьте элемент «Call»
– «Call» будет асинхронно вызывать workflow бизнес операцию
– Каждый элемент «Call» соответствует роли workflow
– В каждом элементе «Call» нужно прописать корректный task request object
– Для элементов «Call» нужно добавить элементы «Sync»
Создание бизнес процесса Workflow
Property
Value
Async
true
Target
Sales
Request
EnsLib.Workflow.TaskRequest
Response EnsLib.Workflow.TaskResponse
Property
Value
Calls
‘Submit for review’
Timeout
Пример бизнес процесса Workflow
Создание задач
• Для создания задачи в Ensemble Workflow и
получения ответа служат специальные классы
сообщений: EnsLib.Workflow.TaskRequest и
EnsLib.Workflow.TaskResponse
• Можно использовать стандартные классы, можно
создавать свои классы – наследники
EnsLib.Workflow.TaskRequest и
EnsLib.Workflow.TaskResponse
EnsLib.Workflow.TaskRequest
EnsLib.Workflow.TaskResponse
Распределение задач
• Когда Workflow Engine получает задачу для пользователей
(сообщение типа EnsLib.Workflow.TaskRequest), автоматически
создается сообщение типа EnsLib.Workflow.TaskResponse и
срабатывает метод %OnNewTask этого сообщения
• При этом, по умолчанию, используются следующие стратегии
распределения задач (в порядке применения):
– По имени пользователя (Если передается
TaskRequest.%UserName)
– По должности пользователей роли (Если передается
TaskRequest.%Title)
– Всем пользователям роли
Настройка распределения задач
•
•
Для реализации собственной стратегии распределения
задач унаследуйте класс от EnsLib.Workflow.TaskResponse и
переопределите метод OnNewTask
Укажите в EnsLib.Workflow.TaskRequest, какой класс ответа
использовать.
–
Присвойте свойству %TaskHandler класса
EnsLib.Workflow.TaskRequest значение – новый класс,
наследник EnsLib.Workflow.TaskResponse
ИЛИ
–
Создайте наследник класса
EnsLib.Workflow.TaskRequest и укажите в параметре
RESPONSECLASSNAME класс-наследник
EnsLib.Workflow.TaskResponse.
Custo
mer
Disco
unt
Bill
WF Engine
Создание ролей Workflow
• Для создания ролей Workflow служат Workflow
бизнес операции
• Для каждой роли
– Добавить в production бизнес операцию
EnsLib.Workflow.Operation
– Проверить, что она называется также как в
бизнес процессе
– Сконфигурировать FailureTimeout и RetryInterval
– Включить или отключить
AutoCreate Role
Создание ролей Workflow
Создание пользователей Workflow
• Пользователей
Workflow необходимо
заводить в
Workflow-портале и
портале управления
Caché
Workflow и мониторинг бизнесактивности
• Ensemble предоставляет набор методов, которые могут быть использованы в
бизнес-метрике для получения статистики по работе пользователей
• Примеры методов
– Set ..Active=##class(EnsLib.Workflow.Engine).BamActiveTasks(Role)
– Set ..Done=##class(EnsLib.Workflow.Engine).BamCompletedTasks(Role)
• Статистику Workflow легко отобразить на инструментальных панелях:
Портал Workflow
• Для управления потоками
работ, определения
пользователей и ролей,
администрирования workflow и
работы пользователей с
задачами
в составе Ensemble
поставляется портал Workflow
• При разработке портала
использована технология
Caché Server Pages
План
Определение управления потоками работ (workflow)
Возможности Ensemble workflow
Архитектура Ensemble workflow
Расширение Ensemble workflow
Расширение функционала Workflow
• Разработка собственных классов Workflow –
наследников стандартных классов
• Доработка стандартного пользовательского интерфейса
• Разработка собственного пользовательского
интерфейса Workflow
Расширение функционала Workflow
• Разработка собственных классов Workflow –
наследников стандартных классов:
– Добавление дополнительных свойств
• Например, информации о документах, которые
передаются от пользователя к пользователю
– Разработка специализированных стратегий
распределение задач между пользователями
Расширение функционала Workflow
• Доработка стандартного пользовательского интерфейса
– Использование свойств задач
(EnsLib.Workflow.TaskRequest) для создания и
отображения новых CSP-страниц
– Усовершенствование стандартного портала
Workflow
Расширение функционала Workflow
• Свойства класса EnsLib.Workflow.TaskRequest позволяют сгенерировать
страницу для работы пользователя с задачей:
– Actions
– FormFields, FormValues
• При необходимости можно создать свою страницу для редактирования задачи
и прописать её в свойстве FormTemplate класса EnsLib.Workflow.TaskRequest
Расширение функционала Workflow
• Доработка стандартного пользовательского интерфейса
– Усовершенствование стандартного портала
Workflow
• Изменение страниц, стилей
• Добавление новых страниц и т.д.
Расширение функционала Workflow
• Разработка собственного пользовательского интерфейса Workflow на
CSP, .Net, Java и любых других технологиях разработки приложений
– Классы Workflow (EnsLib.Workflow.*) предоставляют удобные
объектные и реляционные интерфейсы для работы с Ensemble
Workflow.
• Примеры методов:
– [EnsLib.Workflow.Engine].AssignTask(pTask, pUser, …)
– [EnsLib.Workflow.Engine].CompleteTask(pTask, pAction)
• Примеры запросов классов:
– ListUsersForRole()
– Tasklist()
Управление потоками работ в Ensemble
• Простая и эффективная автоматизация
потоков работ
• Использование при автоматизации потоков работ
возможностей InterSystems Ensemble
• Возможность расширения функционала
подсистемы управления потоками работ
InterSystems Ensemble
Спасибо за внимание! Вопросы?
Вадим Федоров (vadim.fedorov@intersystems.ru)
«Школа Инноваций InterSystems 2007»
Download