Тезисы к докладу на МФИ-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.
 Evgeny Savitsky © 2002-2003
Hosted by uCoz