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

SharePointподдерживает две основных среды разработки среды рабочих процессов: SharePoint Designer и Visual Studio. В этой статье описаны обе среды, а также преимущества и недостатки каждой из них.

Примечание.

Поддержка рабочих процессов SharePoint 2010 для новых клиентов прекращена с 1 августа 2020 г., и они удалены из существующих клиентов 1 ноября 2020 г. Если вы используете рабочие процессы SharePoint 2010, рекомендуется перейти на Power Automate или другие поддерживаемые решения. Дополнительные сведения см. в статье Прекращение поддержки рабочего процесса SharePoint 2010.

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

Примечание.

Инструкции по настройке и настройке Microsoft SharePoint и сервера Workflow Manager Client 1.0 см. в статье Настройка и настройка Workflow Manager SharePoint.

Как и в предыдущих версиях, Microsoft SharePoint предоставляет две основных среды разработки рабочих процессов: Microsoft SharePoint Designer и Microsoft Visual Studio. Однако отличие от предыдущих версий состоит в том, что при использовании Visual Studio больше нет стратегии разработки на основе кода. Вместо этого и SharePoint Designer, и Visual Studio реализуют полностью декларативную среду разработки без кода независимо от выбранного средства разработки.

Примечание.

Вы можете не только разрабатывать рабочие процессы в SharePoint Designer, но и использовать фигуры Microsoft Visio 2013 для структурирования логики рабочих процессов, а затем импортировать логику в SharePoint Designer 2013. Сведения об использовании Visio 2013 для создания логики рабочего процесса см. в статье Разработка рабочих процессов в SharePoint Designer и Visio.

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

Сначала поясним, что подразумевается под "декларативными" рабочими процессами. Этот термин означает, что вместо написания кода и компиляции в управляемые сборки рабочий процесс описывается (буквально) в XAML и затем интерпретируется во время выполнения.

XAML является производным (или выведенным) из стандартных блоков рабочих процессов, которыми вы управляете в конструкторе рабочих процессов (при использовании Visual Studio) или области конструктора рабочих процессов SharePoint Designer (или Visio, но подробнее об этом позже). Стандартные блоки — это визуальные объекты проектирования рабочего процесса в панели инструментов конструктора: стадии, условия, этапы, события и т. д. Набор инструментов на соответствующих панели элементов (Visual Studio или SharePoint Designer) несколько отличается, но концепция декларативного рабочего процесса остается неизменной.

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

Одно из основных преимуществ платформы рабочих процессов в SharePoint — это простота использования среды без кода SharePoint Designer для создания мощных рабочих процессов. Кроме того, декларативная среда разработки, такая как Visual Studio, обеспечивает высокую степень гибкости и настройки.

Обе этих среды, SharePoint Designer и Visual Studio, обладают определенными преимуществами и недостатками. В этом разделе мы расскажем, как определить, какая среда разработки больше всего подходит вам.

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

  • Целевые пользователи: информационные работники, бизнес-аналитики, разработчики SharePoint.
  • Уровень сложности: знакомство SharePoint Designer, в том числе с основными компонентами рабочего процесса, такими как стадии, шлюзы, этапы, условия и циклы.

В SharePoint Designer можно создать рабочий процесс, который присоединяется к списку, библиотеке или сайту, с помощью текстового конструктора без кода. Или они могут использовать новую визуальную среду разработки, в которой графические элементы размещаются на поверхности разработки и представляют логический поток бизнес-процесса. SharePoint Designer позволяет быстро создавать рабочие процессы даже нетехническим специалистам.

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

  • Целевые пользователи: разработчики программного обеспечения среднего или высокого уровня.
  • Уровень сложности: знакомство с Visual Studio, в том числе с концепциями разработки программного обеспечения, приемниками событий, упаковкой, развертыванием и безопасностью.

Создание рабочих процессов в Visual Studio обеспечивает гибкость создания рабочих процессов для поддержки практически любого бизнес-процесса, независимо от его сложности, а также позволяет выполнять отладку и повторное использование определений рабочих процессов. Возможно, самое важное, что Visual Studio позволяет разработчикам включать рабочие процессы SharePoint как часть более широкого решения SharePoint или надстройки SharePoint.

Visual Studioпозволяет разработчикам создавать настраиваемые действия для SharePoint Designer и предоставляет средства для выполнения настраиваемой логики. С помощью Visual Studio разработчики также могут создавать шаблоны рабочих процессов, которые можно развернуть на нескольких сайтах.

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

В таблице ниже сравниваются функции создания рабочих процессов SharePoint SharePoint Designer и Visual Studio, а также требования к их использованию.

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

Функции и требования SharePoint Designer Visual Studio
Быстрое создание рабочих процессов Да Да
Повторное использование рабочих процессов Рабочий процесс может использоваться только списком или библиотекой, в котором он был создан. Однако SharePoint Designer предоставляет рабочие процессы, которые могут использоваться несколько раз на одном сайте. Рабочий процесс можно создать как шаблон, чтобы после развертывания его можно было повторно использовать и связывать с любым списком или библиотекой.
Позволяет добавить рабочий процесс в решение SharePoint или Надстройка SharePoint Нет Да
Позволяет создавать настраиваемые действия Нет. Однако SharePoint Designer может использовать и реализовать настраиваемые действия, которые создаются и развертываются с помощью Visual Studio. Да. Однако помните, что в Visual Studio используются базовые действия, а не соответствующие им действия.
Позволяет создавать пользовательский код Нет Нет примечание. Это изменено по сравнению с предыдущими версиями. В SharePoint используются только декларативные рабочие процессы, а в Visual Studio для разработки рабочих процессов применяется рабочая область визуального конструирования.
Возможность создавать логику рабочих процессов с помощью Visio профессиональный Да Нет
развертывание, — Автоматическое развертывание в списке, библиотеке или на сайте, на котором они созданы. Создание файла пакета (WSP-файла) решения SharePoint и развертывание пакета на сайте (SPWeb).
Публикация рабочих процессов одним щелчком Да Да
Рабочие процессы можно упаковать и развернуть на удаленном сервере Да Да
отладка Отладка не поддерживается. Рабочий процесс можно отлаживать с помощью Visual Studio.
Можно использовать только действия, которые утверждены администратором сайта Да Да Примечание. Это изменено по сравнению с предыдущими версиями. Ранее рабочие процессы и действия, созданные с помощью Visual Studio, были основаны на коде и развертывались на уровне фермы, поэтому утверждение администратора не требовалось.

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

