Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Хайретдинов_Лекции_СИТ-n.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
13.84 Mб
Скачать

Упрощенные модели программирования

Как только идея веб-сервисов стала au courant, в схватку вступили большие компании, выкатившие сложные наборы веб-сервисов, позволяющих разрабатывать надежные среды программирования для распределенных приложений.

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

Amazon предоставляет два типа веб-сервисов. Первый не отступает от формализма SOAP (Simple Object Access Protocol), тогда как второй просто осуществляет передачу XML через HTTP с помощью упрощенного подхода, известного как REST (Representational State Transfer). Веб-сервисы первого типа используются для B2B-транзакций (например, между Amazon и розничными партнерами), но 95 процентов всех операций проводится с помощью REST.

То же стремление к простоте наблюдается и у других "настоящих" веб-компаний. Возьмем Google Maps. Простой AJAX-интерфейс был быстро "разобран" хакерами, которые затем сумели использовать поставляемые данные для организации новых сервисов.

Картографические веб-сервисы были доступны и раньше: от GIS-вендоров (ESRI, например) и таких компаний, как MapQuest и Microsoft MapPoint. Однако Google Maps завоевал мир, благодаря своей простоте. И если экспериментирование с данными веб-сервисов от "настоящих" вендоров требовало заключения контракта, то Google Maps был спроектирован так, что данные можно было сразу использовать в своих целях - и хакеры очень скоро научились это делать.

Отсюда можно вынести несколько важных уроков:

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

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

Проектируйте с учетом возможных переделок и улучшений. Системы, подобные вебу, RSS и AJAX, сходны тем, что особых помех для их повторного использования не существует. Большая часть полезного софта находится в открытых исходниках, а если и нет, то имеется не так уж много способов защитить свою интеллектуальную собственность. Стандартная браузерная функция "посмотреть исходник" позволяет любому человеку скопировать любую веб-страницу. RSS был спроектирован для того, чтобы пользователь мог читать контент тогда, когда это удобно ему, а не поставщику информации. Самые успешные веб-сервисы - это, как правило, такие службы, которые могут быть изменены неожиданным для их создателей образом (some rights reserved).