DocsVision: опыт применения Microsoft Windows Workflow Foundation
В новой версии системы управления документами и бизнес-процессами DocsVision выделен особый слой, реализующий спецификации Microsoft Windows WorkFlow Foundation.
Компания DocsVision (www.docsvision.ru) объявила об использовании платформы Windows WorkFlow Foundation (выпущенной Microsoft в 2006 г. как часть .NET FrameWork 3.0) в новой, четвертой версии своего продукта — системы управления документами и бизнес-процессами DocsVision. Чем это вызвано и какие тенденции в развитии систем управления бизнес-процессами отражает?
Автоматизация управления бизнес-процессами, в том числе пересекающими границы подразделений, организаций и приложений, реализующих отдельные функции предприятия, — эта тема становится все более актуальной.
Сосуществование двух терминологий в этой области — традиционной комплексной советско-российской (документооборот и контроль исполнения) и «классической» западной, разбивающей эти комплексы на функциональные блоки (Content Management, Records Management, WorkFlow Management, Business Process Mamagement) не способствует общему пониманию задач и хотя бы классификации систем. А ведь бизнес-процессы и workflow — это исходно разные вещи. Бизнес-процессы — это в первую очередь модели управления предприятием в подходе процессного управления. Об автоматизации тут речи нет вообще.
Посмотрим, как определяются эти понятия в Wikipedia.
Бизнес-процесс — это набор взаимосвязанных заданий, решающий определенную проблему. Существует три типа бизнес-процессов: управляющие, операционные и вспомогательные.
Управляющие процессы — это процессы, управляющие действиями системы. Примеры типичных управляющих процессов — «Корпоративное управление» или «Стратегический менеджмент».
Операционные процессы — это процессы создания основной добавленной стоимости на предприятии, они составляют часть основного бизнеса предприятия. Типичные операционные процессы — «Закупки», «Производство», «Маркетинг» и «Продажи».
Вспомогательные процессы поддерживают операционные. В качестве примеров можно назвать «Бухгалтерский учет», «Управление персоналом», «ИТ-поддержку».
Само появление термина «бизнес-процесс» относят к 1776 г. и связывают с именем Адама Смита.
Workflow (цепочка работ) — это повторяемый набор действий (activities), превращаемый систематической организацией ресурсов, определенным набором ролей, а также потоками материалов, энергии и информации в рабочий процесс, который может быть документирован и изучен. Цепочки работ создаются, чтобы достичь некоторых операционных целей, таких, как физическое преобразование материала, предоставление сервиса или преобразование информации.
Появление термина «цепочка работ» относят к 1919 г. и связывают с именами Тэйлора и Гантта.
Управленцы, говоря о бизнес-процессе, чаще имеют в виду некое описание действий участников, нормализованное или нет, оптимизированное по целям предприятия или нет. И в этой области важна в первую очередь предметная сторона вопроса — достижение целей предприятия через цели процессов и ответственность их владельцев и оптимизация достижения целей с точки зрения расхода ресурсов, в первую очередь времени и денег.
А вот workflow — вещь гораздо более техническая, это модель определенного процесса, в которой в первую очередь важно, из каких активностей (действий) участников (не только людей, но и оборудования, приложений, инфраструктуры) могут составляться цепочки и как контролировать все возможные одновременно экземпляры каждой такой цепочки при ограничениях на вычислительные ресурсы и дезинтеграции активностей, входящих в один процесс, но фиксирующихся в разных приложениях информационной системы предприятия.
Такое различие в восприятии бизнес-процесса и workflow между управленцами и автоматизаторами объективно и неизбежно. Однако для платформы автоматизации бизнес-процесса это означает поддержку двух групп пользователей с разными задачами и разным отношением к деловой ценности каждого процесса.
Есть и другая тенденция. Ключевая компетенция любого разработчика бизнес-приложений — опыт автоматизации конкретного участка управления предприятием. Например, для разработчика платформы управления документами и бизнес-процессами ключевая компетенция лежит в таких областях, как документоведение, организация обработки информации, управление в рамках рабочей группы, коммуникации между участниками процесса, управление правами доступа к документам и заданиям бизнес-процессов, шаблоны бизнес-процессов, типовые задания бизнес-процесса и т. п.
В то же время для создания надежной производительной системы, совместимой с новейшими системными платформами, необходима компетенция в области баз и хранилищ данных, распределенных вычислительных систем, служб каталогов, технологий аутентификации, шифрования данных, электронной цифровой подписи и т. п. В случае Microsoft стратегия развития платформы и средств разработки состоит в переносе такой типовой системной функциональности в базовую платформу с возможностью их использования через средства разработки (Visual Studio).
Разработчик прикладной системы (в нашем случае системы документооборота), оставляя в своем продукте типовую системную функциональность и средства ее использования при настройке продукта, технически конкурирует с Microsoft и неизбежно в этой конкуренции проигрывает. Правильнее для него будет освобождаться от «непрофильных» задач, включая в свой продукт поддержку функционального слоя базовой платформы.
Эти обстоятельства — наличие объективно разных групп пользователей системы, решающих разные задачи, а также появление в системной платформе уровня «фундаментального» слоя — показались нам достаточными для выделения в системе DocsVision слоя, реализующего спецификации Windows WF.
Технология Windows WF
В «BYTE/Россия» №5’2007 была опубликована статья «Механизм управления потоками Windows Foundation», в которой подробно и на примерах рассказывалось о Windows WF как о средстве разработки. Здесь мы кратко охорактеризуем эту технологию с точки зрения разработчиков прикладной платформы.
Технология Windows Workflow Foundation была анонсирована Microsoft в сентябре 2004 г. как «движок» для процессов, модель для программирования и набор инструментов для разработчиков, позволяющий быстро создавать приложения с функциями управления процессами. Windows Workflow Foundation — это набор действий (activities), координирующих исполнителей заданий с приложениями и другими программными компонентами корпоративных информационных систем, а также набор библиотек .NET 3.0, реализующих базовые интерфейсы среды исполнения (Runtime) процесса, «собранного» из этих действий. Среда исполнения процесса обеспечивает:
- последовательность выполнения activities;
- нотификацию, обработку событий, запуск и остановку процесса;
- инфраструктуру для временного хранения окружения процесса.
Как говорилось в одном из пресс-релизов Microsoft, появление Windows Workflow Foundation дало новое содержание процессному программированию, перенеся его в ведущую платформу разработки и поддерживая процессы, касающиеся людей и систем в клиентских и серверных сценариях. Осенью 2006 г. Windows WF стал доступен в релизе.
Windows Workflow Foundation — самодостаточный продукт для разработки программ с функциональностью управления процессами, однако для создания законченного решения ему не хватает многих компонентов и функций инфраструктуры, а именно:
- серверов, которые собственно выполняют экземпляры отдельных процессов;
- средств журналирования бизнес-процессов и базы данных, накапливающей информацию о ходе их выполнения;
- средств визуального мониторинга исполнения бизнес-процессов;
- клиентской инфраструктуры workflow (задания, очереди заданий, подсистемы нотификации исполнителей и т. п.);
- средств построения отчетов о ходе исполнения процессов;
- средств моделирования бизнес-процессов;
- интеграции подсистемы управления бизнес-процессами и средств управления документами.
В свою очередь подсистема DocsVision «Управление процессами» содержит все перечисленное плюс набор функций, специфичный для работы с документами и автоматизации функций исполнителей — заданий на исполнение действий, на исполнение документов и т. п.
Особенность системы DocsVision как продукта — его тесная интеграция с технологиями Microsoft. Архитектурно DocsVision представляет собой платформу, что тоже важно для понимания причин нашего интереса к Windows WF.
Платформа DocsVision
DocsVision как прикладная платформа состоит из трех главных компонентов — интерфейса пользователя (SMART-клиент) и двух подсистем — управления документами и управления процессами (рис. 1). Ядро системы собственно и есть наш продукт. Решения для пользователя создаются либо путем настройки подсистем управления документами и бизнес-процессами, либо путем создания специализированных приложений для определенных типов документов и бизнес-процессов. Архитектурой также предусмотрен интерфейс для подключения шлюза к любой внешней системе. Такие шлюзы могут разрабатываться любой компанией по открытой спецификации DocsVision. Шлюз должен стандартным способом обеспечивать контроль за созданием, удалением и изменением атрибутов, а также маршрутизацию объектов внешней системы.
В системе имеются средства настройки и разработки — редактор карточек документов и процессов, редактор процессов и SDK, включающий спецификации API для доступа к функциям и объектам системы из программы пользователя.
Какие сценарии мы считали основными для использования новой архитектуры с поддержкой Windows WF? Это, во-первых, разработка низкоуровневых активностей в бизнес-процессах (в версии 3.6 она выполняется путем написания скриптов вручную). Во-вторых, это расширение состава активностей DocsVision за счет активностей сторонних разработчиков (например, использование в конкретном решении шлюза к бизнес-приложению, написанного в спецификациях Windows WF). И наконец, использование подсистемы управления процессами DocsVision в качестве инфраструктуры исполнения процессов, разработанных в спецификациях Windows WF.
Нужно было также обеспечить миграцию решений, разработанных партнерами на базе версии 3.6, в новую систему, в том числе сохранить для бизнес-аналитиков и консультантов привычный для них инструмент дизайнера бизнес-процессов DocsVision.
Выделение в системе слоя поддержки Windows WF означало поддержку одновременно двух сущностей — бизнес-процесса и цепочки workflow с полной интеграцией между ними, в частности, с возможностью включать процессы Windows WF в бизнес-процессы DocsVision в качестве активностей и наоборот — вставлять в процессы Windows WF обращения к бизнес-процессам и активностям DocsVision.
В системе сохранились «старый» конструктор бизнес-процессов и инфраструктура их исполнения, но они тесно интегрированы с новыми в обоих направлениях. В этом разработчики DocsVision видят решение задачи обеспечения адекватными инструментами обеих ключевых групп пользователей.
Для версии 4.0 (будет доступна клиентам с осени 2007 г., впервые будет представлена на выставке Documation 2007) была создана новая подсистема управления бизнес-процессами. Архитектура продукта существенно изменилась: кроме «верхнего» слоя визуальной разработки бизнес-процессов (рис. 2), который поддерживался и в предыдущих версиях системы, появился «нижний» слой для реализации процессов Windows WF (рис. 3).
В дальнейших версиях системы верхний уровень разработки процессов будет развиваться в сторону усиления функций моделирования бизнес-процессов и будет полностью доступен специалисту предметной области, а нижний, на базе редактора Windows WF, будет ориентирован на технического специалиста, владеющего библиотекой Windows WF и Windows WorkFlow Designer*.
На верхнем уровне будут разрабатываться:
- общая схема процесса;
- задания для исполнителей, в том числе обработка документов в DocsVision;
- укрупненное описание сложной бизнес-логики, включая инициализацию подпроцессов Windows WF.
На нижнем уровне для реализации определенных на верхнем уровне нестандартных операций доступны:
- Windows Workflow Designer;
- низкоуровневые функции — WF Activities и специальные функции DocsVision Workflow;
- возможность использования Visual Studio для программного расширения набора низкоуровневых функций;
- инфраструктура готовых компонентов (activities) и интеграционных модулей как от Microsoft, так и от третьих фирм.
Компания Microsoft объявила о появлении в скором будущем набора WWF-компонентов для поддержки интерфейса BPEL, с помощью которых можно будет реализовать в DocsVision взаимодействие с другими BPEL-совместимыми системами управления бизнес-процессами.
На «нижнем» уровне можно будет также создавать бизнес-процессы, переносимые между различными системами workflow, построенными на безе стандарта WF. В дальнейшем планируется развитие компонентов нижнего уровня — расширение номенклатуры готовых модулей и шлюзов взаимодействия с другими прикладными системами, обогащение инструментария.
Кроме новых средств разработки бизнес-процессов в DocsVision версии 4.0 сохраняется вся необходимая инфраструктура, которая была и в версии 3.6, а именно:
- средства создания шаблонов процессов;
- хранилище оперативной и исторической информации о процессах;
- сервер обработки процессов;
- клиентская инфраструктура;
- персональные очереди заданий;
- доступ к ручным функциям;
- инфраструктура хранения переменных процесса;
- подсистема отчетов об исполнении процессов;
- дополнительный набор функций для работы с заданиями, документами, карточками DocsVision, электронными формами;
- средства онлайн-мониторинга и отладки бизнес-процессов.
Доработки и изменения
При переносе подсистемы управления процессами DocsVision на Windows WF разработчикам пришлось практически полностью переписать сервер управления бизнес-процессами DocsVision и создать дополнительные компоненты, обеспечивающие использование Windows WF Activities и интерфейса настройки Windows WF, а также возможность онлайнового мониторинга выполнения процессов, остановки-запуска процесса и динамической модификации его структуры по ходу исполнения. Эти компоненты необходимы для превращения Windows WF в полнофункциональную workflow-систему, соответствующую эталонной модели Workflow Management Coalition (WfMC).
Нужно сказать, что задача эта оказалась отнюдь не тривиальной. Особенно сложно было обеспечить полнофункциональный доступ к программному расширению стандартных бизнес-процессов, созданных с помощью дизайнера Windows WF, не прибегая к Microsoft Visual Studio. Без возможности программного расширения функциональность системы на базе Windows WF существенно ухудшается, а использование Visual Studio в качестве инструментария заметно усложняет процесс разработки и интерфейс, что требует большей квалификации от разработчика. Так как программные расширения WorkFlow, как правило, сводятся к несложным сценариям обработки событий в процессе, возможность редактирования кода «по месту» крайне желательна. Все это потребовало реализации средств редактирования и разбора кода непосредственно в модуле моделирования бизнес-процессов DocsVision. Для этого понадобился собственный редактор и анализатор кода C#.
Результаты
Реализация Windows Workflow Foundation в платформе DocsVision, по задумке разработчиков, принесет ряд перимуществ пользователям системы и партнерам-интеграторам. Открытие платформы DocsVision позволяет применять Activities в решениях на ее основе, а это, учитывая предсказываемый многими аналитиками широкий рынок, открывает новые возможности для партнеров по разработке решений. Это также дает возможность использовать интеграционное ПО к распространенным на рынке ERP-системам для включения в бизнес-процессы, исполняемые DocsVision, и наоборот, использовать DocsVision как расширение Windows Workflow Foundation для разработчиков приложений (обратная задача). И наконец, это обеспечивает поддержку стандарта BPEL на уровне разработки бизнес-процессов.
Из перспектив развития проекта отметим следующие:
- объединение стадий бизнес-моделирования и автоматизации бизнес-процессов;
- мощный полнофункциональный модуль workflow для Microsoft Office SharePoint Server 2007;
- масштабирование разработки процессов с помощью Microsoft Visual Studio;
- прозрачная интеграция с промышленными EDI- и SOA-системами за счет стандартных компонентов WWF и компонентов, поставляемых производителями прикладных систем;
- возможность создавать типовые переносимые и даже тиражируемые процессы.
Подчеркнем, что принципиальная особенность модели продаж компании DocsVision — отказ от прямых продаж и нацеленность на развитие партнеров, расширение их рынка и снижение их рисков. Партнеры, строящие на нашей платформе свои решения, получат новый мощный инструмент для создания решений с использованием наших примитивов, Activities Windows WF, а также компонентов других разработчиков. Поддержка BPEL открывает пути интеграции с другими системами, а поддержка стандарта описания бизнес-процессов (XOML) — возможность переноса и тиражирования бизнес-процессов, созданных для платформы DocsVision, на другие платформы, сохранение инвестиций интегратора, расширение его клиентской базы.
Все эти преимущества, во-первых, улучшат надежность и производительность платформы, синхронизируют ее развитие с новыми технологиями, которые создает Microsoft для этого класса систем. А во-вторых, расширится ассортимент решений, поставляемых партнерами, увеличатся их мощность, интегрируемость и функциональная полнота.
* Windows WorkFlow Designer встроен в DocsVision, что позволяет работать в режиме «смоделировал — запускай», без компиляции кода и переустановки приложения.