В отличие от более ранних версий рабочие процессы в SharePoint полностью декларативны. Созданная на основе Windows Workflow Foundation 4, Visual Studio предоставляет область конструктора визуальных рабочих процессов, которая позволяет создавать настраиваемые рабочие процессы, шаблоны рабочих процессов, формы и настраиваемые действия рабочих процессов полностью в среде конструктора. Затем рабочий процесс упаковывается и развертывается как компонент SharePoint. Сведения о упаковке компонентов см. в статье Использование компонентов в SharePoint Foundation.

Возможно, наиболее значительное изменение для разработчиков Visual Studio состоит в том, что настраиваемые рабочие процессы больше не компилируются и не развертываются как сборки .NET Framework. Кроме того, SharePoint больше использует не формы Microsoft InfoPath, а формы Microsoft ASP.NET.

Наконец, изменились шаблоны проекта рабочего процесса Visual Studio. Ранее шаблоны были предоставлены для конечного автомата и последовательных рабочих процессов, эти различия больше не имеют смысла. Теперь шаблоны проектов Visual Studio доступны в сборке Visual Studio на виртуальной машине (ВМ).

Включение локальной отладки рабочего процесса

Для отладки локальных рабочих процессов в Visual Studio необходимо временно разрешить средствам диспетчера рабочих процессов доступ к системе в брандмауэре.

  1. В панели управления выберите элемент Система и безопасность и щелкните Брандмауэр Windows.
  2. В списке в основном окне панели управления щелкните ссылку Дополнительные параметры.
  3. В левой области брандмауэра Windows щелкните Правила для входящих подключений.
  4. В списке Правила для входящих подключений выберите Workflow Manager Tools 1.0 for Visual Studio 2012 - Test Service Host.
  5. В списке Действия выберите Включить правило.
  6. На странице свойств проекта SharePoint перейдите на вкладку SharePoint, а затем установите флажок Включить отладку рабочего процесса.

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

Для отладки рабочих процессов SharePoint Online в Visual Studio выполните следующие действия.

  1. Если вы находитесь за брандмауэром, может потребоваться установить прокси-клиент (например , клиент Шлюза управления угрозами Forefront (TMG) в зависимости от топологии сети вашей компании.

  2. Если у вас еще нет учетной записи Microsoft Azure, зарегистрируйте ее, а затем выполните вход в эту учетную запись.

    Сведения о регистрации учетной записи Microsoft Azure см. в статье Microsoft Azure.

  3. Создайте пространство имен шины обслуживания Microsoft Azure, которое можно использовать для отладки рабочих процессов. Это можно сделать на портал Azure Майкрософт.

    Дополнительные сведения о служебная шина Microsoft Azure см. в статье Создание пространства имен служебной шины с помощью портал Azure.

    Примечание.

    Для отладки рабочих процессов SharePoint Online используется компонент "Служба ретрансляции" служебной шины Microsoft Azure, поэтому за использование служебной шины будет взиматься плата. См. раздел Часто задаваемые вопросы о ценах на служебную шину. Вы бесплатно получаете доступ к Microsoft Azure в течение каждого месяца подписки на Visual Studio Professional с подпиской MSDN, Visual Studio Premium с подпиской MSDN или Visual Studio Ultimate с подпиской MSDN. При наличии такого доступа вы можете использовать ретрансляцию служебной шины в течение 1500 или 3000 часов (в зависимости от того, какова подписка на MSDN). См . статью Получение некоторого количества служб Microsoft Azure каждый месяц без дополнительной платы.

  4. В Microsoft Azure выберите пространство имен службы, перейдите по ссылке Ключ доступа, а затем скопируйте текст из поля Строка подключения.

  5. На странице свойств проекта Надстройка SharePoint перейдите на вкладку SharePoint, а затем установите флажок Включить отладку рабочего процесса.

    Необходимо включить эту функцию, чтобы выполнять отладку рабочих процессов событий в SharePoint Online. Это свойство применяется ко всем проектам SharePoint в Visual Studio. Visual Studio автоматически выключает отладку рабочих процессов при упаковке приложения для отправки в Магазин Office.

  6. Установите флажок Включить отладку через шину обслуживания Microsoft Azure. В поле Строка подключения шины обслуживания Microsoft Azure вставьте ранее скопированную строку подключения.

Включив отладку рабочих процессов и указав действительную строку подключения для служебной шины Microsoft Azure, вы можете приступить к отладке рабочих процессов SharePoint Online.

Примечание.

Если отладка рабочих процессов не включена и вы не хотите получать уведомления, если проект содержит рабочий процесс, снимите флажок Уведомлять меня, если отладка шины обслуживания Microsoft Azure не настроена.

См. также

Большая часть процесса создания рабочих процессов SharePoint в Visual Studio для разработчика осталась неизменной. Основные разделы документации для SharePoint 2010 сохраняют свою актуальность: