ELMA Framework — программный код в ELMA365

ELMA365 — это Low-code платформа, которая сочетает в себе 2 типа инструментов разработки: No-code и code. К No-code инструментам относятся различные конструкторы, таблицы и настройки. В этой статье мы рассмотрим, что предлагает платформа ELMA365 для разработки с помощью кода.

Существует 2 типа инструментов: 

  • Web API — для реализации интеграций с внешними системами и сервисами
  • Пользовательские скрипты — для реализации бизнес-логики исполняемой внутри платформы.

Инструменты разработки интерфейсов в ELMA365

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

Для обработки событий виджетов, например если требуется выполнить вычисления или выборку данных при нажатии на кнопку, могут применяться пользовательские скрипты разработанные на платформе. Скрипты виджетов могут выполняться как на стороне клиента, сервера или в смешанном режиме. Подробнее про работу со скриптами в интерфейсе можно почитать в Справке ELMA365.

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

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

Клиентские и серверные скрипты

Пользовательские скрипты разрабатываются на языке программирования TypeScript для реализации сложной логики по обработке данных или поведения системы. Для взаимодействия с объектами и сервисами системы была реализована специальная библиотека TypeScript SDK. Для подробного знакомства с ней выделен специальный раздел справки. 

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

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

Рассмотрим артефакты разработки, в которых применяются серверные скрипты:

  1. В бизнес-процессах есть специальный блок, позволяющий вызвать выполнение скрипта. Блок исполнения скрипта можно разместить на карте процесса, в соответствии с его логикой и настроить поведение для обработки ошибок.
  2. В конструкторе интерфейсов (форм, страниц и виджетов) можно привязать серверный скрипт для обработки событий виджетов, либо вызывать их из клиентского скрипта.
  3. В модуле с помощью скриптов можно реализовать несколько видов расширений:
  • Кастомные методы Web API, расширяя тем самым возможности интеграции новыми функциями.
  • Переиспользуемые блоки бизнес-процессов, позволяющие добавить готовую логику обработки в палитру элементов процессов.
  • Обработчики событий, позволяющие выполнять дополнительную обработку данных, при возникновении событий в системе.

Для решения некоторых специфических задач, например взаимодействия с внешними сервисами по специфическим протоколам, в серверных скриптах есть возможность подключения серверных npm пакетов. Данная функция доступна в редакции On-Premises.

Интеграции ELMA365 с внешними системами

Рассмотрим возможности по интеграции ELMA365 с другими системами. Платформа предоставляет возможность для взаимодействия по http протоколу, при этом есть возможность как отправлять запросы во внешние системы, так и обрабатывать входящие запросы от них. Таким образом можно осуществлять взаимодействие между разными системами в единый механизм, выстраивая сквозную экосистему.

В ELMA365 есть готовый WEB API, для обработки запросов от внешних систем. Он включает в себя методы по работе с приложениями, бизнес-процессами, файлами, метаданными и т.д. Подробнее про работу с Web API можно прочитать в Cправке ELMA365. И есть возможность разрабатывать свои методы API с помощью серверных скриптов в модулях, о чем мы писали выше.

Для отправки запросов во внешние системы в ELMA365 есть ряд инструментов:

  1. В бизнес-процессах есть специальный блок: Webhook, он позволяет без кода настраивать вызов внешних сервисов и передавать туда необходимые данные из бизнес-процесса.
  2. В скриптах, как клиентских так и серверных, есть возможность осуществлять вызовы внешних сервисов с помощью функции fetch. Подробнее читайте здесь.
  3. В модулях есть несколько инструментов для реализации различных сценариев интеграции:

Разработка собственных микросервисов в ELMA365

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

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

Платформа ELMA365 имеет большую палитру инструментов и возможностей по расширению системы, что позволяет выстраивать решения любой сложности и тесно интегрировать платформу в ИТ-ландшафт компании.

Поделиться:

Комментарии

Написать комментарий
0/400