Разработка рабочих процессов SharePoint с помощью Visual StudioDevelop SharePoint workflows using Visual Studio

SharePoint поддерживает две основных среды разработки среды рабочих процессов: SharePoint Designer и Visual Studio. В этой статье описаны обе среды, а также преимущества и недостатки каждой из них.SharePoint supports two primary workflow development environments for authoring workflows: SharePoint Designer and Visual Studio. This article summarizes both and discusses the advantages and disadvantages of each.

Основы создания рабочих процессов SharePointAuthoring basics for SharePoint workflows

Примечание

Руководство по установке и настройке Microsoft SharePoint и сервера Workflow Manager Client 1.0 см. в статье Установка и настройка Workflow Manager SharePoint.For guidance on setting up and configuring Microsoft SharePoint and the Workflow Manager Client 1.0 server, see Set up and configure SharePoint Workflow Manager.

Как и в предыдущих версиях, Microsoft SharePoint предоставляет две основных среды разработки рабочих процессов: Microsoft SharePoint Designer и Microsoft Visual Studio. Однако отличие от предыдущих версий состоит в том, что при использовании Visual Studio больше нет стратегии разработки на основе кода. Вместо этого и SharePoint Designer, и Visual Studio реализуют полностью декларативную среду разработки без кода независимо от выбранного средства разработки.As with previous versions, Microsoft SharePoint provides two primary workflow development environments for authoring workflows: Microsoft SharePoint Designer and Microsoft Visual Studio. However, what differs from previous versions is that using Visual Studio no longer provides a code-based authoring strategy. Instead, both SharePoint Designer and Visual Studio provide a fully declarative, no-code authoring environment regardless of the development tool you select.

Примечание

Вы можете не только разрабатывать рабочие процессы в SharePoint Designer, но и использовать фигуры Microsoft Visio 2013 для структурирования логики рабочих процессов, а затем импортировать логику в SharePoint Designer 2013.As a complement to authoring workflows in SharePoint Designer, you can also use Microsoft Visio 2013 to structure your workflow logic by using Visio 2013 shapes, and then import your logic into SharePoint Designer 2013. Сведения о разработке логики рабочих процессов с помощью Visio 2013 см. в статье Разработка рабочих процессов в SharePoint Designer и Visio.For information about using Visio 2013 to author your workflow logic, see Workflow development in SharePoint Designer and Visio.

Декларативные рабочие процессыDeclarative workflows

Сначала поясним, что подразумевается под "декларативными" рабочими процессами. Этот термин означает, что вместо написания кода и компиляции в управляемые сборки рабочий процесс описывается (буквально) в XAML и затем интерпретируется во время выполнения.Let's first be clear what is meant by "declarative" workflows. This term means that instead of being authored in code and then compiled into managed assemblies, the workflow is described (literally) in XAML and then executed interpretively at run time.

XAML формируется на основе стандартных блоков рабочего процесса, которыми вы управляете в Конструктор рабочих процессов (при использовании Visual Studio) или в области конструктора рабочих процессов SharePoint Designer (или Visio, но об этом поговорим позже). Стандартные блоки это визуальные объекты проектирования рабочего процесса в панели инструментов конструктора: стадии, условия, этапы, события и т. д. Набор инструментов в соответствующих панелях инструментов (Visual Studio или SharePoint Designer) отличается, но концепция декларативных рабочих процессов остается неизменным.The XAML is derived (or inferred) from the workflow building blocks that you manipulate in the Workflow Designer (if using Visual Studio) or SharePoint Designer workflow design surface (or Visio, but more about that later). The building blocks themselves are the visual workflow design objects in the designer toolbox—stages, conditions, actions, events, and so on. The set of tools in the respective toolboxes (Visual Studio or SharePoint Designer) differs somewhat, but the concept of the declarative workflow remains the same.

Дерево принятия решений: SharePoint Designer и Visual StudioDecision tree: SharePoint Designer vs. Visual Studio

Одно из основных преимуществ платформы рабочих процессов в SharePoint это простота использования среды без кода SharePoint Designer для создания мощных рабочих процессов. Кроме того, декларативная среда разработки, такая как Visual Studio, обеспечивает высокую степень гибкости и настройки.Among the greatest advantages of the workflow framework in SharePoint is the ease with which information workers can use the no-code environment of SharePoint Designer to create rich and powerful workflows. Additionally, a high degree of flexibility and customization is available in a declarative authoring environment such as Visual Studio.

Обе этих среды, SharePoint Designer и Visual Studio, обладают определенными преимуществами и недостатками. В этом разделе мы расскажем, как определить, какая среда разработки больше всего подходит вам.Both of these workflow authoring environments—SharePoint Designer and Visual Studio—offer specific advantages and disadvantages. In this section, we explore how to determine which authoring environment best suits your workflow development needs.

Использование SharePoint DesignerUsing SharePoint Designer

  • Целевые пользователи: информационные работники, бизнес-аналитики, разработчики SharePoint.Target users: Information workers, business analysts, SharePoint developers.

  • Уровень сложности: знакомство SharePoint Designer, в том числе с основными компонентами рабочего процесса, такими как стадии, шлюзы, этапы, условия и циклы.Difficulty level: Familiarity with SharePoint Designer, including the core workflow components, such as stages, gates, actions, conditions, and loops.

В SharePoint Designer можно создать рабочий процесс, который присоединяется к списку, библиотеке или сайту, с помощью текстового конструктора без кода. Или они могут использовать новую визуальную среду разработки, в которой графические элементы размещаются на поверхности разработки и представляют логический поток бизнес-процесса. SharePoint Designer позволяет быстро создавать рабочие процессы даже нетехническим специалистам.With SharePoint Designer, users can create a workflow that is attached to a list, library, or site using a no-code, text-based designer. Or, they can use the new visual design environment in which graphical elements are arranged on a design surface to represent the logical flow of a business process. SharePoint Designer excels at enabling rapid workflow development by non-technical workers.

Использование Visual StudioUsing Visual Studio

  • Целевые пользователи: разработчики программного обеспечения среднего или высокого уровня.Target users: Intermediate or advanced software developers.

  • Уровень сложности: знакомство с Visual Studio, в том числе с концепциями разработки программного обеспечения, приемниками событий, упаковкой, развертыванием и безопасностью.Difficulty level: Familiarity with Visual Studio, including software development concepts such as event receivers, packaging and deployment, and security.

Visual Studio позволяет гибко создавать рабочие процессы для поддержки практически любого бизнес-процесса независимо от его сложности. Разработчики также могут выполнять отладку и повторно использовать определения рабочих процессов. Возможно, наиболее важное преимущество Visual Studio состоит в том, что разработчики могут добавлять рабочие процессы SharePoint в рамках более крупного решения SharePoint или Надстройка SharePoint.Authoring workflows in Visual Studio provides flexibility to create workflows to support virtually any business process, regardless of its complexity, and allows debugging and reuse of workflow definitions. Perhaps most important, Visual Studio lets developers include SharePoint workflows as part of a broader SharePoint solution or SharePoint Add-in.

Visual Studioпозволяет разработчикам создавать настраиваемые действия для SharePoint Designer и предоставляет средства для выполнения настраиваемой логики. С помощью Visual Studio разработчики также могут создавать шаблоны рабочих процессов, которые можно развернуть на нескольких сайтах.Visual Studio enables developers to create custom actions for consumption by SharePoint Designer, and provides the means to execute custom logic. With Visual Studio, developers can also create workflow templates, which can be deployed to multiple sites.

Сравнение SharePoint Designer с Visual StudioComparing SharePoint Designer with Visual Studio

В таблице ниже сравниваются функции создания рабочих процессов SharePoint SharePoint Designer и Visual Studio, а также требования к их использованию.The following table provides a side-by-side comparison of the features and requirements for using SharePoint Designer and Visual Studio to create SharePoint workflows.

Таблица 1. Сравнение инструментов создания рабочих процессовTable 1. Workflow authoring tool comparison

