Citizen developers: новая эпоха или хорошо забытое старое. Часть 2

В первой части статьи речь шла о том, кто такие Citizen Developer'ы и какие подходы к работе они применяют. Сегодня вас ждёт продолжение, в котором мы рассмотрим основные No Code решения, используемые Citizen Developer'ами в работе по созданию различных приложений.
СТАТЬЯ БЛОГА

Доброго времени суток! 

Меня зовут Андрей Браун, я - руководитель группы по внедрению программного обеспечения в компании i-Sys Labs. В первой части своей статьи я рассказывал о том, кто такие Citizen Developer'ы и какие подходы к работе они применяют. Сегодня вас ждёт продолжение, в котором мы рассмотрим основные No Code решения, используемые Citizen Developer'ами в работе по созданию различных приложений.

Начнём с крупных игроков рынка. 

В настоящее время Microsoft активно продвигает свою No Code платформу Microsoft Power Platform для Office 365, которая включает в себя продукты Microsoft Power Apps, Flow и Power BI. Это комплекс программных продуктов по созданию приложений, организации бизнес-логики и формированию отчетов. Данная платформа предназначена как для Citizen Developer’ов, а также для всех тех, кто хочет разрабатывать приложения без программирования. 

Power Apps позволяет создавать формы и приложения, легко подключаясь к различным источникам данных. Например, можно как кастомизировать стандартные формы SharePoint Online, так и создавать отдельные мобильные и веб-приложения. Не так давно в Power Apps появилась возможность создавать еще и сайты. То есть теперь создание сайта становится довольно тривиальной задачей даже для тех людей, которые никогда особо не занимались веб-разработкой.

Flow это облачный сервис, который позволяет автоматизировать рабочие процессы между приложениями, службами и online-сервисами. Эти процессы можно использовать для сбора данных, синхронизации файлов, получения уведомлений и других целей. На данный момент в Microsoft Flow реализована поддержка более 200 различных сторонних сервисов и служб таких гигантов как Google, Dropbox, Slack, WordPress, а также различных социальных сервисов: Blogger, Instagram, Twitter, Youtube, Facebook, Vimeo и т.д. Конечно же, помимо этого доступна простая интеграция с приложениями Office 365. Для упрощения использования Flow компания Microsoft предоставила нам большое число стандартных шаблонов для различных приложений и событий, которые мы можем использовать, просто заполнив набор необходимых параметров.

Ну и Power BI – это комплексное программное обеспечение бизнес-анализа (BI) от компании Microsoft. Ключевой продукт линейки — Power BI Desktop состоит из трёх интегрированных компонентов, каждый из которых имеет свой интерфейс:

  • Power Query (редактор запросов) — выполняет загрузку и очистку данных

  • PowerPivot (наборы данных и модели данных) — интерфейс работы с табличными данными в оперативной памяти, где выполняются запросы к данным, агрегация, расчёты и т. п.

  • Power View — подсистема визуализации и построения отчётов (Reporting)

Главное преимущество Microsoft Power Platform именно в скорости разработки. Например, какие-то несложные кейсы типа различных заявок на командировки, на отпуска или на офисное обслуживание делаются за считанные часы. Что-то немного посложнее, например, какой-нибудь HelpDesk, можно сделать за день-два. Не требуется писать код или автотесты, деплоить, тестировать. Можно накидать небольшое приложение за пару часов, связать его с любым источником данных, вроде того же списка SharePoint или SQL-таблицы, и уже начинать работать. Если необходимо внести изменения в приложение – это тоже делается быстро и без привлечения разработчиков.

Как пример, мы используем Power Apps для кастомизации форм SharePoint. Мы делали заявки на командировки с интересными сценариями, например, фильтрация лукапа по лукапу, поддержка вкладок, табличные части с авансовым отчетом и задачами SharePoint.

Был пример реализации модуля универсального согласования в Office 365. Суть в том, что создается форма, в реквизитах описывается что именно согласовывается, набрасывается маршрут согласования и исполнения, после чего процесс Flow последовательно обрабатывает все сконфигурированные этапы согласования и исполнения.

Еще один из примеров применения нами Power Platform это HelpDesk. На почтовый ящик прилетает письмо от заявителя, данное письмо подхватывается потоком Microsoft Flow, распознается, генерируется уникальный регистрационный номер, определяется SLA, в зависимости от почтового адреса отправителя и создается элемент в списке SharePoint. В этом списке используются кастомизированные формы на Power Apps и кнопки запуска Flow потоков для движения заявки по жизненному циклу. На главную страницу выведен Power BI отчет, отражающий статистику по заведенным и решенным заявкам.

Таким образом в данной системе есть две точки, позволяющие создать новую заявку в HelpDesk:

  1. Вручную в списке SharePoint Online

  2. Автоматически через почту

Также есть третий способ подачи заявки – через чат-бота. Нами был разработан несложный чат-бот на базе Azure Chatbot Framework, который выполняет сразу несколько функций:

  1. Подача заявки в режиме диалога

  2. Получение информации о статусе заявки

  3. Поиск информации в базе знаний

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

Причем если возвращаться к теме про Citizen Developer’ов, то несложного чат-бота можно сделать самому, даже не открывая Visual Studio. Можно создать базу знаний, через сайт https://www.qnamaker.ai/, прямо оттуда автоматически создать бота и подключить его к Teams, Skype или Telegram. Например, это может быть консультационный бот, который будет подсказывать различные ссылки, осуществляя поиск по настроенной вами базе знаний. Это делается очень просто.

Какие же есть альтернативы Microsoft Power Platform? С помощью каких продуктов можно настраивать формы и процессы, не прибегая к программированию?

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

  • Nintex Workflow – редактор рабочих процессов для SharePoint On-Premise и Online. Отличается поддержкой огромного количества различных активити, в том числе и интеграционных (запрос LDAP, SQL запрос и т.д.).

  • Nintex Forms – редактор форм для SharePoint On-Premise и Online. Поддерживается большое количество возможностей по настройке форм, также в наличии большое количество различных встроенных функций, как в Power Apps, с помощью которых можно описывать поведение контролов на форме. Возможна настройка форм под различные типы устройств – десктоп, телефон, планшет.

  • Nintex Workflow Cloud – редактор процессов, очень похожий на Microsoft Flow. Могут использоваться триггеры для старта процесса, либо процесс может быть инициирован вручную. Доступны большое количество активити для подключения к разным сервисам и службам. Практически аналог Flow.

  • Nintex Hawkey – облачный сервис от Nintex по аналитике рабочих процессов. Данный сервис добавляет дополнительные активити в Nintex Workflow, с помощью которых можно осуществлять сбор необходимой информации. А для отображения отчетов используется Power BI.

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

  1. Вся настройка ведется в десктоп приложении, которое необходимо установить на свой рабочий компьютер, по аналогии, скажем, с Power BI Desktop приложением

  2. Webcon использует свои собственные веб-части для отображения данных, не завязываясь на веб-части SharePoint. Также Webcon добавляет свое расширение для Outlook, с помощью которого через почту можно не только производить согласование, но и работать с формами, что очень удобно

Еще один продукт, о котором стоит рассказать – это SPForms. С помощью него можно настраивать формы для списков SharePoint, как On-Premise версии, так и Online. Особенностью данного продукта является то, что конфигурирование представляет из себя написание JavaScript’ов для настройки поведения формы. То есть на форму добавляются реквизиты и контролы, после чего открывается окошко, в котором все поведение формы описывается чистыми JavaScript’ами.

И, конечно же, хочу отметить нашу линейку продуктов SystemZ. В первую очередь это продукт для SharePoint On-Premise версии, под названием ZPlatform. Поддерживаются все версии SharePoint, начиная еще с 2007. С помощью данного решения можно настраивать формы, условия отображения видимости полей на форме, условную обязательность полей, контроль уникальности введенных данных, автозаполнение полей и многое другое. Поддерживается возможность создания табличных частей на формах, плюс используется свой собственный компонент управления доступом к элементам и событиям, который работает в содружестве со стандартным механизмом прав SharePoint. Также в системе имеется отдельный компонент «Организационная структура» для хранения структуры компании в иерархичном виде и использования этой иерархии в бизнес процессах, например, при назначении задач или делегировании.

В тесной связке с ZPlatform идёт редактор рабочих процессов, под названием ZFlow. Он существует в версиях для SharePoint On-Premise и Online. Базируется на версии движка рабочих процессов Workflow 2013, с поддержкой Workflow Manager. Поддерживаются все основные активити для настройки бизнес процессов, включая поддержку согласования по почте, вычисление сроков назначения задач с использованием встроенного календаря ZFlow с возможностью пропускать при расчете выходные и праздничные дни. Одной из интересных особенностей является возможность, с помощью специального активити «Ожидать события» отправить процесс «в сон», и «пробудить» его в нужный момент с помощью активити «Создать событие» в другом процессе. Версия ZFlow для Office365 доступна в AppSource.

И, наконец, третий продукт этой линейки – редактор форм под названием ZForms. Данный редактор позволяет создавать формы для SharePoint Online, используя нативный для SharePoint интерфейс. Используется Fabric UI от Microsoft. Особенностью данного редактора является то, что в нем есть возможность написания JavaScript’ов для определения логики поведения формы. Можно писать JavaScript для описания видимости объектов на форме, обязательности реквизитов и так далее. Поддерживается возможность создания таблиц на форме, а также просмотр добавленных вложений сразу на форме. Дополнительной особенностью является возможность табличного редактирования на форме и возможность отображать столбцы в таблицах в зависимости от настроенных условий. Редактор активно развивается и в перспективе планируется поддержка различных источников данных, не только SharePoint, но и, например, таблицы SQL и любые другие сервисы. Также продукты ZForms и ZFlow тесно интегрированы между собой, и на форме ZForms можно сделать кнопку запуска рабочего процесса ZFlow, передавая внутрь процесса необходимые данные.

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

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

Спасибо за внимание!