УДК 519.683.2:681.3.02

 

МЕТОДИКА И СРЕДСТВА АВТОМАТИЧЕСКОЙ ГЕНЕРАЦИИ
HTML-ИНТЕРФЕЙСА МОДУЛЬНОЙ ПРОГРАММНОЙ СИСТЕМЫ
ПО ЕЕ ФУНКЦИОНАЛЬНОЙ МОДЕЛИ

 

А. А. Давлятов, Р. Н. Шакиров

 

Россия, 620219, г. Екатеринбург, ул. Первомайская, 91, ИМаш УрО РАН

(3432)742594

raul@imach.uran.ru

 

Аппаратно-программные средства Интернет активно используются для создания сетевых приложений - таких, как информационные системы и средства электронного документооборота [1,2]. В этой статье обсуждается методика и опыт применения сетевых технологий для модернизации наукоемких систем автоматизации проектирования, примерами которых могут служить САПР "Диско" и "Совет" [3,4].

 

Ключевые слова: модульные программные системы, функциональная модель, HTML-интерфейс, локальная сеть, Интернет.

 

1.  Введение

Опыт применения современных программных систем (ПС) показывает, что затраты на эксплуатацию ПС обычно в несколько раз превышают первоначальные затраты на ее приобретение [5].

Затраты на эксплуатацию выражаются в необходимости непрерывного технического обслуживания и сопровождения ПС. Чтобы сократить эти затраты, разработчики больших ПС  оснащают свои системы средствами  автоматической диагностики  и устранения неисправностей. Например, в САПР "Диско" и "Совет" диагностируется нехватка необходимых системе ресурсов, автоматически восстанавливается целостность системы и базы  данных, имеется встроенный антивирус. Другой подход состоит в том, чтобы сократить размеры ПС до минимума с помощью рациональной технологии программирования [6,7]. Однако  наиболее заманчивое решение заключается в использовании  возможностей, предоставляемых сетевыми технологиями.

Установив ПС на сервере локальной сети (ЛС), разработчик предоставляет возможность использования ПС всем клиентам ЛС, что позволяет в несколько раз сократить затраты на установку, обновление и обслуживание ПС. Для пользователей ПС сетевое решение привлекательно возможностью совместного доступа к базе данных (БД), что сокращает затраты на обмен данными в процессе работы.

Подключение удаленных клиентов может выполняться через корпоративную сеть или через Интернет с помощью технологии виртуальных частных сетей (ВЧС) [8] (рис. 1).


 Рис. 1. Сеть с выделенным сервером

Существующие ПС пригодны к работе в ЛС немедленно либо после небольших доработок, требуемых для организации многопользовательского режима работы. Однако работа ПС в ЛС  может проходить с заметным падением производительности.  Например, при работе САПР "Диско" и "Совет" в ЛС Ethernet некоторые операции замедляются в 1.5-2 и более раз. Причина заключается в большой информационной нагрузке на ЛС: программы  выполняются на клиентских компьютерах, но запускаются по ЛС с сервера, а также используют ЛС для обращения к данным. При этом информационная нагрузка на сеть растет пропорционально числу клиентов, в то время как производительность сетевых  дисков ограничена возможностями сервера и коммуникационного оборудования. Поэтому при увеличении числа клиентов приходится приобретать все более производительное и дорогое оборудование.  Но простое наращивание аппаратуры не всегда дает желаемый результат: оценки показывают, что даже при использовании ЛС Fast Ethernet один  сервер с САПР "Диско" или "Совет" обслужит максимум 5-10  клиентов.

Решить проблему производительности можно путем модернизации ПС на основе современных сетевых технологий.

2. Принципы и методика модернизации ПС

ПС "Диско" и "Совет" состоят из проблемных модулей (программ), работающих под управлением интегрирующей компоненты - оболочки ПС. Проблемные модули объединяются в последовательные проблемные действия, представляемые в виде командных файлов базовой операционной системы. Обмен данными проводится через базу данных, реализованную средствами файловой системы. Оболочка ПС реализует функции человеко-машинного взаимодействия и создается с помощью встроенных средств развития, исключающих необходимость программирования. Оболочка имеет регулярную структуру и представляется в виде формализованного описания (ФО). Встроенные средства развития ПС обсуждаются в работе [9], а представление оболочки ПС в виде ФО - в работе [10].

Для целей модернизации ПС выбраны технологии Интернет, основанные на применении языков HTML и JavaScript. Основанием  послужило широкое распространение указанных языков - они воспринимаются всеми современными обозревателями Интернет.

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

Исходя из вышеуказанных принципов, была принята следующая методика модернизации (рис.2):     

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

