Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема 11-глоб.doc
Скачиваний:
2
Добавлен:
17.08.2019
Размер:
204.29 Кб
Скачать

Тема 11. Удаленный доступ к информационным ресурсам INTERNET (продолжение).[1,7] Информационная система GOPHER: принципы построения, GOPHER – серверы , GOPHER – клиенты, поиск информации в архивах GOPHER. Информационная система WAIS: принципы построения, WAIS-серверы и WAIS-клиенты, базы данных WAIS, поисковая машина WAIS.

Информационная система GOPHER

Internet Gopher был разработан для реализации распределенной системы документов. Документы хранятся на машинах сети, a Gopher представляет их пользователю в виде единой иерархической файловой системы. Считается, что модель файловой системы наилучшим образом подходит для отображения структуры хранения документов.

Gopher был разработан в университете штата Миннесота и стал известен широкой публике в 1989 году. Изначально он предназначался для организации распределенной информационной сети студенческого городка университета. Система хорошо ложилась на организационную структуру университета, где соблюдается иерархия подчиненности факультетов, кафедр, студенческих групп, курсов и т. п. Система оказалась достаточно удачной и стала быстро распространяться в качестве общей информационной системы университетов. Этим было положено начало сообществу серверов Gopher, распределенных по всему миру, которое стали называть GopherSpace (Пространство Gopher). До 1995 года темпы роста установок серверов Gopher опережали темпы роста установок серверов "всемирной паутины". Это была наиболее динамичная информационная технология Internet. Однако, появление новых программных и изобразительных средств в World Wide Web привело к тому, что многие стали считать, что время Gopher прошло и следует ориентироваться только на Web. Те, кто высказывают эту точку зрения, не учитывают тот факт, что невозможно сразу начинить "паутину" всем, что накоплено за 25-летнюю историю Internet, в Gopher это сделать гораздо проще, т. к. не требуется переписывать документы в новые форматы и можно задействовать старые архивы без их реального перемещения по сети или в рамках одной машины. Кроме того, Gopher не стоит на месте и также развивается, стремясь приблизить свои возможности к возможностям World Wide Web.

Gopher был разработан изначально как файловая система и базировался на следующих соображениях:

  • Иерархическая модель данных знакома и понятна большинству пользователей, т. к. иерархии широко используются во многих компьютерных системах (UNIX, MS-DOS, системах BBS);

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

  • Система должна была соответствовать реальной структуре университета с его делением на факультеты и кафедры и быть рассчитана на применение недорогих решений как в аппаратной части, так и при программировании.

Модель взаимодействия gopher

Модель Gopher основывается на архитектуре "клиент/сервер" (рисунок 11.1).

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

При взаимодействии сервер ожидает запросов пользователя по назначенному порту TCP (по умолчанию, это порт 70), а клиент посылает в этот порт запросы.

Все поля строк, посылаемых сервером, разделены управляющими символами табуляции (<tab>), а каждая строка оканчивается управляющими символами возврат каретки (<CR>) и перевод строки (<LF>).

Первый символ каждой строки (символ типа) определяет, что строка описывает: документ, директорию соответственно (цифры О, 1). Существуют и другие типы. Все остальные символы после символа типа и до первого символа табуляции задают отображаемую в дереве виртуальной файловой системы информацию, которая носит название идентификатора входа в элемент файловой системы. Тип этой информации обычно отображается в виде иконки в графических интерфейсах или символа "/" для директорий в алфавитно-цифровых интерфейсах. Таким образом, пользователю дается подсказка, с каким типом информации или программ он будет иметь дело, если выберет тот или иной вход в виртуальную файловую систему Gopher. Следующее за идентификатором поле называется строка-селектор. Строку-селектор клиент отсылает на сервер, если пользователь выбрал данный вход. Строка-селектор ничего не значит для клиента - это инструкция для сервера. Клиент ничего не должен менять в этом поле и никак не должен отображать эту информацию или интерпретировать ее.

За селектором следует доменный адрес Gopher-сервера, а вслед за ним порт, по которому осуществляется взаимодействие. Обычно это порт 70, но можно указать и любой другой, на котором есть обслуживание Gopher-клиента.

Точки после текста означают, что данный вход является директорией В разных системах используются различные механизмы для таких подсказок Например, в системах Unix используется символ "/".

Рассмотрим более подробно детали взаимодействия по протоколу Gopher и начнем с адресации ресурсов Gopher.

Адрес информационного ресурса

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

Переносимость и имена

При реализации Gopher-сети рекомендуется использовать механизм синонимов. Доменные адреса в сети могут меняться (гораздо реже, чем IP-адреса, но это все-таки возможно), но для внешнего пользователя синоним остается неизменным. Его можно связать с любым новым именем, и это не приведет к разрушению дерева Gopher. Изменять же во всех документах старые имена на новые - работа довольно трудоемкая, а иногда и невыполнимая, т. к. какой-то сервер может оказаться за пределами ответственности одного администратора.

Взаимодействие с администратором сервера

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

Подключение дополнительных ресурсов

Первый символ каждой строки определяет тип единицы хранения информации в виртуальной файловой системе сервера Базовыми типами являются: текстовый документ (0), директория (1), поисковый запрос (7). Возможно использование и других типов, позволяющих работать с другими ресурсами сети (ftp, telnet, WWW, Wais, х.5ОО, qi и т.п ). Например, если указан тип строки 2, то это значит, что клиент должен использовать протокол qi для работы с соответствующим сервером, отличным от сервера gopher. Такой подход позволяет разгрузить Gopher, если число обращений к серверу велико Кроме этого, сам Gopher-сервер избавлен от необходимости реализации большого количества протоколов и может передоверить их обслуживание специализированным программам. Обычно обслуживание сторонних протоколов реализуется за счет запуска параллельных задач, которые работают с указанным ресурсом. Реально это позволяет организовать многооконный интерфейс к ресурсам Internet.

С другой стороны, доступ к ресурсам сети может быть осуществлен и при помощи другого механизма, который называют шлюзом. Существуют шлюзы Gopher-FTP, Gopher-WAIS, Gopher-WWW и другие. Разница между первым и вторым способами заключается в том, что при вызове внешней программы и сессии Gopher, и другие сессии существуют параллельно. При шлюзовой технологии все взаимодействия осуществляются через сервер Gopher.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]