Функции и требованияFeature / Requirement SharePoint DesignerSharePoint Designer Visual StudioVisual Studio
Быстрое создание рабочих процессовAllows rapid workflow development
ДаYes
ДаYes
Повторное использование рабочих процессовEnables reuse of workflows
Рабочий процесс может использоваться только списком или библиотекой, в котором он был создан. Однако SharePoint Designer предоставляет рабочие процессы, которые могут использоваться несколько раз на одном сайте.A workflow can be used only by the list or library on which it was developed. However, SharePoint Designer provides reusable workflows that can be used multiple times within the same site.
Рабочий процесс можно создать как шаблон, чтобы после развертывания его можно было повторно использовать и связывать с любым списком или библиотекой.A workflow can be written as a template so that after it is deployed, it can be reused and associated with any list or library.
Позволяет добавить рабочий процесс в решение SharePoint или Надстройка SharePointAllows you to include a workflow as part of a SharePoint solution or SharePoint Add-in
НетNo
ДаYes
Позволяет создавать настраиваемые действияAllows you to create custom actions
Нет. Однако SharePoint Designer может использовать и реализовать настраиваемые действия, которые создаются и развертываются с помощью Visual Studio.No. However, SharePoint Designer can consume and implement custom actions that are created and deployed by using Visual Studio.
Да. Однако помните, что в Visual Studio используются базовые действия, а не соответствующие им действия.Yes. However, be aware that in Visual Studio, the underlying activities, not their corresponding actions, are used.
Позволяет создавать пользовательский кодAllows you to write custom code
НетNo
НетNo
Примечание. Эта возможность, доступная в таком виде в предыдущих версиях, изменилась.Note: This is changed from previous versions. В SharePoint используются только декларативные рабочие процессы, а в Visual Studio для разработки рабочих процессов применяется рабочая область визуального конструирования.In SharePoint, workflows are declarative only and Visual Studio relies on the visual design surface for workflow development.
Возможность создавать логику рабочих процессов с помощью Visio профессиональныйCan use Visio Professional to create workflow logic
ДаYes
НетNo
развертывание, —Deployment
Автоматическое развертывание в списке, библиотеке или на сайте, на котором они созданы.Deployed automatically to list, library, or site on which they were created.
Создание файла пакета (WSP-файла) решения SharePoint и развертывание пакета на сайте (SPWeb).Create a SharePoint solution package (.wsp) file and deploy the solution package to the site (SPWeb).
Публикация рабочих процессов одним щелчкомOne-click publishing available for workflows
ДаYes
ДаYes
Рабочие процессы можно упаковать и развернуть на удаленном сервереWorkflows can be packaged and deployed to a remote server
ДаYes
ДаYes
отладкаDebugging
Отладка не поддерживается.Cannot be debugged.
Рабочий процесс можно отлаживать с помощью Visual Studio.Workflow can be debugged by using Visual Studio.
Можно использовать только действия, которые утверждены администратором сайтаCan use only actions that are approved by site administrator
ДаYes
ДаYes
Примечание. Эта возможность, доступная в таком виде в предыдущих версиях, изменилась.Note: This is changed from previous versions. Ранее рабочие процессы и действия, созданные с помощью Visual Studio, были основаны на коде и развертывались на уровне фермы, поэтому утверждение администратора не требовалось.Previously, workflows and actions that were authored by using Visual Studio were code-based and deployed at the farm scope, so administrator approval was not required.

Разработка рабочих процессов с помощью Visual StudioDeveloping workflows using Visual Studio

В отличие от более ранних версий рабочие процессы в SharePoint полностью декларативные. Visual Studio предоставляет визуальную поверхность разработки рабочих процессов на основе Windows Workflow Foundation 4, которая позволяет создавать собственные рабочие процессы, шаблоны рабочих процессов, формы и настраиваемые действия рабочих процессов исключительно в среде конструктора. Затем рабочий процесс упаковывается и развертывается как компонент SharePoint. Сведения об упаковке см. в статье Использование компонентов в SharePoint Foundation.Unlike earlier versions, workflows in SharePoint are entirely declarative. Built now on Windows Workflow Foundation 4, Visual Studio provides a visual workflow designer surface that lets you create custom workflows, workflow templates, forms, and custom workflow activities entirely in the designer environment. Your workflow is then packaged and deployed as a SharePoint Feature. For information about Feature packaging, see Using Features in SharePoint Foundation.

