Лабораторная работа №3: Проектирование пользовательского WEB-интерфейса для журнала недостоверных значений

Учитывая недостатки в Oracle BI Publisher, выявленные при выполнении предыдущей лабораторной работы целесообразно разработать пользовательский интерфейс используя язык разметки HTML, устраняющий необходимость ввода параметров для шапки и объединяющий отчеты для разных масштабов времени.

С помощью плагина HTTPFox для браузера Mozilla Firefox можно отследить, какие данные передаются на сервер при генерации отчёта из WEB-интерфейса xmlp. На основании полученной информации была создана форма, включающая все необходимые параметры.

Так как отчёт генерируется на какой то конкретный момент времени на сервер необходимо передать штамп времени. Вручную ввести значения всех штампов времени (временных рядов) не возможно, так как предполагается их бесконечное количество. Но их можно получить с сервера, используя технологию JSONP, которая позволяет не только загрузить данные с удалённого хоста, но и вызвать для них обработчик.

Для реализации загрузки временных рядов с сервера используется скрипт на языке Jython, принимающий параметр масштаба времени и реализующий точно такой же запрос к БД, который использовался для получения временных рядов при проектировании отчёта в xmlp:

select distinct tstamp from <масштаб времени> order by 1 desc

Скрипт просто подставляет в данный запрос переданный ему масштаб времени и возвращает временные ряды для этого временного уровня.

Скрипт возвращает данные в виде JavaScript функции (callback), которой передан массив необходимых значений. Данная функция выполняется и в соответствующий HTML элемент select формы загружаются временные ряды.

Чтобы пользователю не пришлось вручную вводить текст шапки предусмотрена специальная JavaScript функция, которая перед отправкой данных на сервер автоматически присвоит параметрам шапки выбранные пользователем значения в понятном ему виде. Так же эта функция генерирует путь до файла отчётов на сервере на основе выбранного пользователем временного уровня, тем самым устраняется недостаток xmlp сервера, заключающийся в невозможности параметризовать имя таблицы.


WEB-интерфейс для журнала недостоверных значений