Принципы построения распределенных Web-систем (часть 4, окончание)

Информационный обмен между сайтами. Центральный сайт системы и сайты-сателлиты связаны в единое информационное пространство. Для реализации этой связи, необходимо осуществление быстрого и удобного обмена информацией между сайтами в автоматическом режиме. В данном случае применяется механизм запросов – Data Ping.

Data Ping – механизм реализации запросов между сайтами системы, что позволяет обмениваться массивами данных необходимого формата. Он является упрощенной реализацией стандарта XML-RPC. Технически Data Ping реализуется на базе стандартного GET-или POST-запроса HTTP-сервера сайта. Обязательными полями в запросе есть его тип (идентификатор) и формат результата, возвращается. Идентификатор запроса определяет функцию, которая отвечает за его обработку. Как формат представления результата, возвращаемого могут использоваться следующие варианты.

При обмене информацией между скриптами, написанными на языке РНР, наиболее удобным способом передачи данных является Сериализация. Она позволяет описать любые данные как представление их в виде строки символов, с возможностью дальнейшего развертывания в аналогичную структуру данных на стороне сервера. Данный способ является наиболее удобным для внутреннего обмена информацией, поскольку не требует использования дополнительных инструментов, реализуется встроенными средствами РНР (стандартные функции serialize и unserialize) и является самым компактным с точки зрения объема передаваемых данных.

Для взаимодействия сайтов с инструментами, описанными на JavaScript, оптимальным является использование стандарта описания данных JSON. JSON (англ. JavaScript Object Notation) – текстовый формат обмена данными, основанный на JavaScript и обычно используемый именно с этим языком. Несмотря на происхождение от JavaScript, формат считается мовонезалежним и может использоваться практически с любым языком программирования. Для многих языков существует готовый код для создания и обработки данных в формате JSON.

Альтернативным вариантом для взаимодействия с JavaScript является использование данных, представленных непосредственно на языке JS, для последующего их «исполнение». Данный способ не требует использования дополнительных библиотек поддержки формата JSON и позволяет получить данные на любом внешнем сайте.

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

XML-RPC. Расширением и уточнением использование формата XML является реализация стандарта взаимодействия на основе интерфейса XML-RPC. Плюсом данного стандарта является полное поддержка любыми платформами. К минусам стоит отнести значительное увеличение объема передаваемых данных по сравнению с XML.

При реализации механизма Data Ping имеется в виду возможность использования любого из описанных выше стандартов представления данных в зависимости от запроса и свободной конвертации внутреннего представления данных в системе в любом из указанных форматов без потери информации.

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

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

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

YML-описание данных и аналогичные форматы позволяют осуществлять экспорт данных товаров и услуг, предлагаемых центральным сайтом и сайтами-сателлитами. YML (Yandex Market Language) – это стандарт, разработанный Яндексом для принятия и размещения информации в базе данных Яндекс-Маркета. YML основанный на стандарте XML (XML DTD). Единый формат представления данных позволяет быстро и качественно обрабатывать информацию, предоставляемую магазинами о товарах и услугах.

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

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

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

* * *

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

%d такие блоггеры, как: