Как создать виртуального робота?

от автора

Автоматизация процессов знакома бизнесам любого масштаба. Практически в каждой компании используются макросы на VBA, например, для создания отчетности или проведения вычислений. Но зачастую для сквозной автоматизации бизнес-процесса применения макросов бывает недостаточно: большинство из них использует несколько различных приложений, работу с веб-страницами, электронной почтой, базами данных и, конечно же, учетными системами. Здесь и приходит на помощь технология RPA (Robotic Process Automation), позволяющая создавать виртуальных «роботов», эмулирующих действия обычного бизнес-пользователя.

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

Хотя идея, лежащая в основе RPA, и не является новой, с каждым годом к ней обращено все больше внимания. В последние несколько лет рынок RPA стал одним из самых быстрорастущих, в 2019 году его объем составил 1,4 млрд долларов, а к 2022 году ожидается объем в 2.4 млрд. Это отражается и в росте количества RPA-вендоров, в том числе фокусирующихся на определенных нишах или направлениях бизнеса. В связи с этим многие крупные предприятия сейчас переходят на мультивендорную стратегию и используют разных поставщиков для различных задач.

В конце 2018 года SAP приобрел одного из вендоров технологии RPA, французскую компанию Contextor, представленную в основном на европейском рынке. С тех пор решение было доработано как с точки зрения интеграции с другими SAP-приложениями, так и для улучшения общей производительности и расширения функционала. В мае 2019 года был представлен новый продукт SAP Intelligent Robotic Process Automation. В планах компании продолжать работу над «интеллектуальной» составляющей роботов: использовать технологии ML и Conversational AI для упрощения взаимодействия пользователей с роботами и предотвращения возникающих в процессе выполнения ошибок.

Как это работает?

RPA-бот состоит из элементарных шагов процесса, или навыков (например, открыть Excel, сохранить значение ячейки). Эти навыки соединяются между собой в нужной последовательности в визуальном интерфейсе, образуя целый набор шагов. Мы называем этот процесс «workflow». При этом для расширения возможностей можно добавить «custom» шаг и использовать встроенную в решение среду Javascript. Полученный workflow определяет сценарий робота. Далее мы можем запланировать его выполнение с определенной периодичностью или делать вручную по команде пользователя, либо по событию. Принцип работы изображен на рис. 1.

image
Рисунок 1. Принцип создания робота

Решение умеет работать как с традиционными инструментами (MS Office, PDF, Outlook), так и с облачными приложениями и веб-сервисами, legacy-приложениями, и, конечно же, с SAP. А еще оно имеет специальные коннекторы для интерфейсов GUI и UI5. Поддерживается работа в двух разных режимах, переключение между которыми доступно в самом роботе:

  • Без сопровождения. Цифровой сотрудник.
    Полностью автоматизированный процесс, в ходе которого бот выполняет работу автономно под наблюдением человека.
  • С сопровождением. Цифровой помощник.
    Частично автоматизированный процесс, в ходе которого бот выполняет работу совместно с пользователем.

А что внутри?

  • студия для создания ботов (Desktop Studio)
  • оркестратор для их контроля и мониторинга (Cloud Factory)
  • агент, который выполняет сценарии (Desktop Agent)

Архитектура решения изображена на рис. 2.

image
Рисунок 2. Архитектура решения

Сценарий создания робота с SAP Intelligent RPA

Теперь рассмотрим, как создается простой робот на примере процесса проверки контрагента в системе СПАРК и получения оттуда контактных данных контрагента для последующего внесения этих данных в ERP.

  1. На почту пользователю приходит письмо, в котором вложен Excel файл со списком контрагентов.
  2. Робот открывает этот файл, находит соответствующих контрагентов в системе СПАРК и берет оттуда контактную информацию (например, телефон и адрес электронной почты).
  3. Робот вносит информацию по контрагентам в учетную систему.

Процесс разработки бота начинается с создания проекта, который и является вашим будущим роботом. Далее определяются приложения, с которыми будет работать робот: в студии для разработки выбираем тип приложения и определяем страницы (в случае веб) или окна (в случае win). Все страницы имеют уникальный идентификатор, который позволяет роботу ее распознать и работать. Это может быть имя, id, либо какое-то другое свойство. Главное, чтобы оно было уникальным для этой страницы. Таким же образом определяются элементы, их можно определить в дереве (структуре) или визуально, и также выбрать уникальный идентификатор.

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

Первым шагом добавим активность для чтения письма. Затем робот должен открыть вложение и считать из него информацию, открыть СПАРК, найти данные и последним шагом внести их в ERP. В результате, получаем workflow, как на рисунке 3.

image
Рисунок 3. Студия для разработки: создание workflow

Обратите внимание, с некоторыми приложениями робот работает с помощью API (MS Office), а с остальными на уровне графического интерфейса. Именно поэтому на скриншоте можно видеть разницу между активностями с Excel и страницами СПАРК.

Далее, если «провалиться» на уровень конкретной активности, то можно увидеть, какие действия будет выполнять робот на этом шаге, как, например, на экране ниже (рис. 4). Робот записывает телефон и адрес электронной почты в заранее созданные переменные.

image
Рисунок 4. Активности для работы со страницей

Но и это еще не всё: под каждый шаг генерируется Javascript-код, в который можно перейти прямо из шага, посмотреть его, внести изменения или написать шаг с нуля (рис. 5). Также есть конструктор, который помогает строить pop-up окошки для attended роботов для упрощения взаимодействия с пользователем.

image
Рисунок 5. Код проекта

Запуская робота в режиме отладки, можно протестировать отдельные функции созданного workflow. Проверить, корректно ли определяются страницы и элементы приложений, с которыми работает робот, присвоить им определенные значения, ну и в целом протестировать отдельные шаги workflow, чтобы быть уверенным, что всё отрабатывает, как было запланировано.

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

После того, как мы загрузили робота на платформу оркестрации и определили расписание и среду выполнения, он запускается из области уведомлений Windows в соответствии с настройками и отрабатывает свой сценарий. Аналитика по результатам будет доступна в оркестраторе.

В целом, принцип работы RPA-решения достаточно прост. Однако, пройдя полный цикл от постановки задачи до ее реализации, можно обратить внимание на детали, для которых крайне важна гибкость, как, например, расширение функциональности и масштабируемость. Надеемся, эта статья поможет вам подготовиться к созданию вашего первого робота с SAP Intelligent RPA. Также хочется отметить, что у нас есть общедоступный, бесплатный онлайн-курс по созданию роботов на платформе OpenSAP. Если у вас возникнут вопросы, пишите в комментариях, будем рады помочь. Успехов!

Авторы: Ботагоз Жатакбаева, Мария Ларичева, Евгений Горбунов, архитекторы бизнес-решений SAP CIS


ссылка на оригинал статьи https://habr.com/ru/company/sap/blog/481948/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *