Необходимость разработки модуля настройки маршрутизации запросов образовалась в процессе внедрения в систему АСОТ технологии мультизапросов. В первоначальной версии системы у каждого справочника была своя схема маршрутизации запросов. Такая структура программы не позволяла разнотипным объектам проходить по одной и той же схеме маршрутизации в рамках одного запроса, что исключало возможность использования технологии мультизапросов. Также, стоит отметить, что на 35 справочников существовало всего лишь 4 уникальные схемы маршрутизации, что говорит об избыточности данных. Также изменение одинаковых схем являлось довольно трудоёмким и неудобным процессом. Эти факторы тоже повлияли на решение о смене структуры программной части по маршрутизации запросов.
Интерфейс создания и редактирования запросов
Ядро.
Основной компонент АСОТ
Рис 4.4 Модуль настройки схем маршрутизации
Часть, выделенная голубым фоном (рис. 4.4), показывает структуру разрабатываемого модуля настройки схем маршрутизации. Модуль разбит на три логических элемента: «Настройка схем маршрутизации», «Маршрутизация запросов» и «Запись в БД». Также на схеме изображены компоненты, с которыми модуль настройки схем маршрутизации обменивается данными. С помощью интерфейса создания и редактирования запросов пользователи формируют информацию об изменении данных и отправляют её по настроенной схеме. В ядре АСОТ реализованы все базовые функции работы программы, в том числе и обмен данными с БД.
«Настройка схем маршрутизации» представляет собой интерфейс, с помощью которого администратор системы создаёт и редактирует все сущности системы маршрутизации: регистрирует физические таблицы, создаёт справочники, типы ролей и схемы маршрутизации. В схемах маршрутизации необходима настройка состояний, переходов, ролей, наборов полей и бизнес-процессов.
«Маршрутизация запросов» выполняет функцию распределения запросов по ролям по предварительно настроенной схеме маршрутизации.
«Запись в БД» осуществляет запись изменённой информации в базу данных с помощью функций описанных в ядре АСОТ. Перед непосредственной записью данных программа выполняет несколько операций, для проверки полноправности вносимых изменений.
Новая структура модуля решила ряд проблем первоначальной версии программы, но она не может обеспечить должную гибкость схем маршрутизации при решении каких-либо конкретных задач, например: динамическое изменение пути запроса в зависимости от заполненных атрибутов и их значений. Для достижения этой цели в систему были внедрены такие средства как: бизнес-процесс и условия остановки в состояниях.
Бизнес-процесс – это режим обработки запроса, со своими ограничениями и допусками. С помощью этого режима можно задавать допустимые операции со справочниками и наборы полей объектов. Также бизнес-процесс используется как флаг для условий остановки в состоянии. При определении бизнес-процесса программа маршрутизации может остановить запрос в конкретном состоянии или пропустить его, в зависимости от описанного администратором системы условия.
По умолчанию переход в следующее смежное состояние выполняется автоматически. С помощью метаязыка можно устанавливать правила, при которых в состоянии будет произведена остановка. Правила остановки можно устанавливать только на промежуточные состояния и проверяться они будут только при выполнении переходов типа Forward. В правиле описывается набор условий, связанных логическими операторами.
В случае если при выполнении перехода обнаруживается, что пользователь, осуществляющий переход, может работать в следующем смежном состоянии, то переход в него выполняется автоматически, после чего вновь проверяется доступность работы пользователя в следующем смежном состоянии, и т.д.
Для того чтобы правила остановки выполнялись, они должны быть правильно описаны на специально разработанном метаязыке.
Do'stlaringiz bilan baham: |