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

advertisement
ВИЗУАЛЬНЫЙ ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС В РАСПРЕДЕЛЕННОЙ
ВЫЧИСЛИТЕЛЬНОЙ САТУРН-СРЕДЕ
А.П. Новопашин, Г.А. Опарин, А.Г. Феоктистов
Институт динамики систем и теории управления СО РАН, г.Иркутск
В докладе рассматриваются средства организации распределенных вычислений в рамках
инструментальной САТУРН-среды [1], предназначенной для разработки и эксплуатации прикладных
интеллектуальных систем – пакетов знаний.
Распределенная вычислительная среда (РВС) САТРУН [2] строится на основе локальной версии системной
САТУРН-среды и ориентируется на использование суммарных вычислительных ресурсов территориально
удалённых компьютеров разной мощности и архитектуры в рамках одной прикладной ресурсоёмкой
вычислительной задачи.
Технология проведение мультидисциплинарных фундаментальных и прикладных исследований в
некоторой проблемной области (ПО) в РВС САТУРН включает в себя разработку и применение распределенных
пакетов знаний (РПЗ) – интегрированных программных комплексов, объединяющих в себе возможности
традиционных пакетов программ и экспертных систем. РПЗ имеют следующие особенности, отличающие их от
других типов баз знаний:
1)
в описании модели ПО выделяются три концептуально обособленных слоя знаний – вычислительный,
схемный и продукционный, над которыми формируются постановки задач, а также выделяются следующие
типы объектов (понятий или концептов): модуль, параметр, операция, продукция, процессор, постановка
задачи;
2)
фундаментальную роль в описании ПО играют вычислительные знания, представленные снабженными
спецификациями модулями – подпрограммами на языках Фортран, Паскаль, Си;
3)
проблемные модули, представляющие вычислительные знания, располагаются на отдельных рабочих
станциях;
4)
ответ на запрос связан с процессом трудоемкого вычисления (не поиска) информации с предварительным
планированием схемы решения задачи на концептуальной модели ПО, сборкой и конкретизацией расчетных
программ;
5)
схемные и продукционные знания являются в определенном смысле вспомогательными и в основном
поддерживают комфортность общения исследователя с компьютером;
6)
большую роль в процессах накопления и использования знаний играет графическое представление объектов
модели ПО в виде структурных схем (размеченных ориентированных или неориентированных графов).
До настоящее время проблема распределенных вычислений решалась либо в рамках Web-технологий, либо
путем использования DCOM/CORBA моделей. Сравнение этих решений по ряду показателей, таких как, например,
стоимость, наличие интуитивного пользовательского интерфейса дает предпочтение Web-технологиям [3]. Общая
доступность и популярность последних повлияла на наше решение – использовать Web-технологии в качестве
базовых при реализации визуального (интерактивного) интерфейса пользователя в РВС САТУРН.
Одной из задач, возникающих при реализации модели, является обеспечение доступа клиентов с БД на
стороне сервера, организация интерактивного интерфейса на стороне пользователя. Интерактивный интерфейс на
основе WWW представляет собой последовательность статически или динамически формируемых HTMLдокументов [4]. При этом одним из важнейших компонентов модели является Common Gateway Interface (CGI) –
стандартная спецификация интерфейса взаимодействия Web-сервера с внешними прикладными программами.
Основное назначение CGI – обеспечение единообразного потока данных между сервером и работающим на нем
приложением.
Задача построения пользовательского интерфейса делится на две части:
1) Клиентская часть – для создания клиентской части формируется HTML-документ, в котором реализуется
диалог с пользователем посредством форм.
2) Серверная часть – состоит из исполняемого модуля, решающего основные задачи обработки данных,
поступающих от клиентской части, формирования ответа и т.д. Такой модуль называется CGI-модулем и
выполняет роль шлюза, инициируя взаимодействие в качестве клиента с сервером баз данных. Шлюз посылает
запрос по определенному порту соединения с СУБД, а после получения ответа пересылает его WWW-серверу
в формате HTML.
Использование спецификаций CGI для обмена данными с внешними прикладными программами содержит в
себе следующие преимущества [5,6]:
- прозрачность использования;
3
языковая независимость (CGI-программы могут быть написаны на любом языке программирования или
командном языке, включающем средства работы со строками);
- изолированность процесса (при запуске CGI-программы на сервере порождается отдельный процесс и
ошибочный CGI-скрипт не может "сломать" Web-сервер или получить доступ к закрытой информации);
- открытость стандарта (CGI-интерфейс применим на любом Web-сервере);
- архитектурная независимость (CGI не зависит от особенностей реализации архитектуры сервера);
- высокая защищенность кода CGI-скрипта;
- CGI-скрипты позволяют реализовать гораздо более широкий набор функций, чем, например, Java-скрипт.
Недостатками использования CGI-скриптов принято считать большое время обработки запросов и, как
следствие, невысокое быстродействие, необходимость постоянного доступа к основной БД, дополнительная
нагрузка на средства поддержки БД, связанная с обработкой запросов от WWW-сервера.
Выбор программных средств для реализации CGI-скриптов достаточно широк, но среди них можно выделить
два, пользующиеся в последнее время особой популярностью:
1) Perl (Practical Extraction and Report Language). Язык Perl – имеет достаточно сложный синтаксис, содержит
большое число внутренних системных функций, возможность вызова внешних программ и подключение
модулей, обеспечивающих удобства в работе при обработке текста и манипуляциях с файлами, что наиболее
важно в Web. Для Perl также характерно высокое быстродействие, высокий уровень защиты. Несмотря на все
перечисленные достоинства, Perl является языком общего назначения – для применения в Web он имеет
следующие недостатки:
- необходимость настройки Web-сервера для запуска скриптов;
- сложности с отладкой CGI-скриптов;
- отсутствие встроенных средств для обработки данных, передаваемых пользователем и др. [7].
2) PHP (Professional Home Pages). Язык PHP получил распространение, начиная с версии 3, благодаря ясному и
простому синтаксису. В PHP3 были устранены, указанные выше недостатки языка Perl, что также
способствовало его признанию и популяризации. Однако, быстродействие на тот момент, в десятки, а то и
сотни раз, было меньше чем у Perl.
В настоящее время наиболее часто используется PHP4. Разработчики переделали код PHP с нуля. Было
значительно увеличено количество встроенных в язык функций. PHP стал интерпретатором компилирующего типа
(как и Perl), что значительно повысило его быстродействие. Теперь PHP работает на уровне с Perl, а в отдельных
ситуациях даже быстрее [7].
Отличительной чертой PHP является его специализация именно на Web. Кроме того, PHP эффективен при
выполнении файловых операций и при работе с базами данных [8], что особенно важно с точки зрения реализации
нашего проекта. В PHP имеется набор функций для поддержки почти всех известных СУБД. Из недостатков PHP
можно отметить более простую в сравнении с Perl схему защиты, отсутствие шаблонов.
В качестве HTTP-сервера мы выбрали Apache, как наиболее продвинутый и развиваемый. По статистическим
данным английской исследовательской фирмы Netcraft на декабрь 2001 г. Apache работает на 56,5% всех серверов в
Интернет [9]. По результатам последних российских исследований [10] сервер Apache установлен примерно на 85%
русскоязычных Интернет-серверов. Успех Apache основан на трех составляющих: бесплатное распространение,
причем бесплатно распространяется не только двоичный код, но и исходный текст. Это обеспечивает серверу
исключительную гибкость. Архитектура Apache отличается модульностью, что также облегчает настройку.
Сравнение с Microsoft Internet Information Server (IIS) 3.0 здесь явно не пользу Microsoft. Модульность Apache
позволяет не только подключить свои модули, но и даже дописать недостающие функции. Для создания
небольшого Web-приложения, каковым является визуальный пользовательский интерфейс, сервер Apache вместе с
PHP образует эффективную комбинацию средств, характеризующуюся особой надежностью [11].
Выбор SQL серверов огромен. Мы остановились на использовании бесплатно распространяемого сервера
MySQL. Это быстрый, гибкий, удобный и легкий в использовании многопользовательский и многозадачный сервер
баз данных SQL. Таким образом, в представленной модели распределенных вычислений РВС САТУРН реализуется
популярная в настоящее время связка с открытым исходным кодом Apache+PHP+MySQL.
-
ЛИТЕРАТУРА:
1.
2.
3.
Опарин Г.А., Феоктистов А.Г. Основанная на знаниях визуальная технология решения вычислительных задач //
Оптимизация, управление, интеллект. – Иркутск: ИДСТУ СО РАН, №5(1), 2000. – С.157-166.
Опарин Г.А., Феоктистов А.Г. Технология разработки распределенных пакетов знаний // Проблемы управления
и моделирования в сложных системах: Труды III межд. конф. – Самара: Самарский научный центр РАН, 2001.
– С. 496-502.
Чекалов
А.
Прагматический
подход
к
разработке
приложений
Web
баз
данных.
www.citforum.ru/internet/webdbapp/index.shtml
4
Нужин С. Использование CGI при создании интерактивных интерфейсов. www.niit.ru/docs/SQL/db/4.htm
Булах Е.В. Средства доступа к базам данных на стороне сервера. www.citforum.ru/database/postgres95/0.shtml
Смысловский А. Perl, который оценят все. http://infocity.com.ua/prog/perl/content/perl003.phtml
Козлов С. Технологии web-программирования. http://kr.tritec.ru/2001/4807.htm
Руководство по РНР 3.0 – Описание Языка (перевод Всероссийского клуба веб- мастеров).
http://php.spb.ru/manual_php_3_rus/index.html
9. Netcraft Web Server Survey. www.netcraft.com/survey
10. 10
наиболее
распространенных
http-серверов
зоны
.ru.
www.cnews.ru/news/comp/2000/12/20/20001220134357.shtml
11. Александр Рубин. Интернет-cервер под Linux. http://lib.ru/LINUXGUIDE/internetlinux.html
4.
5.
6.
7.
8.
5
Download