Веб-водопровод
АрхивФайлыУ веб-сервисов есть один большой минус: наладить взаимодействие между ними трудно, а нередко и невозможно. Упростить процесс создания мэшапов взялась компания Yahoo.
У веб-сервисов есть один большой минус: наладить взаимодействие между ними трудно, а нередко и невозможно. Многие из них выдают данные в формате RSS, другие могут принимать и обрабатывать потоки данных. Иногда достаточно всего-навсего ввести в принимающий сервис адрес канала RSS, и дело в шляпе - всё работает как надо. Но так бывает редко.
Программисты, берущиеся за связывание сервисов между собой обычно пишут третий сервис, который одну часть работы делает самостоятельно, другую - доверяет уже готовым программам. Так рождаются "мэшапы" - новые сервисы, объединяющие в себе функции старых таким образом, чтобы получилось что-нибудь интересное и оригинальное. Самый наглядный пример мэшапа - отображение фотографий Flickr на Google Maps. Это возможно благодаря наличию у некоторых фотографий геотегов - отметок о географических координатах запечатлённых объектов.
Упростить процесс создания мэшапов взялась компания Yahoo: на днях она запустила сервис под названием Pipes. Чтобы пользоваться "трубами" (так переводится название), не нужно быть программистом. Они должны помочь быстро и просто соединять различные сервисы, помогая преобразовывать несовместимые потоки данных и делая заодно ещё некоторые несложные трюки.
Один из примеров к программе - простенький агрегатор новостей. Он скачивает несколько RSS из нескольких источников, выбирает оттуда лишь уникальные сообщения, объединяет их в один поток, сортирует по дате и выдаёт - снова в виде RSS.
Второй пример несколько сложнее. Больше всего он напоминает уже упомянутую помесь Flickr и Google Maps. С его помощью можно разыскивать во Flickr фотографии, сделанные недалеко от указанного пользователем адреса.
От изучения примеров пора переходить к созданию собственных "трубопроводов". Надо сказать, в первый раз при виде всех доступных инструментов, воображение сразу начинает рисовать картины страшных мутантов, которых можно, наверное, так легко получить путём скрещивания вполне ординарных веб-сайтов и сервисов.
К примеру, можно было бы взять раздел "технологии" в Google News, пропустить полученные новости через Content Analyser (эта штука использует фирменные алгоритмы Yahoo, чтобы выделить из текста ключевое слово), по ключевому слову искать первую попавшуюся картинку в Google Images, а сам текст перевести при помощи Babelfish на русский язык. Результат сравнить с "Компьюлентой".
Увы, попытка выполнить это своеобразное техническое задание окончилась не совсем удачно. Подвёл Google Images - из него никак не получить RSS, а напрямую Pipes ни с ним ни с большинством других сервисов Google работать не умеет. Flickr оказался не слишком удачной заменой - фотографии, найденные по ключевым словам, даже близко не подходили к сюжету.
Конечно, серьёзным наш замечательный опыт не назовёшь, но он проливает свет на некоторые особенности Pipes. В частности - тесную привязку к сервисам Yahoo и ограниченность набора инструментов. Изучение возможностей Pipes наталкивает на мысль, что главной целью его создателей было сделать те самые несколько примеров. При том, что блоков не так уж и много, среди них уж слишком часто попадаются инструменты для работы с картами и географическими данными.
Как бы ни привлекала идея составлять сервисы из готовых деталей, в действительности оказывается, что веб - вовсе не игра вроде Incredible Machine, и упрощение, увы, не делает сложное простым. Обыкновенный SQL, в конечном счёте, и удобнее, и мощнее визуального конструктора.
Это не значит, впрочем, что из изучения Pipes нельзя вынести никакой пользы. С помощью этих "труб" удобно выполнять простые задачи: составлять несколько каналов в один и фильтровать их по разным критериям. К примеру, если стоит задача отслеживать новости о какой-нибудь компании или продукте, достаточно выбрать список источников, задать фильтры и подписать свой агрегатор на RSS c результатами.