Академический Документы
Профессиональный Документы
Культура Документы
шаблонов данных
(Расширение задачи Задача №12492)
Реализация подсистемы контроля типов и шаблонов данных (далее КТШ или подсистема) должна
состоять из следующих механизмов:
1. Механизм справочника данных - описание всех поступающих в систему данных, включая: тип,
условия применения формата, условия обязательности, прочее условия (точка расширения).
2. Механизм базового контроля – проверка поступающих данных, выполняемая как на стороне
серверной части системы, так и на сторонне клиентской части.
3. Механизм оперативного контроля – непосредственная проверка данных в процессе их
редактирование (ввода) выполняемая на стороне клиента.
4. Абстрактной механизм конвертирование данных – специальная часть механизмов
интеграции с внешними ИС, выполняемая как неотъемлемая часть конкретного
интеграционного процесса, но основанная на общем для системы справочнике данных.
Основой КТШ является Механизм справочника данных (МСД), все остальные механизмы
функционируют на его основе, что должно обеспечивать простое, централизованное управление
форматами данных без изменения программного кода.
Механизмы базового контроля (далее МБК) серверной и клиентской частей программы должны
базироваться, но одном «переносимом» коде. Серверная часть механизма является основной, она
обеспечивает качество данных. Клиентская частей механизма, обеспечивает оптимизацию
процессов взаимодействия клиент-сервер, исключая передачу некачественных данных.
Механизм оперативного контроля (далее МОК) является сервисной функцией и ввиду его
сложности может быть реализован частично (например, только для первичного ввода).
Т.к, механизм конвертирования данных (далее АМКД) не может быть реализован сразу в полном
объеме (в общем случае формат интеграции заранее не известен), он должен представлять из
себя набор абстрактных классов определяющих принципы конвертирования.
Или (что значительно проще(!)) являться простым XML файлом. Такая реализация должна
иметь подробную ХSD-схему описывающую пользовательские типы данных с учетом всех
возможный перечислений (а не только базовый типов) – что позволить полностью исключить
ошибки пополнения справочника при его ручном редактировании.
Язык описание правил применения шаблонов - должен быть реализован в виде простого
интерпретатора логических выражения включающий ограниченный набор операция («И», «ИЛИ»,
«НЕ» и их комбинаций), с возможностью их последующего расширения.
Является полным аналогам «языка описания правил условий обязательности», задачи №12492..
Или (что значительно проще(!)) являться простым XML файлом, который одновременно
может являться и форматом хранения, что значительно проще для реализации.
При реализации формата хранения в виде простого XML файла, механизм выгрузки должен
представлять XSLT-файл, выполняющий преобразования XML-JSON.
При соблюдении данного требования, данный циркулирующие внутри системы могут считаться
доверенными и обрабатываться без дополнительных проверок типа. Исключением являться
исторические данные, введенные в систему до начала использования описываемой подсистемы.
МБК состоит из аналогичных серверной и клиентской частей, которые должны базироваться, но
одном «переносимом» коде.
Механизм обновления данных должен советовать существующим правилам обновления НСИ для
клиентских приложений.
1. При первом входе в систему (или как часть инсталляционного процесса) должна
осуществляться полная загрузка НСИ.
2. Далее должна быть выполнена подписка на обновления с контролем номера последнего
успешно полученного обновления.
3. При обнаружении пропусков обновлений, должен выполняться запрос на обновление с
последнего успешного номера.
Первый вариант проверки является боле простым и может быть реализован как первый этап
механизма оперативного контроля.
Требуется обсуждение! Второй вариант является более сложным, т.к. ребует разработки «языка
описания шаблонов» и его интерпретатора. Но тем не менее является более информативным и
потенциально может выполнять простое конвертирование данных налету. Может быть
реализован на втором этапе реализации. Вместо разработки собственного механизма можно
использовать сторонние библиотеки.
Оперативный контроль
МОК является сервисной функцией и ввиду его сложности может быть реализован частично
(например, только для первичного ввода).
МОК включает:
Должна выполнятся после завершения ввода (поле потери полем фокус ввода) или при итоговом
сохранении данных (по специальной команде или попытки закрытия формы). При обнаружении
ошибки ввода должно выводится советующее сообщение по конкретному полю или по всем
полям (при итоговой проверке) с указанием ошибок.
Должна выполняться в процессе ввода данных при вводе очередного символа в определенную
позицию.
Требуется обсуждение! Является наиболее сложным видом проверки и как следствие может быть
реализована только частично, например, только при первом вводе, без учета вставок, удалений и
редактирования. Наиболее приемлемым вариантом оперативной проверки является
комбинированная проверка с использование проверки по не полным данным для простого ввода
и итоговой.
АМКД не является самостоятельным модулем и в конечном виде должен быть реализован как
неотъемлемая часть конкретного интеграционного механизма (шлюза, адаптера и т.п.).
Т.к. при интеграции с внешними ИС их формат обмена данными заранее не известен (или может
со временем меняться), АМКД должен представлять из себя набор абстрактных сущностей
(видимо классов) определяющих на сами действия, а принципы реализации.
АМКД включает:
Приложения
Предварительное описание языка шаблонов и правил (ЯШ/П)
После согласования подсистемы.