Материал: Автоматизация обработки заявок Пенсионным Фондом РФ

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
71
register
idPK
theme_idFK
address_idFK
snils
patronymic
name
family
regnum
birthday
status
register_area_idFK
edit_date
register_date
receive_date
register_user_idFK
edit_user_idFK
is_active
data
D
document
idPK
register_idFK
document_idFK
seria
number
date
expire
org
data
* .. 1
D
result
idPK
register_idFK
result_idFK
date
data
1 .. 1
cat_result
idPK
name
parent_idFK
is_active
code
1..*
*..1
cat_address
idPK
name
parent_idFK
is_active
code
cat_themes
idPK
name
parent_idFK
is_active
code
1 .. *
cat_document
idPK
name
parent_idFK
is_active
code
cat_users
idPK
name
parent_idFK
is_active
code
1..*
cat_roles
idPK
name
parent_idFK
is_active
code
cat_forms
idPK
name
parent_idFK
is_active
code
1..1
data
version
cat_country
idPK
name
parent_idFK
is_active
code
*.. 1
cat_terorg
idPK
name
parent_idFK
is_active
code
director_name
accountant_name
address
account
idPK
login
password
fail_count
date
1..1
*.. 1
is_need_new_pwd
last_pwd_date
is_block
user_idFK
access
idPK
module_handler
is_allow
role_idFK
1 .. *
1..*
Рисунок 19 Взаимосвязь таблиц проектного приложения
72
2.3.3 Структурная схема пакета (дерево вызова процедур и программ)
При проектировании системы следует определить архитектуру приложения.
Приложение не должно быть монолитным и состоять из требуемого числа
изолированных (самостоятельных) модулей. Из известных миру классических
архитектур следует выбрать архитектуру, построенную на шаблоне
высоконагруженных систем – трехзвенная архитектура (Ошибка! Источник
ссылки не найден.).
В качестве клиента будет выступать веб-приложение, расположенное на
легковесном веб-сервере исполняемое на стороне пользователя.
Серверным слоем будет выступать серверное-приложение. В качестве языка
приложения необходимо использовать надежный типизированный язык высокого
уровня. Хорошим решением будет использовать язык Java, с подключением
фреймворка Spring Framework и паттерна «Внедрение зависимости», взамен Java
Enterprise Edition [11].
Слоем данных выступает реляционная база данных, отвечающая всем
предъявленным требованиям надежности и скорости.
Рисунок 20 Трехзвенная архитектура и взаимодействие звеньев
Клиентская часть может не иметь пользовательского интерфейса все действия
производятся REST запросами, например для взаимодействия с Фронт-Офисом с
Единым Порталом Государственных Услуг или Личным Кабинетом
Застрахованного Лица. Или иметь, в случае работы пользователей Пенсионного
Фонда, для которых предусмотрен графический интерфейс. Одной из
особенностей трехзвенной архитектуры является то, что клиент не привязывается
к определенной платформе или языку и может иметь любую структуру. Ошибка!
Источник ссылки не найден.Отображает примерную схему одностраничного
клиента на языке TypeScript с использованием каркаса Angular 5 и классическим
взаимодействием компонентов с внутренними сервисами, которые общаются с
сервером через сервисы REST[15].
Клиент
Rest
Сервер
JDBC
База данных
73
Структура серверной части не является монолитной и состоит из модулей, что
позволяет масштабировать проект в зависимости от нагрузки [14]. Состоит из
следующих модулей:
1. Модуль регистрации. Модуль отвечает за бизнес-данные которые могут
поступать из других модулей или систем. Осуществляет базовые(CRUD)
операции:
/Index.html
Модуль Статистики
Модуль регистрации
Компонент Регистрации
Компонент Выбора
Компонент
Выбора
Сервис Справочников
Сервис Регистраций
получить_справочник()
получить_справочник
(ид_родителя : int)
Сервер
Компонент формы
Компонент Выбора
Компонент Ввода
Компонент Даты
...
получить_форму
(ид_содержания : int)
Зарегистрировать
обращение(json)
JSON
Компонент Флаг
Компонент
Кнопка
...
...
Рисунок 21 Проектируемая структура клиентского приложения
а) Создание – обращения. Создание нового обращения, присвоение ему
уникального идентификационного номера. Создание обращения возможно с
использованием существующего. Пользователю совсем не обязательно заполнять
постоянные поля и имеется возможность заполнить новое обращение с
использованием ранее зарегистрированного и не имеющего отношения, в
предметном смысле, к существующему
б) Редактирование – позволяет изменять информацию существующих
обращений. После сохранения изменений номер идентифицируемого обращения
не изменяется. В целях обеспечения правомерности изменений, редактирование
должно журналировать мета данные о изменениях в обращении и пользователе
совершающим редактирование.
в) Удаление – физическое удаление информации об обращении из БД. Равно
как и для редактирования, должно журналировать мета данные о пользователе
74
совершающим удалении. Как дополнительная мера защиты обращение может
только помечаться удаленным, таким образом можно исключить случайное
удаление информации.
в) Просмотр(чтение) – вспомогательная функция модуля регистрации.
Предоставляет чтение информации об обращении(обращениях) из базы данных.
В прикладном смысле предоставляет клиенту чистые бизнес-данные.
2) Модуль пользовательских форм. Модуль предоставляет графическую форму
регистрации. Производит контроль над вводимой информацией.
3) Модуль поиска обращений. Модуль предоставляет программные средства для
поиска обращений по гражданам и основным реквизитам обращений.
4) Модуль формирования статистики. Прикладной инструмент для создания
отчетов по различным срезам. Позволяет автоматизировать анализ и
отчетность работы отделений.
5) Модуль Интеграции – Модуль передачи обращений в целевые подсистемы и
получения результатов рассмотрения.
6) Модуль авторизации и аутентификации – задачей модуля является
идентификация пользователя, авторизация в системе и определение прав
пользования
7) Модуль печатных форм – модуль предназначен для генерации выходных
документов, по представленным шаблонам. Шаблоны располагаются в
директории и легко изменяются. Это важно тогда, когда требования к
выходным документам изменяются.
8) Информационно-справочный модуль – задачей модуля является
централизованное управление справочниками: предоставление доступа
клиенту и другим модулям Фрон-офиса. При необходимости можно легко
переключить на взаимодействие данного модуля с независимой документо-
ориентированной базой данных(NOSQL
1
). При таком изменении нет опасения
1
NoSQL (англ. not only SQL, не только SQL), в информатике — термин, обозначающий ряд подходов,
направленных на реализацию хранилищ баз данных, имеющих существенные отличия от моделей,
используемых в традиционных реляционных СУБД (https://ru.wikipedia.org/wiki/NoSQL)
75
«поломать» систему, так как внешние взаимодействие остается неизменным,
скрывая реализацию внутри модуля.
Каждый модуль должен представлять из себя REST сервис и выполняет только
свою задачу, предоставляя интерфейс для внешнего доступа и скрывая
реализацию внутри модуля. Таким разделением обуславливается высокая
надежность и отказоустойчивость в работе Фронт-Офис. На Ошибка! Источник
ссылки не найден. отображено взаимодействие сервисов между собой, клиентом
и целевой подсистемой.
Источник: https://baza.diplomsite.ru/previewfile/1902