Creatio предлагает широкие возможности для интеграции внешних приложений.
Факторы, от которых зависит выбор способа интеграции:
- Потребности клиента.
- Тип и архитектура внешних приложений.
- Компетенции разработчика.
Основные способы интеграции представлены на схеме ниже.
Сравнение основных характеристик способов интеграции с Creatio приведено в таблице.
Сервисы работы с данными
Сервисы работы с данными, которые позволяет использовать Creatio:
- Протокол OData.
- Сервис DataService.
Сервис DataService
DataService (разработан Creatio) — сервис, который реализует связь между front-end и back-end частями приложения. DataService позволяет выполнять передачу пользовательских данных в back-end часть приложения для последующей обработки и сохранения в базу данных. Подробнее читайте в статье DataService.
Кроме выполнения CRUD-операций, сервис работы с данными DataService позволяет использовать встроенные макросы и фильтры. Сложные запросы можно выполнять пакетно.
Протокол OData
OData (Open Data Protocol) — это утвержденный ISO/IEC стандарт OASIS, который определяет набор лучших практик для построения и использования REST API. Доступ к данным и объектам Creatio по протоколу OData может получить любое внешнее приложение, которое поддерживает обмен сообщениями по HTTP-протоколу и может обрабатывать данные в формате XML или JSON. При этом данные доступны в виде ресурсов, которые идентифицированы с использованием URL. Чтобы взаимодействовать с данными, используйте стандартные HTTP–методы GET, PUT/PATCH, POST и DELETE. Детальное описание протокола содержится в документации OData.
Кроме выполнения CRUD-операций, протокол OData позволяет использовать функции работы со строками, датами и временем. Также протокол предоставляет большое количество клиентских библиотек по работе с OData для расспространенных приложений.
Приложение Creatio поддерживает протоколы OData 4 и OData 3. По сравнению с OData 3, OData 4 предоставляет больше возможностей. Основное отличие протоколов — разный формат данных ответа на запрос, который возвращается сервером. Различия протоколов OData 3 и OData 4 описаны в официальной документации OData. При планировании интеграции с Creatio по протоколу OData необходимо использовать протокол версии 4.
Сервис запуска бизнес-процессов
Системный веб-сервис ProcessEngineService.svc используется для запуска бизнес-процессов из внешнего приложения. Кроме запуска бизнес-процессов из внешнего приложения, сервис ProcessEngineService.svc позволяет выполнять обмен данными между Creatio и внешними приложениями. Подробнее читайте в статье Сервис запуска бизнесс-процессов.
Пользовательский веб-сервис
Creatio предоставляет возможность пользователям создавать пользовательские веб-сервисы, которые используются для реализации специфических интеграционных задач. Конфигурационный веб-сервис представляет собой RESTful-сервис, который реализован на базе технологии WCF. Подробнее читайте в статье Пользовательские веб-сервисы.
Пользовательский веб-сервис позволяет выполнять обмен данными, который реализует разработчик. Также веб-сервис позволяет разработчику реализовать любые операции с объектами Creatio, в том числе CRUD-операции.
Для доступа пользователя к таким сервисам авторизация не обязательна.
Рекомендации при интеграции внешних приложений с Creatio
Мы рекомендуем использовать многопоточную интеграцию для достижения максимальной пропускной способности приложения. При этом учитывайте режим работы внешнего приложения с сессиями.
- Если API внешнего приложения поддерживает неблокирующий режим работы с сессиями, то интеграция может выполняться в несколько потоков с использованием одних и тех же учетных данных.
- Если API внешнего приложения поддерживает блокирующий режим работы с сессиями, то используйте систему работы с набором учетных данных. Это позволяет эффективно использовать доступные ресурсы приложения.
В процессе настройки интеграции реализуйте возможность регулирования количества одновременных потоков, которые генерирует внешнее приложение при обращении к Creatio. Это позволяет настроить оптимальное распределение ресурсов и обеспечить работу всех подсистем. При этом вы можете контролировать нагрузку интегрируемого приложения на API Creatio.