Приложение Д Матрица технологий рабочего процесса Обзор Данное приложение поможет понять, на какие компромиссы придется пойти при выборе технологии рабочего процесса и как выбор конкретной технологии повлияет на дизайн. Приведенные здесь рекомендации будут полезны при выборе технологии рабочего процесса для конкретного сценария и типа приложения. Выбор технологии зависит от типа разрабатываемого рабочего процесса. В разделе Обзор технологий рабочего процесса рассматриваются существующие технологии рабочего процесса. Раздел Преимущества и недостатки расскажет обо всех представленных на рынке технологиях рабочего процесса. Раздел Общие сценарии и решения позволит сопоставить сценарий создаваемого приложения с общепринятыми решениями для технологий рабочего процесса. Обзор технологий рабочего процесса Платформа Microsoft поддерживает следующие технологии рабочего процесса: Windows Workflow Foundation (WF). WF является основополагающей технологией реализации рабочего процесса. Являясь инструментарием для профессиональных разработчиков и независимых поставщиков программных продуктов (Independent Software Vendor, ISV), которые создают последовательные рабочие процессы или рабочие процессы на основе конечных автоматов, WF поддерживает следующие типы рабочих процессов: Sequential (Последовательный), State-Machine (На основе конечных автоматов), Data Driven (Управляемый данными) и Custom (Пользовательский). Рабочие процессы могут создаваться с помощью Windows Workflow Designer (Дизайнер рабочих процессов) в Visual Studio. Workflow Services. Workflow Services интегрирует WCF с WF для обеспечения сервисов на базе WCF для рабочего процесса. Начиная с Microsoft .NET Framework 3.5, WCF расширен поддержкой рабочих процессов, представленных как сервисы, а также возможностью вызывать сервисы из рабочих процессов. Расширение WCF также позволило вызывать сервисы из рабочих процессов. Кроме того, в состав Visual Studio 2008 включены новые шаблоны и инструменты, поддерживающие сервисы рабочих процессов. Microsoft Office SharePoint Services (MOSS). MOSS — это платформа управления содержимым и координации совместной деятельности с поддержкой рабочих процессов на базе WF. MOSS предлагает решение для реализации бизнес-процессов и координации совместной деятельности в контексте сервера SharePoint. Рабочие процессы для визирования документов можно создавать непосредственно в интерфейсе MOSS. Кроме того, можно создавать рабочие процессы с помощью SharePoint Designer или Windows Workflow Designer в Visual Studio. Для реализации сложных рабочих процессов может использоваться объектная модель WF в Visual Studio. Microsoft BizTalk Server. BizTalk обладает собственным механизмом реализации рабочих процессов, ориентированным на оркестровку, например, корпоративную интеграцию с рабочими процессами уровня системы. Следующая версия BizTalk, возможно, будет использовать WF, а также XLANG (расширение языка описания Вебсервисов (Web Service Definition Language, WSDL) для моделирования оркестровки и координации совместной деятельности сервисов), которая применяется в качестве текущей технологии оркестровки в BizTalk. Использование BizTalk Orchestration Services позволяет определять общий дизайн и поток длительных слабосвязанных бизнеспроцессов внутри приложений и между ними. Пользовательский и системный рабочий процесс Термин рабочий процесс применяется для обозначения двух основных типов процессов: Пользовательский рабочий процесс. Этот тип рабочего процесса предполагает участие пользователей и подразделяется на несколько состояний и событий. Переход от одного состояния к другому осуществляется на основании условной оценки событий, которые возникают. Рабочий процесс преимущественно состоит из действий, выполняемых пользователями. Системный рабочий процесс. Этот тип рабочего процесса иногда называют оркестровкой. Обычно он используется как посредник между бизнес-сервисами и бизнес-процессами. Оркестровка не предполагает участия пользователей. Преимущества и недостатки В следующей таблице перечислены основные преимущества и недостатки каждой технологии рабочего процесса. Технология Преимущества Недостатки Windows Workflow Foundation (WF) Ориентированное на разработчика решение по созданию рабочих процессов. Для размещения дизайнера в приложении необходим специальный код. Поддерживает последовательный рабочий процесс, рабочий процесс на основе конечных автоматов и управляемый данными рабочий процесс. Не поддерживает параллельного выполнения. В Visual Studio предоставляется поддержка дизайнера. Включает поддержку безопасного и надежного обмена данными с использованием транзакций. Поддерживает длительные рабочие процессы, которые могут продолжать выполняться после перезагрузки системы. Workflow Services Обеспечивает интеграцию WCF и WF. Позволяет предоставлять рабочие процессы клиентским приложениям в виде сервисов. Поддерживает координацию множества сервисов для завершения бизнес-процесса. Требует установки .NET Framework 3.5 или более поздней версии. При использовании учетных данных, отличных от применяемых по умолчанию, требуется написание дополнительного кода. При вызове Workflow Services среда выполнения WF автоматически подключает новые или существующие экземпляры рабочих процессов. В Visual Studio 2008 обеспечивается поддержка новых шаблонов и инструментов для Workflow Services. MOSS 2007 Workflow Подсистема управления рабочими процессами Рабочие процессы привязаны к одному сайту и не имеют основана на WF. Рабочий процесс для визирования документов может быть определен с помощью Веб-интерфейса. Условные или управляемые данными рабочие процессы могут определяться в SharePoint Designer. доступа к данным других сайтов. Не очень хорошо подходит для сложных интегрированных в бизнесприложения (Line-Of-Business, LOB) рабочих процессов. В Visual Studio могут создаваться пользовательские рабочие процессы с использованием компонентов и сервисов WF. Технология интегрирована с приложениями комплекта Microsoft Office. BizTalk Обеспечивает единое решение по управлению бизнес-процессами. Обеспечивает электронный документооборот между компаниями в форматах Electronic Data Interchange (EDI) и/или Extensible Markup Language (XML). Включает функции оркестровки для проектирования и выполнения длительных слабосвязанных бизнес-транзакций. Сохраняет состояние оркестровки на SQL Server, что может привести к задержкам при выполнении оркестровки. В текущей версии не используется WF. Возможно, поддержка WF будет реализована в следующей версии. Интегрируется с не-Microsoft системами. Легко расширяется для обеспечения возможностей сервисной шины предприятия (Enterprise Service Bus, ESB). WCF LOB-адаптеры позволяют создавать пользовательские адаптеры для применения в BizTalk или за его пределами. Общие сценарии и решения В следующих разделах представлено руководство по выбору подходящей технологии рабочего процесса для приложения. Используйте WF, если: Необходимо создать собственное решение для рабочего процесса. Требуется поддержка дизайнера рабочих процессов в Visual Studio. Необходимо разместить дизайнер WF в своем приложении. Используйте Workflow Services, если: Необходимо предоставлять рабочие процессы как сервисы. Необходимо вызывать сервисы из рабочего процесса. Для завершения бизнес-процесса необходимо координировать вызовы множества сервисов. Если уже работаете с SharePoint, используйте рабочий процесс MOSS 2007 в следующих случаях: Если необходимо обеспечить рабочий процесс для совместной работы пользователей. Если необходимо обеспечить рабочий процесс для списка или библиотеки SharePoint; например, чтобы обеспечить процесс визирования. Если необходимо расширить рабочий процесс SharePoint, добавив в него пользовательские задачи. Если желаете использовать в Visual Studio дизайнер рабочих процессов. Используйте BizTalk Server, если: Необходим рабочий процесс, который будет работать с разными приложениями и системами. Необходим размещаемый на сервере системный рабочий процесс, обеспечивающий интеграцию систем предприятия. Разрабатывается приложение, которое должно осуществлять сбор данных от множества Веб-сервисов, как часть сервисно-ориентированной архитектуры (Service Oriented Architecture, SOA). Разрабатывается приложение с длительными бизнес-процессами, выполнение которых может продолжаться несколько дней. Требуется поддерживать процессы типа «бизнес-бизнес», основанные на отраслевых стандартах. Необходимо обеспечить параллельное выполнение сервисов. Необходимо представить бизнес-логику приложения в виде декларативных правил, которые легко привести в соответствие с изменениями бизнес-требований. Дополнительные источники Электронная версия списка используемых источников доступна по адресу http://www.microsoft.com/architectureguide. Более подробно рабочие процессы MOSS 2007 рассматриваются в статье «Workflows in Office SharePoint Server 2007» по адресу http://msdn.microsoft.com/enus/library/ms549489.aspx. WF посвящена статья «Windows Workflow Foundation» по адресу http://msdn.microsoft.com/en-us/netframework/aa663328.aspx. Более подробно Workflow Services обсуждаются в материале «Workflow Services» (Сервисы рабочего процесса) по адресу http://msdn.microsoft.com/enus/library/cc825354.aspx. BizTalk посвящен ресурс по адресу http://msdn.microsoft.com/en-us/biztalk/default.aspx. Более подробно корпоративные рабочие процессы рассматриваются в статье «Architecting Enterprise Loan Workflows and Orchestrations» (Проектирование архитектуры корпоративных рабочих процессов и оркестровок обработки займов) по адресу http://msdn.microsoft.com/en-us/library/bb330937.aspx.