Nintex Workflow vs ZFlow. Реальная ли альтернатива?

Сотрудники и партнеры компании i-Sys провели сравнительный анализ собственного графического  редактора рабочих процессов под SharePoint Server - ZFlow и одного из лидеров рынка Nintex Workflow.
Сможет ли ZFlow стать альтернативой Nintex Workflow, можно решить прочитав наш обзор.
31.08.2018

Компания i-Sys занимается автоматизацией бизнес-процессов на SharePoint более 10 лет. Изначально мы выбрали для себя платформенный подход к построению решений и для настройки бизнес-процессов стали использовать Nintex Workflow. Этот продукт в своем классе был и остается одним из лучших решений на рынке. На его основе нами была создана система документооборота DocTrix DocFlow и еще ряд специализированных конфигураций. Однако с 2015 года, в связи с существенным ростом курса Евро, изменением политики лицензирования Nintex стоимость Nintex Workflow для большого количества российских компаний стала крайне чувствительной. А ряд компаний, бюджеты которых позволяют приобретать решение данной ценовой категории, не могут использовать решения Nintex в связи с импортозамещением.

Эта ситуация сделала нас абсолютно не конкурентными на рынке систем документооборота и автоматизации процессов.

Выходом из этой ситуации было создание своего собственного редактора рабочих процессов на SharePoint и в конце 2016 года мы приступили к разработке ZFlow.
Первую релизную версию ZFlow наши разработчики выпустили в августе 2017 года. По сути решение ZFlow стало более бюджетной альтернативой Nintex Workflow.

Сегодня в блоге небольшое сравнение с Nintex от наших внедренцев и специалистов наших партнеров, которые за прошедший год реализовали 5 крупных проектов на ZFlow.


Работа с контекстом рабочего процесса

Самый большой недостаток Nintex Workflow, идущий от использования в архитектуре модели процессов SharePoint 2010, в части работы – это падения рабочих процессов, после которых невозможно возобновить упавший рабочий процесс с того места, где он упал. Более того, при остановке предыдущего экземпляра процесса задачи, созданные в рамках него, канут в бездну. И восстановить их не удастся, даже если покопаться в корзине или напрямую в базе данных. Об этом нужно всегда помнить при администрировании и разработке системы, и часто это приводит к большим проблемам.

У ZFlow есть большое преимущество в этой части. Рабочий процесс в случае неудачи не падает сразу, а делает несколько попыток повторения проблемного активити. Таким образом, снижается риск прерывания процесса. Да и при падении процесс можно запустить с того места, где он собственно упал. Это достигается за счет использования более современного движка рабочих процессов — Workflow Manager и использования модели процессов SharePoint 2013. 

Системные апдейты

Опять же в чистом Nintex нет никакой возможности выполнять системные обновления формы без применения ресиверов, без создания новой версии. Например, невозможно обновить задачу в состоянии «Не начата», чтобы она не поменяла свое состояние, так как при любом обновлении ресивер переводит ее в состояние «В процессе выполнения». В основном проблема эта исходит из идеологии самого Nintex Workflow, который нацелен на европейскую аудиторию, где к задачам по документу относятся довольно утилитарно.

В Российских же реалиях именно с задачами идет валовая часть работы над заявкой или документом. Задачи отменяют, принимают в работу, обновляют и делегируют. Некоторые процессы требуют отключения системных обновлений, чего невозможно сделать в Nintex Workflow. Разработчики ZFlow такую возможность добавили, и это радует.

Откат к предыдущей версии рабочего процесса

В Nintex эта возможность просто есть в отличие от ZFlow. Если разработчик непоправимо накосячил при создании процесса, в Nintex можно восстановить любую предыдущую версию. Что, несомненно, удобно.

В ZFlow специалистам по настройке приходится сохранять рабочий процесс перед изменением в файл путем экспорта. Откат изменений, при необходимости, обеспечивается импортом сохраненного процесса из файла.


Работа с уведомлениями и Lazy Approval

Вообще не совсем корректно говорить Lazy Approoval по отношению к ZFlow, так как это запатентованное название Nintex, которое можно применять только к их продуктам. Согласование по почте или «ленивое согласование». 

Эта функция является одной из базовых в Nintex Workflow. Но основная ее проблема в том, что ее использование не всегда очевидно для пользователей и они часто совершают ошибки. «Лэйзик» подходит только для 3 типов задач в Nintex, не сохраняет комментариев пользователя, требует запоминания или заучивания и дословного собственноручного написания кодовых слов, по которым система считает, что документ был согласован или отклонен. 

Практика показала, что это не совсем удобно, и наличие кнопок «казнить» и «миловать» в тексте письма всегда будет удобнее, чем писать это все от руки. В ZFlow ленивое согласование работает уже по кнопкам в тексте письма, запоминает комментарии пользователей и даже пользователей, которые находятся в копии письма. Например, чтобы поставить им поручение по какому-нибудь документу или записать в какое-то поле в карточке. 

Благодаря интеграции ZFlow и DocTrix Platform с чат-ботом, разработанным i-Sys, Ленивое согласование доступно не только в почте, но и в Skype, Teams и многострадальном Telegram.



