Byte/RE ИТ-издание

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, что позволяет работать в режиме «смоделировал — запускай», без компиляции кода и переустановки приложения.

Вам также могут понравиться