|
Тезисы к докладу на МФИ-2003: Разработка генератора отчетов для максимально полного анализа данных в информационных системах |
|
| Конин А.Л., Савицкий Е.Н., Чувиляев М.В. |
| (Москва, Информационно-Вычислительный Центр Московского Энергетического Института (Технического Университета), Россия) |
|
    При разработке современных сложных информационных систем (ИС) все чаще используется более естественный для человека объектно-ориентированный подход. Однако, преимущества реляционных СУБД по-прежнему определяют как способ хранения данных в ИС, так и механизмы выборки данных для обработки. Одной из основных функций ИС является анализ данных - наблюдение за состоянием объектов системы в различных срезах предметной области. Данная функция, как правило, реализуется посредством отчетных форм путем программирования разработчиками ИС на языке запросов SQL. Очевидно, что для описания всевозможных ситуаций, возникающих в ходе бизнес-процесса, невозможно предусмотреть достаточный набор отчетных форм. Пользователь сложной ИС ограничивается в качестве и полноте анализа данных, а разработка дополнительных отчетных форм потребует дополнительных капиталовложений. Проблема заключается в невозможности общения пользователя ИС с реляционной СУБД, так как знание SQL никак не может являться обязательным требованием. Решением является встроенный в ИС интерфейсный модуль, генератор отчетов, посредством которого пользователь, оперируя знакомыми объектами системы, формирует набор отображаемых в отчете полей с заданным условием выборки. На основании заложенной в ИС модели, генератор самостоятельно формирует SQL-запрос и отображает запрошенные пользователем данные.
|
| |
|
    Как правило, всю информацию о модели ИС генераторы отчетов получают из системного каталога СУБД, который содержит описание лишних для пользователя системных таблиц. Более того, системный каталог не содержит связей таблиц с объектами ИС и пользователю приходится общаться с ИС на языке СУБД, посредством таблиц, вместо интуитивно понятных русскоязычных аналогов - объектов ИС. В настоящей работе описан оригинальный подход к созданию генератора отчета. Использован абстрактный компонент решения [2] - источник метаданных (рис. 1), реализующий способ получения метаданных, например, из системного каталога Sybase SQL Anywhere, Oracle или иного источника, такого как метамодель BaseMM, разработанную в ИВЦ МЭИ.
|
| |
|
| |
| Рис. 1. Модель классов реализующих источники метаданных. |
| |
    Помимо платформенной независимости от СУБД, при использовании метамодели BaseMM, пользователю для составления отчета предоставляется весь необходимый набор объектов ИС, исключаются системные таблицы и скрываются детали реализации ИС. В задачу разработчика входит лишь настройка мэппинга [1] между классами объектов ИС и таблицами БД: классы связываются с таблицами, ассоциации - с внешними ключами. Администратор ИС может добавлять описания функций, которые пользователи могут применять к атрибутам объектов, например, для получения отображаемого имени объекта. Критерии выбора объектов определяются фильтром (с возможностью отложенного задания критерия - динамический фильтр) организованным в инфиксной нотации (логический оператор и/или располагается в узле дерева критериев). Генератор отчетов позволяет использовать одновременно несколько источников метаданных.
|
| |
|
    Описанный подход реализован в генераторе отчетов, разработанном в ИВЦ МЭИ в среде PowerBuilder и успешно внедренном в нескольких информационных системах на базе SQL Anywhere и Oracle.
|
| |
|
Литература:
| | |
|
1. | Гамма Э., Хелм Р., Джонсон Р., Дж. Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования.СПб: Питер, 2001. - 368с. |
2. | http://www.omg.org/cwm. Meta Object Facility (MOF) Specification. OMG. |
|
| |
|
|
|