СИСТЕМА СОЗДАНИЯ ОТЧЕТНЫХ ФОРМ
SYSTEM FOR REPORT FORMS GENERATION

Система создания отчетных форм предназначена для ускорения процесса разработки интерфейса взаимодействия с пользователем, упрощения создания выходных форм отчетов.
Изобретение относится к области вычислительной техники, а именно к информационным системам автоматизации управления.
В большинстве отчетных систем автоматизированы этапы авторизации и формирования выходного документа. В рассматриваемой системе помимо этого автоматизирован и этап разработки интерфейса взаимодействия с пользователем, за счет которого упрощается процесс создания выходных отчетных форм. Созданный пользователем отчет автоматически встраивается в интерфейс пользователя. Под автоматизацией подразумевается замена процесса программирования и связанного с ним издержками на процесс описания интерфейса.
В качестве прототипа выбрана система (патент на полезную модель РФ RU 48420), которая решает в том числе задачи формирования отчетности, визуализации основных показателей деятельности. Система включает рабочие места пользователей, устройство хранения данных (хранилище данных), устройство нормативно-справочной информации, устройство сбора детализированных данных бизнес-операций, устройство отчетности, устройство консолидации, устройство визуализации, близкие по своему функциональному назначению блокам предлагаемой полезной модели. Однако указанная система не позволяет пользователю без участия квалифицированного программиста с помощью используемых прототипом программных продуктов Microsoft SQL Sever и Microsoft OLAP Server автоматизировать процесс разработки интерфейса взаимодействия с пользователем.
В предлагаемой системе создания отчетных форм реализована функциональность декларативного описания интерфейса пользователя, что
не требует работы разработчика и доступна пользователю. В отличие от прототипа, в котором отчетная система и интерфейс пользователя стандартизирован и изменение которого требует дополнительной работы разработчиков, в рассматриваемой системе большая гибкость достигается исключением процесса дополнительного программирования.
Технический результат изобретения - создание пользователем отчетных форм и интерфейса взаимодействия без участия разработчика системы. Пользователь самостоятельно помимо шаблонов отчета имеет возможность определять формы ввода параметров, необходимых для формирования отчета.
Поставленная задача достигается тем, что система создания отчетных форм, включающая автоматизированные рабочие места, хранилище данных, блок справочной подсистемы, блок сбора данных, блок отчетности, блок консолидации, блок визуализации, отличающаяся тем, что согласно изобретению система дополнительно включает блок шаблонов, блок права доступа, блок оптимизации, блок описания интерфейса, блок динамического контента, блок статического контента, блок привязки, блок авторизации, причем автоматизированные рабочие места соединены односторонними связями с блоком визуализации, блок визуализации двусторонними связями соединен с блоком справочной подсистемы, блоком отчетности, блоком консолидации, блоком авторизации, а блок авторизации двусторонними связями соединен с блоком консолидации и блоком права доступа, блок консолидации двусторонними связями соединен с блоком отчетности, блоком сбора данных, блоком динамического контента, блоком статического контента и блоком привязки, а блок права доступа односторонними связями соединен с блоком оптимизации, блоком описания интерфейса, хранилищем данных, блоком сбора данных, блоком шаблонов, хранилище данных односторонней связью соединен с блоком сбора данных, блок сбора данных двусторонней связью соединен с блоком отчетности, блок шаблонов односторонней связью соединен с блоком отчетности, блок описания интерфейса односторонней связью соединен с блоком оптимизации, блок оптимизации односторонними связями соединен с блоком динамического контента, блоком статического контента и блоком привязки, блок привязки односторонними связями соединен с блоком динамического контента и блоком статического контента.
Данная задача решена путем замены процесса программирования и связанного с ним издержками на процесс описания интерфейса.
Структура изобретения представлена на фиг. 1 и состоит из следующих блоков:
1. автоматизированные рабочие места,
2. хранилище данных,
3. блок справочной подсистемы,
4. блок сбора данных,
5. блок отчетности,
6. блок консолидации,
7. блок визуализации,
8. блок шаблонов,
9. блок права доступа,
10. блок оптимизации,
11. блок описания интерфейса,
12. блок динамического контента,
13. блок статического контента,
14. блок привязки,
15. блок авторизации.
В структуре системы можно выделить также модуль сервера приложений и модуль дизайнера.
АРМ 1 - автоматизированные рабочие места (компьютеры пользователей) предоставляют пользователям возможность взаимодействия с системой формирования отчетов посредством блока визуализации 7. В качестве АРМ может быть использован любой программно-аппаратный комплекс, обладающий сетевым доступом к модулю сервера приложений и установленным браузером.
Хранилище данных 2 является централизованным местом хранения данных всевозможного вида, поступающих из различных источников, и обеспечивает механизмы долговременного хранения информации и доступа к ней.
Модуль сервер приложений включает в себя блок справочной подсистемы 3, блок отчетности 5, блок консолидации 6 и блок авторизации 15. Данный модуль осуществляет обработку запросов пользователя, передаваемых блоком визуализации 7, в том числе и проверку правомочности получения запрашиваемых данных. Основной функцией модуля является формирование запрашиваемых пользователем данных в виде готовых к отображению блоком визуализации 7 веб-страниц или документов отчетов.
Блок справочной подсистемы 3 предоставляет пользователю описание визуального интерфейса, предоставляемого блоком визуализации 7, порядок работы с системой формирования отчетов, а также прочую нормативно-справочную информацию, относящуюся к задачам, решаемым пользователем.
Блок сбора данных 4 предоставляет запрашиваемые данные для блока отчетности 5 и блока консолидации 6 в соответствии с правами доступа пользователя. Блок сбора данных 4 осуществляет выборку исходных данных из хранилища данных 2, их связывание, аналитическую, статистическую и другую, предусмотренную для данного запроса обработку и формирование выходных данных в формате, соответствующем запросу от блока отчетности 5 или блока консолидации 6.
Блок отчетности 5 запрашивает данные для отчета у блока сбора данных 4, передавая ему входные параметры, полученные от пользователя через блок визуализации 7, в соответствии с которыми формируются данные. После получения данных блок отчетности 5 запрашивает шаблон выходного документа отчета из блока шаблонов 8. В соответствии с шаблоном выходного документа на основании данных отчета блок формирует выходной файл отчета и передает его блоку визуализации 7.
Блок консолидации 6 формирует веб-формы, передаваемые блоку визуализации 7 для отображения пользовательского интерфейса. При поступлении запроса блок консолидации 6 обращается к блоку авторизации 15 для подтверждения полномочий пользователя на получение запрашиваемой информации. В случае наличия у пользователя прав на выполнение данного запроса блок консолидации 6 получает от блока статического контента 13 шаблон веб-страницы. Далее обращается к блоку динамического контента 12 за получением информации о том, какие процедуры из блока сбора данных 4 и с какими параметрами нужно вызвать для формирования данных. Обращается к блоку сбора данных 4 и размещает полученную информацию на шаблоне веб-страницы, полученной от блока статического контента 13, используя информацию о размещении, полученную от блока привязки 14. Сформированная таким образом веб-страница передается блоку визуализации 7 для отображения пользователю.
Блок визуализации 7 обеспечивает визуальный интерфейс взаимодействия системы формирования отчетов с пользователем, а также осуществляет взаимодействие с модулем сервера приложений в ответ на запросы пользователя. Блок визуализации 7 реализует отправку запросов пользователя на получение доступа к ресурсам системы формирования отчетов, справочной информации от блока справочной подсистемы 3, отчетов от блока отчетности 5, форм ввода или просмотра данных от блока консолидации 6, а также отображение полученной в результате запроса информации.
На фиг. 2 представлены структура блока визуализации 7:
16. блок интерфейса взаимодействия с пользователем,
17. блок взаимодействия с сервером приложений,
18. блок библиотеки компонентов.
Блок визуализации 7 включает в себя: блок интерфейс взаимодействия с пользователем 16, блок взаимодействия с сервером приложений 17 и блок библиотеки компонентов 18.
Блок шаблонов 8 является хранилищем шаблонов выходных документов, т.е. описаний структуры и формата выходных документов отчетных форм и предоставляет их в соответствии с правами пользователя блоку отчетности 5.
Блок права доступа 9 регулирует получение информации и возможность обращения к блокам модуля дизайнер, блоку сбора данных 4 и блоку шаблонов 8 в соответствии с правами пользователя инициировавшего запрос.
Модуль дизайнер включает в себя блоки, реализующие механизм описания форм интерфейса пользователя и методы формирования на основании этих описаний элементов веб-интерфейса, используемых блоком консолидации 6 для формирования веб-форм, передаваемых для отображения блоку визуализации 7.
Блок оптимизации 10 на основании данных блока описания интерфейса 11 формирует шаблон веб-страницы, соответствующий описанному интерфейсу, и передает его блоку статического контента 13. Затем для получения информации по запросу пользователя и в соответствие с его правами формирует параметры обращения к блоку сбора данных 4 и передает их блоку динамического контента 12, а также формирует информацию, необходимую для заполнения шаблона веб-страницы.
Блок описания интерфейса 11 содержит описание элементов интерфейса взаимодействия с пользователем, их компоновку, а также информацию, передаваемую блоку сбора данных 4 для извлечения данных и последующее размещение полученных данных в элементах интерфейса пользователя.
Блок динамического контента 12 содержит параметры обращения к блоку сбора данных 4 для формирования запрашиваемой пользовательским запросом информации, которая будет размещена блоком консолидации 6 на веб-форме, передаваемой блоку визуализации 7, для отображения пользователю в качестве ответа на его запрос.
Блок статического контента 13 содержит шаблоны веб-страниц, по которым формируются ответы на запросы пользователя.
Блок привязки 14 содержит информацию о размещении на шаблонах веб-страниц из блока статического контента 13 данных, полученных от модуля сбора данных 4.
Блок авторизации 15 осуществляет проверку прав пользователя на доступ к системе формирования отчетов и к ее отдельным ресурсам. В начале работы пользователя с системой формирования отчетов модуль визуализации 7 отправляет запрос блоку консолидации 6 для получения списка доступных ресурсов. Блок консолидации 6 перед обработкой любого запроса обращается к блоку авторизации 15 для подтверждения полномочий пользователя на выполнение данного запроса. При запросе пользователя, полученном от блока визуализации 7, блок авторизации 15 запрашивает у блока прав доступа 9 подтверждение прав пользователя на выполнение запроса. Все запросы на получение информации, за исключением обращения к блоку справочной подсистемы 3, проходят проверку через блок авторизации 15.
Блок интерфейса взаимодействия с пользователем 16, на основании описаний форм интерфейса, полученных от модуля Сервера приложений через блок взаимодействия с сервером приложений 17, осуществляет построение и визуализацию элементов интерфейса пользователя. Для построения интерфейса блок интерфейса взаимодействия с пользователем 16 использует компоненты, предоставляемые библиотекой компонентов 18. На основании конфигурационной информации, полученной от блока взаимодействия с сервером приложений 17, блок интерфейса взаимодействия с пользователем 16 настраивает взаимодействие компонентов между собой и их реакцию на действие пользователя, а также формирование, на основании действий пользователя, запросов на получение данных от модуля сервера приложений.
Блок взаимодействия с сервером приложений 17 реализует передачу запросов и параметров от блока интерфейса взаимодействия с пользователем 16 на модуль сервера приложений и получение ответных данных (отчетов, описаний форм интерфейса, конфигурационной информации и т.п.) с модуля сервера приложений. Взаимодействие с модулем сервера приложений осуществляется по протоколу http с использованием технологии AJAX.
Блок библиотеки компонентов 18 предоставляет блоку интерфейса взаимодействия с пользователем 16 репозиторий компонентов для построения экранных форм.
Система реализована с использованием трехзвенной архитектуры.
Элементы интерфейса взаимодействия с пользователем (ввод параметров отчета, навигация по доступным ресурсам и т.д.) и их взаимодействие описывается в формате XML и хранится в базе данных (БД). Помимо описания интерфейсной части в БД хранится информация о правах доступа пользователей к отчетам. На основании XML описания клиентской части, для уменьшения времени отклика системы, автоматически строится статическая часть приложения и заполняются структуры, необходимые для формирования вариативной части.
Авторизация пользователя и формирование web-форм (объединение статической и вариативной частей в единый HTML фрагмент приложения) осуществляется на стороне сервера приложений. Процесс написания нового отчета заключается в разработке процедуры формирования данных для отчета на стороне БД, создания шаблона отчета и описания формы ввода параметров отчета. Таким образом, исключаются этапы разработки кода на стороне сервера приложений и интерфейса пользователя.
Таким образом, подобный подход позволяет:
- уменьшить время разработки клиентской части,
- увеличить надежность системы за счет использования отлаженного кода,
- упростить процесс внесения изменений в отчеты,
и в конечном итоге, уменьшить стоимость разработки и сопровождения программного обеспечения.
Аппаратные требования к блокам и модулям системы следующие.
АРМ 1, Блок визуализации 7 могут быть реализованы на базе аппаратных платформ х86, х64, ARM под управлением операционных систем Windows (ХР и выше), Linux (+GCC v4.6, +GTK v2.24), Android (4.0 и выше), IOS (7.0 и выше), OS X (10.6 и выше) с установленным браузером Google Chrome (16.0 и выше). Требования к аппаратной части: 256 Мб RAM, 100 Мб свободного места на жестком диске.
Сервер приложений (блок справочной подсистемы 3, блок отчетности 5, блок консолидации 6, блок авторизации 15) может быть реализован на базе аппаратных платформ х86, х64 под управлением операционных систем Linux (Oracle Linux 5.5+, Red Hat Linux 5.5+, Suse Linux 11+, Ubuntu Linux 11+), Windows (7+), OS X (10.8.3+) с установленной JDK 7 и контейнером сервлетов Apache Tomcat (7.0.22+) или сервером Oracle GlassFish (3.1+). Минимальные требования к аппаратной части: Intel Pentium 2 266 МГц, 256 Мб RAM, 200 Мб свободного места на жестком диске.
Хранилище данных 2, модуль дизайнера, блок права доступа 9, блок шаблонов 8 и блок сбора данных 4 могут быть реализованы на базе аппаратных платформ х86, х64, SPARC под управлением операционных систем Linux, Windows, Solaris с установленной СУБД Oracle (9i+). Минимальные требования к аппаратной части: Intel PentiumIII 500 МГц, 512 Мб RAM, жесткий диск от 20 Гб.