2.        Для запуска проблемных модулей создается шлюз, обеспечивающий загрузку командных файлов и программ по ЛС и их запуск на компьютере-клиенте. Технология локального запуска программ позволяет сократить вычислительную нагрузку на сервер, а для сокращения сетевого трафика реализуется кэширование командных файлов и программ на компьютере-клиенте. Благодаря кэшированию повторный запуск программ выполняется с локального диска, а не с сервера. Кэширование страниц оболочки ПС реализуется встроенными средствами обозревателя.

3.       
Данные, подлежащие обработке, копируются из общей БД на локальный диск клиента. После обработки данных пользователь может занести их обратно в общую БД. Чтобы обеспечить  возможность обращения программ не только к локальным данным,  но и к общей БД, на сервере создается разделяемый (сетевой) диск.

Рис. 2. Структура ПС после модернизации

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

Важная особенность предлагаемой методики заключается в том, что для вызова проблемных модулей необходимо наличие разделяемого диска на сервере. Поэтому вызов проблемных модулей допускается только в условиях ЛС или ВЧС, что позволяет обеспечить полноценную защиту информации. Если же запуск ПС проводится через общедоступный Интернет, то ПС будет работать в демонстрационном режиме, когда допускается вызов диалоговых и справочных экранов оболочки, но возможности запуска проблемных модулей и доступа к проблемным данным отсутствуют.

К недостаткам методики следует отнести ограничения на системное ПО компьютера-клиента: в демонстрационном режиме ПС  будет работать на любых компьютерах с обозревателем Интернет, но проблемные модули ПС будут работать только под управлением той операционной системы, для которой они были оттранслированы. Преодоление этого недостатка связано с необходимостью переработки интерактивных проблемных модулей по технологии клиент-сервер и реализации многоуровневых информационно-вычислительных систем с сервером данных и серверами приложений [11].

3. Состав программного комплекса модернизации ПС

Программный комплекс модернизации  условно разделен на две части – конвертирующую и исполнительную.

В число конвертеров входит программа преобразования псевдографических изображений в растровые и программа построения HTML-файлов на основе формализованных описаний проблемных и библиотечных окон.

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

3.1. Программа переноса графических изображений Nsm2Img

Программа Nsm2Img преобразует текстовые файлы в растровые изображения формата BMP или GIF. Потребность в написании такой программы возникла ввиду наличия в интерфейсе переносимых систем псевдографических изображений.

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

Выходные данные – файл в формате BMP или GIF, соответствующий входному текстовому файлу.

3.2. Программа переноса проблемных и библиотечных окон Nsn2Htm

Программа Nsn2Htm предназначена для формирования проблемных и библиотечных окон в HTML формате, на основе формализованных описаний меню, файлах растровых изображений, полученных в результате работы модуля Nsm2Img, и файлах-списках библиотек и их разделов.

Входными данными являются:

·         файл с формализованным описанием меню [10]

·         файл с растровым изображением или файл-список библиотек (разделов библиотек) – в зависимости от объекта переноса.

Выходные данные – файл в формате HTML, представляющий собой проблемное или библиотечное окно. На рис. 3-4 представлены примеры отображения таких файлов в окне обозревателя Интернет.

3.3. Программа для запуска командных файлов из окна обозревателя

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

Входные данные передаются через файл Cookies (п. 3.4), содержащий все необходимые сведения для подготовки запуска и самого запуска командного файла

Выходные данные – сформированная командная строка, которая передается операционной системе на исполнение.

 

Рис. 3. Вид проблемного окна в обозревателе

 

Рис. 4. Вид библиотечного окна в обозревателе

3.4. Дополнительные файлы поддержки ПС

Для оформления объектов HTML-документов используются стили. Стили позволяют оформителю быстро изменять внешний вид всего документа. В данном проекте стили используются для определения типа шрифтов, их размеров, смещений относительно нормального положения, цвета надписей, а также для изменения вида курсора. Определения стилей вынесены в отдельный файл для сокращения сетевого трафика.

Экраны справочной информации хранятся в виде файлов в формате BMP. Они получены в результате работы программы Nsm2Img. Для отображения графического изображения в окне обозревателя требуется файл в формате HTML со ссылкой на изображение. Для сокращения места на диске и сетевого трафика было принято решение создать один общий HTML-файл. Этому файлу через переменную Cookies передается имя вызываемого экрана справки (т.е. имя файла с изображением).

Для сохранения промежуточной информации используется механизм Cookies. Переменные Cookies используются для передачи информации между различными HTML-файлами, а также для передачи информации программе-шлюзу NsCGI. В первом случае переменные хранятся в оперативной памяти, а в последнем – записываются в файл на диске.

Файл Cookies содержит несколько секций, каждая из которых соответствует одной переменной. Переменные содержат данные для формирования командной строки: они определяют ПС, каталог ПС, тип текущего окна - проблемное или библиотечное, имя вызываемого командного файла, а также параметры, передаваемые командному файлу.

