Механизм управления потоками Windows Workflow Foundation. Часть 1Источник: bytemag Андрей Колесов
Интересная складывается ситуация: довольно долго при обсуждении возможностей будущей Windows Vista (которая тогда еще имела лишь кодовое обозначение Longhorn) речь шла главным образом о новой программной модели системы, которая тогда назвалась WinFX. По большому счету первое представление предварительной ознакомительной версии OC на PDC' 2003 прошло именно в таком ключе: "Longhorn - это WinFX". Но с выпуском в мае прошлого года публичной второй бета-версии Windows Vista тема технологического набора WinFX, который как раз тогда получил официальное название .NET Framework 3.0, ушла в тень более широких обсуждений Windows с точки зрения работы пользователей (включая, конечно, и важные вопросы настройки и администрирования ОС). Ситуация не изменилась и сегодня, спустя три месяца после начала продаж Vista. И это вполне понятно: на данном этапе перед Microsoft и заказчиками стоит задача практического внедрения системы на пользовательском уровне. Впрочем, нет сомнений, что в ближайшее время актуальность базовых программных инноваций Windows Vista опять будет быстро расти. В этом плане можно выделить два аспекта. Во-первых, использование фундаментальных новшеств будет все сильнее востребовано на уровне клиентских приложений - как тиражных продуктов, так и заказных решений. Во-вторых, сейчас начнется активный период подготовки к выпуску финальной версии Windows Server Longhorn, для которой возможности разработки весьма приоритетны. В этой статье мы хотим вкратце познакомить читателей с одним из компонентов .NET Framework 3.0 - Windows Workflow Foundation (WF)*. По нашим наблюдениям, WF пока не стал объектом внимательного изучения ИТ-специалистами и разработчиками. Одна из причин этого в том, что данный программный компонент появился в составе .NET Framework 3.0 уже ближе к выпуску Vista (кажется, это было в августе 2005 г.). При этом в плане маркетингового продвижения этот продукт в силу его специфичности явно оставлен корпорацией Microsoft "на потом" (отметим, что технология управления идентификацией CardSpace появилась в .NET Framework 3.0 почти в самый последний момент, но учитывая актуальность вопросов безопасности, Microsoft прилагает большие усилия к ее популяризации). *Microsoft сознательно использует сокращение WinWF или просто WF, а не WWF, чтобы его не путали с известной аббревиатурой World Wide Fund (Всемирный фонд охраны дикой природы). Тем не менее WF - это интересно и перспективно, причем вовсе не в каком-то отдаленном будущем. Разумеется, речь не идет о том, что внутренний механизм Vista в своем нынешнем варианте может конкурировать с промышленными workflow-системами. Но тут нужно иметь в виду следующие обстоятельства. 1. Даже в таком начальном, клиентском, варианте (а в его развитии не стоит сомневаться) WinWF представляет реальный интерес для заказчиков и независимых разработчиков. И ряд российских софтверных вендоров уже начали включать его в свои продукты. 2. Наверняка наиболее интересный вариант применения WF связан с использованием Windows Server, а Longhorn появится уже скоро (на рубеже 2007-08 гг.). 3. WF появился не на пустом месте. На самом деле в нем легко увидеть базовые технологии BizTalk Server. В то же время важен сам прецедент переноса, пусть и в упрощенном варианте, на массовую платформу механизма управления потоками работ (управления бизнес-процессами). Это должно способствовать расширению сферы применения таких технологий и методов организации прикладных решений, в том числе и ускорению продвижения профессиональных workflow-инструментов. 4. В плане перспектив WF, наверное, стоит провести аналогию c SharePoint: встроенные технологии Windows SharePoint Services тоже появились в составе ОС относительно недавно и поначалу были встречены рынком с определенной осторожностью. Закончив на этом вступление, посмотрим, что же представляет собой Windows Workflow Foundation. Но прежде отметим, что .NET Framework 3.0 доступен в составе не только Windows Vista, но и Windows XP.
Общие принципыСогласно определению Microsoft , Windows Workflow Foundation предоставляет собой программную модель, ядро выполнения и инструменты для быстрой разработки приложений, поддерживающих бизнес-процессы, в ОС Windows нового поколения. WF поддерживает как системные, так и пользовательские процессы, в том числе специальные приложения, потоки страниц интерфейса пользователя, документооборот, составные рабочие процессы для ориентированных на службы приложений, рабочий процесс на основе бизнес-правил и рабочий процесс для управления системами. В WF входят графические средства разработки, которые позволяют создавать приложения, поддерживающие бизнес-процессы, с использованием императивного кода и декларативных правил. При этом поддержка бизнес-процессов реализована на уровне базовой платформы разработки, благодаря чему можно создавать приложения, моделирующие постоянно изменяющиеся бизнес-процессы и легко адаптирующиеся к этим изменениям. WF - это набор элементарных блоков, называемых "активностями" (activities), которые хранятся в виде моделей, описывающих реальные процессы. На основе моделей механизм workflow выполняет заданную последовательность активностей, реализуемых людьми или программными функциями. Каждый запускаемый экземпляр workflow создается и управляется как внутренний процесс (in-process) механизма исполнения (workflow runtime engine, WRE). В пределах одного домена приложения может быть запущено несколько WRE, т. е. поддерживаются несколько параллельных экземпляров workflow. |