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

ИНТЕГРАЦИЯ WEB-САЙТОВ С ПОМОЩЬЮ ПРОКСИ-СЕРВЕРА

М.В.Булгаков, С.С.Внотченко

Государственный научно-исследовательский институт информационных технологий и телекоммуникаций “Информика”, Москва

Тел.: (095) 237-56-13, e-mail: sergey69@informika.ru


При разработке нового Web-сайта или портала часто возникает необходимость заимствования (повторного использования) раздела уже существующего сайта. В дальнейшем сайт, раздел с которого мы заимствуем материалы, будем называть исходным или контентным, а новый – разрабатываемым, или основным. Обычно разделы сайта являются динамическими и/или имеют некоторые связанные с ними динамические подсистемы. Например, раздел может заполняться через Web-интерфейс администратора или иметь специализированный интерфейс поиска, реализованный на основе реляционной базы данных.

Как правило, использованная операционная система, база данных и/или язык программирования на исходном и разрабатываемом сайтах будут отличаться. Например, в портале “Российское образование” исходный сервер, предоставляющий доступ к базам данных, был реализован на ОС Windows 2000, языке Perl и БД MS SQL Server, а вновь разрабатываемый – на ОС Linux, MySQL и PHP.

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

К сожалению, в языке HTML [1] не предусмотрено специальных средств для повторного использования данных. Шаги в этом направлении ведутся в рамках стандартов XML [2] – Xlink [3]. Однако практическое использование этих спецификаций – вопрос будущего, так как общепринятым стандартом Web по-прежнему остается язык HTML. Кроме того, современные браузеры не поддерживают спецификацию Xlink в достаточном для практического использования объеме.


Постановка задачи

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

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

Прокси-сервер, имеющий такой обработчик, будем называть интегрирующим. Его вариант был реализован на языке Си в виде модуля mod_proxy_mix для Web-сервера Apache 1.3.x [4] и используется на федеральном портале “Российское образование” [5]. Правомочность такой операции допускается лицензией [6] сервера Apache.

Модель Web-страницы

Для того чтобы упростить процедуру построения результирующего HTML-документа, была выбрана модель Web-страницы, состоящей из трех частей. Эти части – верхний заголовок, основное содержание (контент) и нижний заголовок. При этом страницы заголовков формируются разрабатываемым сервером, а содержательная часть контентным. Заголовки могут и не быть корректными HTML-документами, однако объединение их секций должно давать корректный HTML-документ. Под корректностью HTML-документа понимается, что в нем нет тэгов, которые были бы открыты, но не были бы закрыты.

Современные Web-страницы, как правило, имеют следующий вид:



Верхний заголовок

[Логотип] [Меню навигации по сайту]



[Меню навигации по разделу сайта (опционально)]

Содержательная часть (Контент)

Нижний заголовок

[Copyrights и контактные данные]



При описании такой страницы в рамках предложенной модели возможны два подхода:

  • Меню навигации раздела формируется контентным сервером.
    В этом случае разбивка тривиальна: все три части могут быть реализованы с помощью трех независимых открытых таблиц;

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

Фрагмент секции верхнего заголовка:

Верхний заголовок

Фрагмент секции

контента:

Содержательная часть (контент)

Фрагмент секции

нижнего заголовка:



Нижний заголовок

Выбор конкретного подхода будет зависеть от того, каким именно способом удобней представить переносимый раздел.


Заключение

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

  1. HyperText Markup Language (HTML). // http://www.w3.org/MarkUp/

  2. Extensible Markup Language (XML). // http://www.w3.org/XML/

  3. XML Linking Language (Xlink). // http://www.w3.org/XML/Linking

  4. Apache HTTP Server Version 1.3. // http://httpd.apache.org/docs/

  5. Портал “Российское образование”. // http://www.edu.ru/

  6. The Apache Software License, Version 1.1 // http://www.apache.org/LICENSE.txt



Смотрите также:
Интеграция web-сайтов с помощью прокси-сервера
42.94kb.
Профессиональные услуги по локализации/интернационализации и seo продвижению web-сайтов белоруских экспортеров
14.28kb.
1 Официальный web-сайт мау «Молодёжный социально-деловой центр» (далее Учреждение) это web-узел (совокупность файлов) в сети Интернет, наполняемый официальной информацией учреждения
71.16kb.
Если вы используете ip-адрес из внутренней сети WebPlus (начинается на 172. 25 и 192. 168), то для доступа в Интернет необходимо использовать прокси-сервер
17.3kb.
Перечень сайтов, полезных учителю математики
69.76kb.
Как сделать на своей web-bbs кнопку
23.49kb.
Применение виртуализации на серверах
310.79kb.
Ajax стал одним из самых больших «открытий» за последний год и успел стать «умным словечком», что-то вроде Web 0
43.83kb.
Проект: «Междисциплинарная интеграция педагогики и психологии в образовательном процессе с использованием сказкотерапии»
128.3kb.
Зрения (глаза), слуха (уши), вкуса
19.65kb.
Формирование мировоззрения главное в обучении
172.08kb.
Интегрированная образовательная деятельность
74.65kb.