4. Заключение

В настоящее время компьютерная индустрия движется в сторону интеграции отдельных вычислительных машин в единую гетерогенную структуру. Преимущества такого объединения очевидны: сеть представляет собой колоссальное вместилище информации, каждый компонент сети имеет доступ к информации, предоставляемой в общее пользование другими компонентами. Сейчас общепризнанной сетью, охватившей всю планету, является Интернет. К этой сети подключены тысячи мелких сетей, миллионы компьютеров. Все они имеют разные сетевые протоколы, разные аппаратные платформы, разные операционные системы, но, тем не менее, пользуются ресурсами Интернет и предоставляют для использования свои ресурсы.

В результате работы реализован программный комплекс для автоматического переноса модульных ПС в среду Интернет. С помощью этого комплекса осуществлена генерация HTML-интерфейса систем «Диско» и «Совет». Результаты работы доступны в Интернет по адресу http://www.imach.uran.ru/nessi.

Разработанный программный комплекс дополняет ПС новыми возможностями. Пример - работа ПС в демонстрационном режиме на WEB-узле. Улучшены эргономические и функциональные характеристики переносимого программного продукта. Сохранены все прежние свойства ПС, при этом добавились встроенные функции обозревателя (например, печать текущего документа). Кроме этого, прежний DOS-интерфейс не работал на компьютерах с процессорами Pentium II, вызывая ошибку деления на ноль. В новом интерфейсе этой проблемы не существует. Благодаря тому, что новый интерфейс генерируется автоматически, его не нужно поправлять вручную при каждом изменении ПС.

Литература

1.        Павел Храмцов. Лабиринт Интернет. Практическое руководство // Кн.1.  М.: Электроинформ, 1996. 256 c.

2.        Игорь Левшин. "Магнитка" живет и вычисляет // ComputerWorld Россия. 1998. N 7. С.9.

3.        Г.Б.Захарова, И.А.Кононенко, В.Г.Титов, В.П.Чистов. Система автоматизации структурно-логического этапа проектирования  // Автоматизация проектирования дискретных систем: Докл. III Междунар. конф. Минск, 1999. T.3, С.107-115.

4.        Г.Б.Захарова, В.В.Майборода, В.П.Чистов, Р.Н.Шакиров  Конструктор экспертных систем промышленного назначения. // Новые инф. технологии в исслед. дискретных структур: Екатеринбург, 1996. С.35-39.

5.        Френк Дж. Дерфлер, мл. Как снизить расходы на эксплуатацию ПК //  PC Magazine. /Rus. Ed. 1998. N 3. С.104-121.

6.        Н.В.Невесенко. Язык программирования AZ // Век радио. Екатеринбург: УрО РАН, 1996. С.254-258.

7.        Н.В.Невесенко. А у нас меньше! // Мир ПК. 1997, N 10. С 184-185.

8.        Организация VPN с помощью Сети. // PC Magazine. /Rus. Ed. 1998. N 3. С.129-131.

9.        Р.Н.Шакиров. Принципы создания модульной САПР со встроенными средствами развития // Новые инф. технологии в  исслед. дискретных структур: Екатеринбург, 1996. С.92-95.

10.     А.М.Князев, Р.Н.Шакиров. Технология кросс-платформенной разработки модульных программных систем. Статья в настоящем сборнике.

11.     Валерий Коржов. Многоуровневые системы клиент-сервер // Сети. 1997. N 6. С.72-75.

 

 

STRATEGY AND FACILITY OF HTML-INTERFACE AUTOMATIC GENERATION OF MODULE SOFTWARE SYSTEM BY ITS FUNCTION MODEL

 

A. A. Davlyatov, R. N. Shakirov

 

In this article  the main problems, appearing while transference the module program systems (PS) of special class into HTML-environment are being discussed . A strategy of automatic creating of the document in HTML format on base of formalized descriptions of elements of interface of source system is offered. Emphases was on the questions of start from generated by PS external commands and interactions of system with user. The components of program complex, solving tasks of transference module PS and necessary functionality provision of  newly generated systems were examined.

The HTML-interface of systems DISCO and SOVET generation was realized by means of biult-in development tools. The results of development are available in Internet by http://www.imach.uran.ru/nessi.

Designed program complex opens the new PS possibilities. The example is effective advertising of module program systems by means of their demo-versions PS location at the WEB.  The ergonomical and functional features of exportable program product were also improved.  All the former PS characteristics were saved, herewith the built-in functions of explorer (for instance, print the current document) were added. It is also necessary to lay a special stress on fact, that sourse PS does not work at computers with processors Pentium II, causing error while divisionning by zero, but there is no such an error in  carried PS . Due to the fact that new interface is generated automatically, its not necessary to correct  it under each change PS manually.