вторник, 20 мая 2014 г.

Установка Workflow manager 1.0 для SharePoint 2013 на отдельной машине вне фермы.

Про обновление рабочих процессов в SharePoint 2013 написано достаточно много. Если кратко, то они обросли циклами, стадиями. Создать форму в InfoPath для задач нельзя. Создать задачу без отправки письма нельзя. И теперь надо производить отдельную настройку фермы Workflow manager. При этом, сразу же после установки SharePoint, Вы можете использовать рабочие процессы в режиме 2010 версии.
Если пробовать создать процесс через SharePoint Designer 2013, то Вы увидите следующее:
Будем настраивать. В нашем сценарии ферма Workflow manager будет работать на отдельной машине, в том же домене, но она не будет частью SharePoint фермы. Сразу поясню - Workflow manager тоже ферма, в которую можно добавлять машины. SharePoint ферма будет подключаться к ферме Workflow manager. В общем то Microsoft решил выделить эту часть SharePoint и действовать по той же схеме, что и с Office WebApps.
Архитектурно все выглядит следующим образом:
HOSTA - SharePoint Web Front End
HOSTB - SharePoint Application
HOSTC - Workflow manager farm
HOSTSQL - SharePoint Backend\Workflow manager DB

Т.е. на том же экземпляре, что мы используем для фермы SharePoint, будут и базы Workflow Manager.
Для установки Workflow manager на HOSTB можно использовать Web platform installer.
Выбирайте в списке WorkFlow manager 1.0. Что бы все заработало на Windows Server 2012 R2 необходимо обязательно обновиться до CU2. Так же надо установить CU1 для Service Bus.
CU1 для Service Bus через Web platform installer у меня не ставиться. Использовал оффлайн пакет.




Теперь необходимо выполнить обновления. Хотя это можно сделать и после конфигурирования фермы Workflow manager. После установки каждого обновления - перезагружайте сервер, иначе следующее может не поставиться.



Теперь приступаем к конфигурированию фермы Workflow manager. Перед нами появится окно, выбирайте средний пункт:
Этот пункт нужно выбирать обязательно. В противном случае у нас не будет выбора какую группу назначить администраторами. Т.е. будет назначена группа BUILTIN\Administrators. Скорее все это приведет к ошибке 403 (Forbidden). Ее воспроизвести можно если попытаться зайти на одно из веб-приложений созданных Workflow managers. На картинке ниже их 2. Для http и https соответственно. Что бы было и для http - необходимо ставить отдельную галку. Итак:
Если перейти по HOSTC, то увидим:

Пробуем с правами администратора:
И все получиться. Мы увидим:
Но пока параметр WorkflowAdminGroupName равен BUILTIN\Administrators - подключиться удаленно скорее всего не получится. Обновить это значение через PowerShell мне не удалось. Где то в базе можно поправить или в конфиге. Мы же не будем выбирать стандартный тип установки, а воспользуемся расширенным. В нем же нужно будет задать установки для Service Bus. Все настройки достаточно тривиальные.
Кроме этого:
Замените как на следующем снимке:
Т.е. исключение составляет Configure Admin Group, создайте группу в AD, ее же вписывайте в настройках. Поместите в эту группу Вашу учётную запись для фермы Workflow manager.
После окончания настройки необходимо подключить ферму SharePoint к Workflow manager. Перед этим обновите на всех машинах в ферме SharePoint Workflow client. Его так же можно найти в Web platform installer. Теперь необходимо открыть консоль PowerShell с подключенными оснастками SharePoint на любом сервере SharePoint и выполнить PowerShell скрипт:
Register-SPWorkflowService –SPSite "http://www.HOSTA" –WorkflowHostUri "http://HOSTC:12291" –AllowOAuthHttp -Force -Scope "SharePoint"

Теперь при создании рабочего процесса у нас должен быть диалог как на снимке:


Работоспособность можно проверить если перейти в Центр администрирования -> Управление приложениями-службами -> Прокси нашего Workflow service applocation:


Позже, при увеличении нагрузки, Вы можете добавить еще несколько компьютеров к ферме Workflow manager.