Рабочие процессы в SharePoint могут создаваться в различных режимах: 2010 и 2013. Естественно, 2010 оставлен разработчиками для совместимости и в будущем будет убран. Поэтому новые рабочие процессы целесообразно заводить в режиме SharePoint 2013.
Рабочими процессами можно управлять из интерфейса SharePoint Designer, который является бесплатным приложением от Microsoft для разработчиков SharePoint. Запустив программу и подключившись к какому-либо сайту SharePoint, можно попытаться создать рабочий процесс (Workflow). Возможно, будет отображаться такой экран:
Видно, что в типе платформы в выборе фигурирует только «Рабочий процесс SharePoint 2010». Если ничего больше нет, значит для поддержки рабочих процессов 2013 нужно установить Workflow Manager. После его установки и подключения появится еще один пункт — «Рабочий процесс SharePoint 2013».
Рассмотрим установку Workflow Manager на ту же машину, на которой работает SharePoint. Это допустимо, потому что требует он всего 2 ГБ оперативной памяти и 2 ядра процессора. Конечно, можно и иногда даже нужно устанавливать Workflow Manager на отдельные серверы и делать из них кластер с балансировкой нагрузки, но здесь будет рассматриваться самый простой вариант.
Перед установкой необходимо предпринять некоторые подготовительные шаги:
1) Создать в домене учетную запись, от имени которой будут запускаться службы. Особых прав не нужно. Пример: TEST\SPWorkflowManager
2) Там же создать группу, куда будут включены пользователи, администрирующие Workflow Manager. Пример: TEST\SPWorkflowManagers
3) Создать группу для администраторов Service Bus. Пример: TEST\SPServiceBusManagers
Workflow Manager устанавливается при помощи Microsoft Web Platform Installer. Это подразумевает наличие интернета на целевой машине. Если его нет, то не беда, можно выполнить установку из командной строки. На машине с интернетом нужно выполнить команду:
webpicmd /offline /Products:WorkflowManagerRefresh /Path:F:\WorkflowManagerRefreshFiles /Language:ru
Исполняемый файл лежит в папке "C:\Program Files\Microsoft\Web Platform Installer\", поэтому если не выполнится, то в консоли нужно перейти туда.
На что здесь следует обратить внимание:
1) WorkflowManagerRefresh - это название продукта для установки. Не нужно пытаться писать сюда просто WorkflowManager, это приведет потом к ошибкам и трате времени. WorkflowManagerRefresh включает в себя Worflow Manager, Client, Service Bus и обновления (WorkflowCU2).
2) F:\WorkflowManagerRefreshFiles - сюда из интернета будут скопированы файлы дистрибутивов для дальнейшей установки на машине без интернета.
3) /Language:ru - если не указать этот параметр, будет с большой вероятностью установлена английская версия.
Команда отработает и создаст папку, содержимое которой нужно перекинуть на машину для установки. Допустим, положили там в папку «C:/Distrib/WorkflowManagerRefreshFiles».
Далее нужно перейти к целевой машине, войти там в консоли в папку «C:/Distrib/WorkflowManagerRefreshFiles/bin», и выполнить команду:
WebpiCmd.exe /Install /Products:WorkflowManagerRefresh /XML:c:/Distrib/WorkflowManagerRefreshFiles/feeds/latest/webproductlist.xml /Language:ru
Установщик выполнит свою работу и запустит конфигуратор. Ниже приведен пример окна на английском языке (для Language:ru все будет по-русски). Можно сконфигурировать сразу, а можно потом с ярлыка на плиточной панели.
Нужно ввести алиас сервера БД, имя пользователя для работы WM (TEST\SPWorkflowManager), кодовое слово для генерации сертификатов. Если не подразумевается работа по HTTPS, то отметить флажок Allow Workflow management over HTTP on this computer. В качестве группы администрирования ввести заранее созданную TEST\SPWorkflowManagers. При нажатии на стрелку «Далее» возникнет окно конфигурации Service Bus.
Здесь нужно проверить все параметры, включить галочки для параметров доступа и сертификатов — как в Worflow Manager, и не забыть ввести группу администрирования TEST\SPServiceBusManagers. Это последний шаг, после которого конфигуратор покажет суммарное окно с выбранными настройками. Там надо нажать кнопку Get PowerShell Commands. Откроется окно со списком команд, надо их скопировать и сохранить в файл на будущее, вдруг пригодится. После проверки данных на экране надо нажать на кнопку с галочкой. Конфигуратор постепенно будет создавать сущности, показывая свою работу по шагам. Если все выполнено успешно, то каждый шаг будет отмечен зеленой галочкой.
Если все в порядке, можно приступать к настройке Workflow Service Connection в SharePoint, то есть соединения Workflow Manager с сайтом SharePoint. Для начала можно командами проверить статус Workflow Manager:
Get-WFFarm Get-WFFarmStatus
Будет выведена информация о WF Manager. Налюбовавшись на нее, можно попробовать зарегистрировать соединение Workflow Service с SharePoint командой:
Register-SPWorkflowService -SPSite "http://vm-sharepoint" -WorkflowHostUri "http://vm-sharepoint:12291" -AllowOAuthHttp
Здесь 12291 - порт http, по которому установился Workflow Manager. Также имеется порт https 12290, для него команда будет слегка другой:
Register-SPWorkflowService -SPSite "https://vm-sharepoint" -WorkflowHostUri "https://vm-sharepoint:12290"
Но это если сайт работает по https.
Если все в порядке, команда завершится по-тихому, и можно идти проверять в центр администрирования. Если возникла ошибка, то значит, скорее всего, устанавливается несовместимый пакет Workflow Manager (не WorkflowManagerRefresh, а WorkflowManager). Ошибка может содержать такой текст:
Register-SPWorkflowService : Удаленный сервер возвратил ошибку: (404) Не найден
Печалиться не надо, нужно запустить конфигуратор снова и в нем покинуть ферму. Затем удалить программы Service Bus, Workflow Manager и Client из панели управления. Также нужно удалить базы данных с префиксом SB и WF (по три штуки). Здесь нужно четко соблюсти последовательность, иначе можно получить нерабочий WF Manager, который к тому же не удаляется. После удаления можно устанавливать Manager снова, но уже с верными параметрами.
В центре администрирования SharePoint в разделе «Управление приложениями-службами» будет красоваться «Прокси приложений служб рабочих процессов». Нажав на него, должно быть окно такого вида:
После этого можно вернуться в SharePoint Designer и увидеть, что появилась возможность создания рабочих процессов в режиме 2013:
Здесь мы рассмотрели простую установку Workflow Manager. Прошу, задавайте вопросы и пожелания по статье в комментариях.