320 likes | 557 Views
Управление потоками работ в InterSystems Ensemble. Федоров Вадим «Школа Инноваций InterSystems 2007». План. Определение управления потоками работ ( workflow ). Возможности Ensemble workflow. Архитектура Ensemble workflow. Расширение Ensemble workflow. План.
E N D
Управление потоками работ в 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 • Группа пользователей, которые выполняют определенные типы задач.
План Определение управления потоками работ (workflow) Возможности Ensemble workflow Архитектура Ensemble workflow Расширение Ensemble workflow
Подсистема управления потоками работ Ensemble • Подсистема управления потоками работ в Ensemble позволяет: • Автоматизировать управление потоками работ • Гибко настраивать распределение работ • Работать с подсистемой управления потоками работ через специализированный Workflow-портал • Автоматически интегрироваться с хранилищем Ensemble, подсистемой мониторинга бизнес активности Ensemble, утилитами управления и мониторинга Ensemble • Организовать взаимодействие подсистемы управления потоками работ с интеграционными бизнес процессами Ensemble • Легко настраивать и расширять функционал подсистемы Workflow
План Определение управления потоками работ (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»
Создание задач • Для создания задачи в Ensemble Workflow и получения ответа служат специальные классы сообщений: 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. WF Engine
Создание ролей Workflow • Для создания ролей Workflow служат Workflow бизнес операции • Для каждой роли • Добавить в production бизнес операцию EnsLib.Workflow.Operation • Проверить, что она называется также как в бизнес процессе • Сконфигурировать FailureTimeout и RetryInterval • Включить или отключить AutoCreate Role
Создание пользователей 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.*) предоставляют удобные объектные и реляционные интерфейсы для работы с EnsembleWorkflow. • Примеры методов: • [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»