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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
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