В статье авторы пытаются определить технологии и механизмы работы bpm системы, написанной на чистом SQL, при поддержке технологии REST API для интероперабельности системы.
Ключевые слова: sql, api, rest api, bpm-система.
В текущем мире технологических процессов и услуг невозможно представить компанию, не имеющую свою информационную систему. Маленькая компания или большая, у каждой компании есть своя информационная система, которые может выполнять различные функции необходимые для бизнеса, такими могут быть как процессы документооборота, оплаты, хранение информации о клиенте, товарах и тому подобное. Разные компании пользуются различными решениями, некоторые покупают, некоторые сами разрабатывают необходимые себе системы, но у большинства данных систем есть свои недостатки. Например, у купленной готовой универсальной, коробочной системы есть свой ряд минусов, одними из которых может быть то, что нет определенные специализированных функций под каждую конкретную компанию, н это и очевидно в виду того, что все таки это универсальная система, она не может быть специализирована для всех, но понимая это мы понимаем то, что разработанная система будет лучше, чем коробочная, да даже в виде интеграции и модификации данной системы. Но как мы и рассуждали, разработанная система тоже имеет минусы, а главное ее минусов — это цена разработки и время разработки. Но есть время и деньги есть, то почему бы не попробовать создать в целом для бизнеса универсальную систему, мастер шину, bpm решение, которое так же легко модифицируется, имеет открытый и общий интерфейс для всех необходимых систем. Интерфейс разрабатывается на REST API технологии [1], которая позволяет обмениваться HTTP запросами, для этого серверу необходимо создать веб-приложение, которое будет вызывать одну процедуру, в которой будут находиться все инструкции для управления и методы для различных действий.
Так как с интеграций определились, стоит рассмотреть модифицируемость системы. Так как система разрабатывается на SQL чистом, с минимальным использованием C Sharp в виду CLR функций, то данная система будет легка для обучения новыми сотрудниками, а значит и поддержка данной системы обойдется не дорого. Модифицировать предметные процедуры и функции достаточно легко, при этом условия и методы для процедуры, которая вызывается веб-приложением, которая осуществляет функции веб-приложения тоже достаточно легко. Разработчиков, знающих SQL множество, а значит проблем с поиском команд и сотрудников отдельно будет не сложно.
Рассмотрев основные моменты функционирования и интеграции, модификации системы, можем рассматривать как именно будем реализовывать bpm решение в данной системе. Для этого определим, что такое BPM система. BPM (Business Process Management, управление бизнес-процессами) — это концепция управления организацией, представляющая деятельность предприятия как совокупность процессов. Объединяет идеи менеджмента бизнес-процессов и IT-среду для их изменения (специализированное программное обеспечение, BPM-система) с использованием BPMN-нотации [2].
В данной системе я предполагаю решение, связанное через карты, шаги, блок-схемы, как бы это не назвать, но идея заключается в том, что для каждого бизнес процесса в определенные системные таблица, созданные заранее и продуманные, будет необходимость заполнить шаги, инструкции данного бизнес-процесса, при этом указать в какие моменты какие процедурой он запускает. Реализация перехода, запуска и хранения маршрутный карты, будет реализована с помощью данных системных таблиц и триггеров, которые связывают их между собой, указывая как именно данным таблицам работать между собой.
Первая таблица для данного bpm решения может служить таблица карт, в которой хранится общее название, смысл данного бизнес-процесса. Второй табличкой служит таблица шагов по карте, то есть по конкретной карте задаются определенные шаги в определенном порядке, при этом указываются процедурой, которые необходимо им выполнить. В данных двух таблицах расположен маршрут, а реализация прохода по данному маршруту можно сделать через таблицы логов данных процессов. То есть таблица процесса карты, таблица процессов шагов, и таблица процессов запусков процедур, по каждому из шага. В итоге из данных связок мы получаем универсальную и гибкую технологию работы bpm решений.
Одним из примеров данного бизнес-процесса можно рассмотреть процесс выдачи гарантий банком, для компании подавшей заявку на данную гарантии рис. 1.
Рис. 1. Карта бизнес-процесса «Выдача гарантии».
На данном рисунке можно увидеть процесс автоматизации по шагам небольшого бизнес-процесса, который выполняет выгрузку данных по компании, выполняет роль DSS системы, которая хранит в себе логику решений и проверки данных решений, так же при этом в данной системе возможна реализация функций, необходимый для аналитиков, верификаторов, опер блока и т. д. Все это зависит от построенной схемы карты, ее шагов.
Сам процесс логики каждого шага лежит на компании, использующей данную систему, так как под каждый блок — можно создать свою маленькую процедуру проверки, выгрузки данных, отправки по встроенным CRL функциям сообщений на почту, telegram.
Литература:
1. Habr — Введение в REST API — RESTful веб-сервисы. [Электронный ресур] — https://habr.com/ru/post/483202/, (дата обращения — 22.05.22 г.).
2. Docsvision — BPM (Business Process Management). [Электронный ресур] — https://docsvision.com/info-centr/articles/bpm-business-process-management.html, (дата обращения — 22.05.22 г.).