В ZFlow в целом удобнее и стабильнее редактор уведомлений (для человека, знакомого с html-версткой). Но при этом отсутствуют глобальные шаблоны уведомлений, которые есть в Nintex. Там можно задать шапку и подпись для всех уведомлений, отправляемых с данного узла (или всей фермы). В ZFlow это приходится копировать в каждом рабочем процессе. 

К бесспорным плюсам Nintex отнесем умение отправки уведомления о падении рабочих процессов на указанные адреса, тем самым позволяя сразу реагировать на возникшие проблемы. Рабочий процесс ZFlow падает тихо и незаметно для окружающих. Разработчики обещают эту задачу решить осенью, но пока вот так.

Работа с переменными и типами данных

В ZFlow в целом поудобнее сделана работа с переменными. В основном потому, что разработчики имеют опыт построения огромных рабочих процессов и знают, как тяжело искать иголку в стоге сена, если процесс большой, а информации в логах мало. Например, в ZFlow есть возможность выяснить, в каких кубиках используется переменная. Невероятно полезная фича. Когда процессы большие и сложные, без этой фичи весьма трудно найти активити, которые используют/меняют интересующую переменную. Это нужно, например, при поиске ошибок в логике, или доработке процесса.

Также сделан удобный текстовый поиск в местах выбора переменных, полей, списков. Весьма существенно облегчает работу.

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

В ZFlow в целом более удобная работа с полями подстановки/пользователей. ZFlow позволяет в запросах сразу указывать, какое свойство поля подстановки/пользователя использовать. В Nintex придется делать несколько последовательных запросов.

Работа с календарем

В ZFlow-календаре можно сделать выходной день рабочим днем (актуально, когда происходит перенос дней в производственном календаре), в Nintex этого сделать нельзя.

Просмотр хода выполнения рабочего процесса

Очень приятная и любимая многими разработчиками функция наглядного просмотра хода выполнения рабочего процесса, присущая Nintex, в ZFlow, к сожалению, отсутствует.

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



Глобальные константы

Пока отсутствуют в ZFlow как класс. Например, количество дней на согласование по умолчанию в Nintex можно вынести в глобальную константу и не задавать ее в каждом рабочем процессе. Если потребуется изменить – то нужно поправить только в одном месте.

Встроенные активити

В Nintex в целом больше активити. Из более-менее используемых, в ZFlow отсутствуют:

— приостановить процесс (пауза);
— подождать завершения выполнения другого процесса;

— копирование файлов между библиотеками (перенести вложения из задачи в документ).
— создать элемент в другом узле, создать список, сайт, коллекцию сайтов (в ZFlow это все решается вызов соответствующих веб-сервисов Sharepoint).



В Nintex есть множество встроенных возможностей для интеграции, правда многие из них в самой дорогой Enterprise версии: запросы SQL, LDAP, вызов веб-сервиса, управление пользователями/группами AD, парсер XML, создание встреч и задач в Exchange. В ZFlow есть только интеграция через веб-сервис.

В ZFlow невозможно из одного процесса запустить другой процесс, передав ему какие-то значения в качестве входных параметров. Nintex это может.

Многое из функционала, описанного выше планируется включить в ZFlow в 2018 году. Как только это будет сделано, появится новый обзор сравнения J.

Администрирование рабочих процессов

В Nintex в некоторых активити есть возможность прямо в редакторе выполнить настроенные действия, очень актуально для различных запросов и интеграции, чтобы сразу здесь же отладить их.

Также во многих активити есть возможность перехватывать ошибку, чтобы она не приводила к падению процесса.

Встроенные инструменты для чистки мусора (история РП, журнал РП), отчеты, статистика
В Nintex есть инструменты администратора в интерфейсе: чистка журнала рабочих процессов, историчных данных рабочих процессов, посмотреть отчеты/статистику о выполнении процессов.
В ZFlow все подобные функции выполняются через PowerShell скрипты и разработчики готовы ими делиться, при необходимости.

Общая архитектура и некоторые выводы

В целом на данный момент редактор Nintex Workflow, конечно мощнее. Если есть финансовые ресурсы брать Nintex, брать его можно смело. Он стабилен, функционален, достаточно неплохо документирован, но стоимость его на данный момент существенно завышена и продолжает повышаться в среднем раз в год. Причем, некоторые повышения проходят достаточно подленько. Например, при отказе от лицензий Workgroup Nintex клятвенно обещал, что текущие заказчики Workgroup не пострадают. Но спустя 2 года полностью перестал поддерживать Workgroup (то есть либо апгрейд до Standard и попадание на 10 000 евро, либо прощай, готовая система, либо прощай, поддержка и лицензии на тестовый стенд). 

Также стоит отметить, что технологии использования модели рабочих процессов SharePoint 2010, на которой построен Nintex Workflow, уже устарели. Решение много лет не развивается, любые проблемы заказчика Nintex предлагает решать самостоятельно, нормальная поддержка по сути отсутствует. ZFlow же построено на более современной модели Workflow Manager. И судя по Road Map ему есть куда развиваться, включая миграцию в Office 365, которую ребята планируют завершить в октябре и которая уже доступна в качестве бета-версии. 

Ну а про разницу в стоимости вы можете узнать написав нам на sales@i-sys.ru