Возможно, наиболее значительное изменение для разработчиков Visual Studio состоит в том, что настраиваемые рабочие процессы больше не компилируются и не развертываются как сборки .NET Framework. Кроме того, SharePoint больше использует не формы Microsoft InfoPath, а формы Microsoft ASP.NET.Perhaps the most significant change for Visual Studio developers is that custom workflows are no longer compiled and deployed as .NET Framework assemblies. Furthermore, SharePoint no longer uses Microsoft InfoPath forms; instead, forms generation relies on Microsoft ASP.NET forms.

Наконец, изменились шаблоны проекта рабочего процесса Visual Studio. Ранее шаблоны были предоставлены для конечного автомата и последовательных рабочих процессов, эти различия больше не имеют смысла. Теперь шаблоны проектов Visual Studio доступны в сборке Visual Studio на виртуальной машине (ВМ).Finally, the Visual Studio workflow project templates have changed. Whereas formerly templates for state machine and sequential workflows were provided, these distinctions are no longer meaningful. Rather, Visual Studio project templates are available in the Visual Studio build provided on your virtual machine (VM).

Включение локальной отладки рабочего процессаEnabling on-premises workflow debugging

Для отладки локальных рабочих процессов в Visual Studio необходимо временно разрешить средствам диспетчера рабочих процессов доступ к системе в брандмауэре.To debug on-premises workflows in Visual Studio, you need to temporarily allow the Workflow Manager Tools to access your system through the firewall.

  1. В панели управления выберите элемент Система и безопасность и щелкните Брандмауэр Windows.In Control Panel, choose System and Security, Windows Firewall.

  2. В списке в основном окне панели управления щелкните ссылку Дополнительные параметры.In the Control Panel Home list, choose the Advanced Settings link.

  3. В левой области брандмауэра Windows щелкните Правила для входящих подключений.In the left pane of Windows Firewall, choose Inbound Rules.

  4. В списке Правила для входящих подключений выберите Workflow Manager Tools 1.0 for Visual Studio 2012 - Test Service Host.In the Inbound Rules list, choose Workflow Manager Tools 1.0 for Visual Studio 2012 - Test Service Host.

  5. В списке Действия выберите Включить правило.In the Actions list, choose Enable Rule.

  6. На странице свойств проекта SharePoint перейдите на вкладку SharePoint, а затем установите флажок Включить отладку рабочего процесса.On the properties page of your SharePoint project, choose the SharePoint tab, and then select the Enable Workflow debugging check box.

Отладка рабочих процессов SharePoint Online с помощью Visual StudioDebugging SharePoint Online workflows using Visual Studio

