Главная
страница 1

Визуальный пользовательский интерфейс в распределенной вычислительной САТУРН-среде




А.П. Новопашин, Г.А. Опарин, А.Г. Феоктистов

Институт динамики систем и теории управления СО РАН, г.Иркутск

В докладе рассматриваются средства организации распределенных вычислений в рамках инструментальной САТУРН-среды [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]:

  • прозрачность использования;

  • языковая независимость (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].

  1. 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. Опарин Г.А., Феоктистов А.Г. Основанная на знаниях визуальная технология решения вычислительных задач // Оптимизация, управление, интеллект. – Иркутск: ИДСТУ СО РАН, №5(1), 2000. – С.157-166.

  2. Опарин Г.А., Феоктистов А.Г. Технология разработки распределенных пакетов знаний // Проблемы управления и моделирования в сложных системах: Труды III межд. конф. – Самара: Самарский научный центр РАН, 2001. – С. 496-502.

  3. Чекалов А. Прагматический подход к разработке приложений Web баз данных. www.citforum.ru/internet/webdbapp/index.shtml

  4. Нужин С. Использование CGI при создании интерактивных интерфейсов. www.niit.ru/docs/SQL/db/4.htm

  5. Булах Е.В. Средства доступа к базам данных на стороне сервера. www.citforum.ru/database/postgres95/0.shtml

  6. Смысловский А. Perl, который оценят все. http://infocity.com.ua/prog/perl/content/perl003.phtml

  7. Козлов С. Технологии web-программирования. http://kr.tritec.ru/2001/4807.htm

  8. Руководство по РНР 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








Смотрите также:
Визуальный пользовательский интерфейс в распределенной вычислительной сатурн-среде
57.65kb.
1 стр.
Проектирование сапр как распределенной информационно-вычислительной системы
93.03kb.
1 стр.
Конспект урока по теме «Пользовательский интерфейс»
64.62kb.
1 стр.
-
148.97kb.
1 стр.
В технологию Грид Гатчина 2006 г
514.63kb.
3 стр.
Лекция История развития вычислений и структур вычислительных систем Сазанов В. М
549.72kb.
4 стр.
Модель фасетного информационного поиска в коллекции научных материалов
140.72kb.
1 стр.
Лекция Нулевое администрирование Windows (zaw)
218.42kb.
1 стр.
Руководство пользователя Минск 2011 Содержание a b. Назначение и условия применения 5
161.97kb.
1 стр.
Программное обеспечение компьютера, состав и структура. Назначение операционной системы. Командное взаимодействие пользователя с компьютером. Графический пользовательский интерфейс. Что такое программное обеспечение
51.38kb.
1 стр.
Параллельное умножение матриц
411kb.
7 стр.
Интерфейс командной строки
206.87kb.
1 стр.