обеспечения развития информационной системы по меньшей мере на ближайшие пять - десять лет.
Основным каналом обмена информацией в рамках МГИС может являться магистральная сеть передачи информации, к которой подключаются информационные системы всех пользователей и которая обеспечивает передачу данных режимами "on-line" или электронной почтой из внешних сетей и информационных систем.
В то же время в масштабах города развитие новой высокотехнологичной передающей среды является недоступно дорогим проектом, несмотря на положительные опыты создания такого рода сетей в небольших муниципальных образованиях. Кроме того, ориентация на сугубо профессиональное использование или даже на «продвинутых» пользователей (в случае коммерческого использования таких каналов) экономически неоправдана. В качестве выхода из данной ситуации можгут быть использованы коммуникации кабельных каналов телевидения.
В городе Волгограде в течение ряда лет под управлением комитета по развитию рекламы и телерадиовещанию городской администрации развивается эфирно-кабельное вещание на основе сетей высокой пропускной способности. Помимо десятков аналоговых и цифровых вещательных телевизионных каналов, данные сети потенциально обладают пропускной способностью порядка 6 Мб/с, что на 3 порядка превосходит возможности модемной связи и делает возможным быструю передачу большого количества данных. А с учетом широкой распространенности именно данного поставщика услуг (около 70 тыс. абонентов), высока вероятность экономического успеха данного мероприятия.
При решении ряда правовых вопросов в области защиты информации и некоторых технических проблем (начата реализация пробного проекта по предоставлению высокоскоростного доступа в Интернет с помощью данного канала), задача построения эффективной инфраструктуры Волгограда может быть решена в течение достаточно короткого промежутка времени, и данное решение вполне может оставаться оптимальным в течение как минимум 5-10 лет.
И.Н. Котов, Н.Н. Салтыкова ОБЪЕКТНАЯ МОДЕЛЬ СУБД ПРИЛОЖЕНИЯ
В данной работе рассматриваются технологические аспекты разработки экранных интерфейсов для СУБД приложений. Главный акцент делается на универсальность, эффективность и повторную используемость в различных СУБД приложениях используемых высокоуровневых компонентов. Специальные усилия направлены на обеспечение безболезненности модификаций [1] интерфейса и возможность осуществления изменений в стиле plug’and’play. В качестве основных методов работы с объектами модели предлагается использовать методы XML-технологий.
Предлагается следующая объектная модель СУБД приложения.
Объекты верхнего уровня модели включают: главный модуль приложения, модуль возможных операций, модуль для работы с меню различного вида, модуль для экранных форм (с двумя основными примитивами - для работы с таблицами и для работы с отдельными полями одной записи), модуль фильтрации, модуль упорядочивания, модуль работы с выходными формами, модуль управления событиями.
Как правило, каждый объект использует некоторые однородные конструкции [1]. Например, объект для работы с выходными формами предполагает в качестве однородных элементов другой объект, соответствующий некоторой выходной форме, появляющейся в приложении. Структура каждого однородного элемента заранее определена и включает в себя всю информацию, необходимую для реализации этого элемента. Эта структура записывается в виде XML-файла [2], и поэтому для работы с этой структурой (т.е. ее анализа, синтаксического разбора, трансформаций в другие структуры) можно использовать стандартные инструментальные процедуры из общедоступных программных модулей. Все однородные элементы размещаются в некотором хранилище. Для обработки однородных элементов соответствующий объект имеет специальные методы, одним из входных аргументов которых является хранилище однородных элементов. Следует отметить, что эти методы не зависят от количества элементов в хранилище и корректно работают даже при пустом хранилище. Таким образом, варьирование состава хранилища однородных элементов можно осуществлять внешними по отношению к данному объекту средствами. Это позволяет динамически менять однородные элементы безболезненно, т.е. ничего не меняя в программах, реализующих объект.
Каждый модуль в качестве входных параметров получает символьную строку или файл с соответствующей XML-структурой. По этой структуре динамически генерируется некоторый исполняемый модуль, который тут же выполняется. Для генерации исполняемого модуля используется специально подготовленный XSL-файл, представляющий собой набор шаблонов-преобразований, который высокоуровневым способом определяет структуру генерируемого файла. В качестве механизма, осуществляющего генерацию, используется XSLT-преобразователь.
Данная объектная модель представляет собой набор «горизонтальных» функций любого приложения [3]. Ядро приложения включает стандартный набор компонентов из объектной модели, реализующее исполнительную (runtime) часть каждого горизонтального модуля. Таким образом, ядро приложения - это общая часть различных СУБД-приложений, реализующая стандартные функции этих приложений.
Для спецификации экранного интерфейса конкретного приложения необходимо определить совокупность «вертикальных» модулей, каждый из которых реализует некоторую содержательно целостную функцию приложения, например, работу с некоторым справочником или документами определенного вида. Такой вертикальный содержательно целостный модуль состоит из программных фрагментов (подмодулей), которые вставляются в некоторые заранее предопределенные места программы. Механизм вставки фрагмента из вертикального модуля в некоторое место из программы ядра похож на модификацию общепринятого аппарата работы с программно возбуждаемыми событиями.
Каждый вертикальный модуль помещается в специально отведенный каталог приложения. Модуль подсоединяется к ядру системы в стиле plug’and’play. Это означает, что механизм взаимодействия между модулями ядра и фрагментами вертикального модуля таков, что можно безболезненно удалить данный вертикальный модуль без нарушения работоспособности остальной части программы
приложения. Естественно, при этом будет удалена и функциональность, реализуемая этим вертикальным модулем.
Объектная модель, реализующая интерфейс СУБД приложений, была реализована в различных инструментальных средах (FoxPro, Delphi). Опыт ее использования показал плодотворность и эффективность этой модели. Особенно заметен эффект ее использования на этапе сопровождения приложения, когда надо вносить изменения в уже работающее приложение.
ЛИТЕРАТУРА
1. Горбунов-ПосадовММ. Расширяемые программы. М.: Полиптих. 1999. 336с.
2. Extensible Markup Language (XML) 1.0 W3C Recommendation 10-February-1998, http://www.w3.org/TR/1998/REC-xml-19980210
3. Фуксман А.Л. Технологические аспекты создания программных систем. М.: Статистика. 1979. 184с.
А.А. Букатов, В.А. Шапиро, О.В. Шаройко
ТЕХНОЛОГИЧЕСКИЕ АСПЕКТЫ ПОСТРОЕНИЯ РАСПРЕДЕЛЕННЫХ ИНФОРМАЦИОННЫХ И УПРАВЛЯЮЩИХ
СИСТЕМ
На примере создания системы учета загрузки каналов распределенной информационной сети РГУ рассматриваются некоторые технологические аспекты создания распределенных информационных и управляющих систем, связанные с обеспечением возможности дальнейшего развития таких систем как в плане расширения их функциональных возможностей, так и в плане адаптации к изменениям структуры информационной базы и/или объектов управления, а также к изменению уровня нагрузки на систему.
При построении архитектуры системы выполняется декомпозиция системы в вертикальных и горизонтальных плоскостях. Горизонтальная декомпозиция выполняется в соответствие с моделью трехслойной организации клиент-серверных приложений. В этой модели традиционно выделяются три слоя: слой внешнего интерфейса, слой прикладной логики и слой доступа к данным и/или ресурсам.
Вертикальная декомпозиция выполняется на основе функциональной структуры проектируемого приложения. Реализация каждого прикладного объекта требует включения фрагментов кода в программные модули различных слоев. Будем называть функциональными компонентами совокупность кодовых фрагментов различных слоев, составляющих реализацию этого прикладного объекта.
В частности, в рамках создания системы учета загрузки каналов распределенной информационной сети РГУ было осуществлено следующее разбиение по горизонтальным составляющим: