Интернет-клиент на базе Java

Демонстрационные примеры        Методические материалы и публикации

Описание

Описываемая технология ориентирована на следующую методику автоматизированного создания геоинформационных систем, работающих в среде Интернет. Эта работа была поддержана Российским Фондом Фундаментальных исследований (РФФИ проект 02-07-90236).

Первый этап состоит в подготовке на инструментальной машине, в среде Windows, файлов данных (HTML-страниц, файлов с программами управления данными и их визуальным представлением, файлов с числовыми данными), представляющих собой Интернет публикацию (фрагмент Интернет сайта).

Получаемая в результате Интернет публикация не содержит исполняемых на сервере программ (CGI-скриптов и т.д.) и, следовательно, может использоваться и вне среды Интернет.

Подготовленные файлы данных содержат в специальном упакованном формате следующую информацию:

  • векторные топографические основы для построения картограмм,
  • вектора числовых данных,
  • информация о соответствии элементов векторов данных объектам территории,
  • параметры построения по векторам числовых данных картограмм (параметры визуализации картограмм),
  • параметры построения по векторам числовых данных столбиковых диаграмм (параметры визуализации диаграмм),
  • информация о соответствии фрагментов HTML-страниц объектам территории (для построения гипертекстовых ссылок).

Клиентское программное обеспечение (ПО) исполняется на компьютере клиента в среде стандартного Интернет браузера и реализовано на языках JavaScript и Java. Оно обеспечивает динамическую подкачку файлов данных, буферизацию прочитанной с сервера информации, наглядное визуальное представление больших массивов разнородных данных (текстовых фрагментов, числовой информации, фото материалов и др.) и территориальных связей между отдельными элементами данных. Доступ к информации осуществляется посредством нескольких одновременно открытых окон. Количество одновременно доступных окон, их расположение на экране монитора и состав отображаемой в них информации определяется пользователем. В силу того, что числовые данные попадают на компьютер Интернет клиента в исходной числовой форме, они могут быть без дополнительного обращения к серверу представлены в различных видах - таблица, динамически перестраиваемая диаграмма, картограмма и др.

Для наглядного отображения процессов и явлений, описываемых временными рядами, имеется возможность просмотра картограмм в режиме "мультипликации". Клиентское ПО обеспечивает автоматическое согласованное изменение информации во множестве одновременно отображаемых окон в соответствии с территориальными связями, существующими между отдельными фрагментами данных.

Нижний уровень клиентского ПО обеспечивает набор следующих функций, являющихся общими для широкого класса WEB-приложений.

  • Организация иерархических структур данных для накопления информации, используемой в процессе работы WEB-приложения (векторные изображения, растровые изображения, числовые и текстовые данные).
  • Динамическая генерация многослойных изображений, элементами которых могут быть точка, прямоугольник, ломаная линия, полигон, сектор эллипса, растровое изображение, прямоугольник с форматированным многострочным многошрифтовым текстом, текстовая строка, расположенная вдоль заданной линии.
  • Аффинные преобразования координат векторных элементов изображения.
  • Динамическое задание иерархии областей изображения, чувствительных к положению курсора.
  • Эффекты смены изображения, повышающие привлекательность создаваемых приложений ("сдвиг", "шторки", "проявление" и др.).
  • Шрифтовая поддержка, позволяющая использовать для отображения текста собственные (а не только встроенные в Java-машину браузера) растровые и векторные шрифты.
  • Организация фоновой подкачки данных с сервера.

Нижний уровень клиентского ПО реализован на языке Java и может быть использован как инструментальная база для создания широкого класса WEB-приложений, использующих интерактивную векторную графику. Он предоставляет программный интерфейс для верхних уровней ПО, реализующих бизнес логику и пользовательский интерфейс конкретных WEB-приложений. Верхние уровни клиентского ПО создаются на языке JavaScript.