Для отладки рабочих процессов SharePoint Online в Visual Studio выполните следующие действия.To debug SharePoint Online workflows in Visual Studio, perform the following steps:

  1. Если ваша сеть защищена брандмауэром, может потребоваться установить прокси-клиент (например, Клиент Forefront Threat Management Gateway (TMG)) в зависимости от топологии сети организации.If you're behind a firewall, you may need to install a proxy client (such as the Forefront Threat Management Gateway (TMG) Client), depending on your company's network topology.

  2. Если у вас еще нет учетной записи Microsoft Azure, зарегистрируйте ее, а затем выполните вход в эту учетную запись.Register for a Microsoft Azure account if you haven't already, and then sign into that account.

    Сведения о том, как зарегистрировать учетную запись Microsoft Azure, см. в статье Microsoft Azure.For information about how to register for a Microsoft Azure account, see Microsoft Azure.

  3. Создайте пространство имен служебной шины Microsoft Azure, которое можно использовать для отладки рабочих процессов. Это можно сделать на портале Microsoft Azure.Create a Microsoft Azure Service Bus namespace, which you can use to debug remote workflows. You can do this on the Microsoft Azure portal.

    Дополнительные сведения о служебной шине Microsoft Azure см. в статье Создание пространства имен служебной шины с помощью портала Azure.For more information about the Microsoft Azure Service Bus, see Create a Service Bus namespace using the Azure portal.

    Примечание

    Для отладки рабочих процессов SharePoint Online используется компонент "Служба ретрансляции" служебной шины Microsoft Azure, поэтому за использование служебной шины будет взиматься плата.SharePoint Online workflow debugging uses the Relay Service component of the Microsoft Azure Service Bus, so you'll be charged for using the Service Bus. См. статью Часто задаваемые вопросы о стоимости служебной шины.See Service Bus Pricing FAQ. Вы бесплатно получаете доступ к Microsoft Azure в течение каждого месяца подписки на Visual Studio Professional с подпиской MSDN, Visual Studio Premium с подпиской MSDN или Visual Studio Ultimate с подпиской MSDN.You get free access to Microsoft Azure each month that you subscribe to Visual Studio Professional with MSDN, Visual Studio Premium with MSDN, or Visual Studio Ultimate with MSDN. При наличии такого доступа вы можете использовать ретрансляцию служебной шины в течение 1500 или 3000 часов (в зависимости от того, какова подписка на MSDN).With this access, you can use the Service Bus relay for 1,500, 3,000, or 3,000 hours, depending on your MSDN subscription. Узнайте больше о доступе к службам Microsoft Azure каждый месяц без дополнительной оплаты.See Get some amount of Microsoft Azure Services each month at no additional charge.

  4. В Microsoft Azure выберите пространство имен службы, перейдите по ссылке Ключ доступа, а затем скопируйте текст из поля Строка подключения.In Microsoft Azure, choose your service namespace, choose the Access Key link, and then copy the text in the Connection String box.

  5. На странице свойств проекта Надстройка SharePoint перейдите на вкладку SharePoint, а затем установите флажок Включить отладку рабочего процесса.On the properties page of your SharePoint Add-in project, choose the SharePoint tab, and then select the Enable Workflow debugging check box.

    Необходимо включить эту функцию, чтобы выполнять отладку рабочих процессов событий в SharePoint Online. Это свойство применяется ко всем проектам SharePoint в Visual Studio. Visual Studio автоматически выключает отладку рабочих процессов при упаковке приложения для отправки в Магазин Office.You must enable this feature to debug workflows in SharePoint Online. This property applies to all of your SharePoint projects in Visual Studio. Visual Studio automatically turns off workflow debugging if you package your app for distribution on the Office store.

  6. Установите флажок Включить отладку через шину обслуживания Microsoft Azure. В поле Строка подключения шины обслуживания Microsoft Azure вставьте ранее скопированную строку подключения.Select the Enable debugging via Microsoft Azure Service Bus check box. Then, in the Microsoft Azure Service Bus connection string box, paste the connection string that you copied.

Включив отладку рабочих процессов и указав действительную строку подключения для служебной шины Microsoft Azure, вы можете приступить к отладке рабочих процессов SharePoint Online.After you enable workflow debugging and provide a valid connection string for the Microsoft Azure Service Bus, you can debug SharePoint Online workflows.

Примечание

Если отладка рабочих процессов не включена и вы не хотите получать уведомления, если проект содержит рабочий процесс, снимите флажок Уведомлять меня, если отладка шины обслуживания Microsoft Azure не настроена.If you haven't disabled workflow debugging and don't want to receive a notification whenever your project contains a workflow, clear the Notify me if Microsoft Azure Service Bus debugging is not configured check box.

См. такжеSee also

Большая часть процесса создания рабочих процессов SharePoint в Visual Studio для разработчика осталась неизменной. Основные разделы документации для SharePoint 2010 сохраняют свою актуальность:A great deal of developing SharePoint workflows remains unchanged for the Visual Studio developer. The key sections of the documentation for SharePoint 2010 remain relevant: