Просмотров: 4639

Yahoo! Pipes: наше дело – труба. Введение


Я думаю, каждый, рано или поздно, испытывает чувство отчаяния и раздражения, когда в его любимой rss-читалке накапливается некая критическая масса rss-фидов, прочитать которые уже просто физически невозможно. Дойдя до этой точки, каждый сам выбирает путь решения этой проблемы: кто-то отписывается от всех наименее ценных для него лент, кто-то начинает тратить большее время на их прочтение, пока снова не упрется в эту же самую проблему с нехваткой времени по новому кругу, а кто-то, вообще начинает читать новости «через строчку», лишь бы уложиться в реально имеющееся время…

Сегодня мы рассмотрим альтернативное решение этой распространенной проблемы: мы попробуем резко повысить эффективность нашей работы с rss-подписками, и сделаем мы это с помощью довольно известного и мощного инструмента – Yahoo! Pipes.

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

И, как уже было сказано в преддверии к этой статье, этим главным инструментом в нашем сегодняшнем обзоре заявлен интернет-сервис Yahoo! Pipes. Поскольку эта интернет-штучка (как следует из её названия — плотно связанная с трубами) в Рунете пока не столь популярна, как в англоязычном Интернете, сегодня мы потратим значительную часть нашего времени, чтобы обстоятельно разобраться с немалыми возможностями этого сервиса. Впрочем, хватит слов на короткое вступление, переходим к Yahoo! Pipes.

Назначение Yahoo! Pipes

Yahoo! Pipes — это известное интерактивное веб-приложение компании Yahoo!, относящееся к веб-инструментам для создании столь популярных в эпоху Web 2.0 мэшапов (mashup) и предоставляющее собой графический пользовательский интерфейс для создания мэшап-приложений прямо в своем браузере из уже готовых, составных операторов путем наращивания функциональности, подобно конструктору, объединяющему и модифицирующему стандартные веб-объекты: ленты новостей, веб-страницы, XML-списки и выдачи и другие сущности современного сетевого пространства.

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

Типичный пример, на который ссылается сама Yahoo!, — это пайп New York Times thru Flickr, который забирает внешнюю RSS-ленту популярной газеты New York Times и на основании ключевых слов каждой её заметки, автоматически выделяемых самим сервисом, самостоятельно ищет и добавляет соответствующие этим ключевым словам фотографии, которые находит и забирает с фотослужбы Flickr. В итоге мы получаем готовую новостную rss-ленту, обогащенную графической информацией, привязанной по смыслу к транслируемому тексту.

Устройство типичного пайпа

Итак, давайте подведем первый итог того, что мы узнали из определения этого сервиса, и попробуем сформулировать его общий алгоритм работы. Пусть из-за общности этого описания он будет казаться пока несколько абстрактным, но зато он позволит взглянуть на процесс конструирования пайпа (своего рода программы на базе технологии Yahoo! Pipes) более отстраненно и упрощенно.

1. Будучи настроенной, служба Yahoo! Pipes получает на вход одну обычную rss-ленту (или сразу несколько лент). Забегая вперед, сервис принимает и более продвинутые форматы, подходящие скорее для веб-программирования, такие, например, как XML и JSON.

2. После успешного определения внешних источников информации подходит черед определить логику их обработки, которая будет происходить внутри самой Yahoo! Pipes и которую вам предстоит полностью настроить в соответствии с вашими потребностями. Для чего Yahoo! Pipes предоставляет в ваше распоряжение довольно обширный арсенал из уже готовых инструментов, что называется «на все случаи жизни», которыми вы сможете визуально моделировать, складывая их подчас в довольно причудливые конструкции из ниточек-трубопроводов, прямо на странице вашего аккаунта в Yahoo! Pipes. Здесь всё-таки нужно обязательно отметить, что у Yahoo! действительно получилось создать очень понятный и интуитивный интерфейс, с которым, в процессе постижения премудростей конструирования пайпов, сможет справиться даже не искушенный в веб-программировании человек.

3. Вся логика обработки построена на концепции последовательных трубопроводов, когда контент, вливаясь через изначально определенные нами внешние источники (ленты rss, например), последовательно проходя через расставляемые в процессе нашего моделирования пайпа элементы этой системы, каким-то образом изменяется, фильтруется, обрабатывается и т. д. на каждом логическом участке этого пути. Мы сейчас не будем сразу погружаться в детали — о том наборе операторов и их функциях, которые, собственно, и предоставляет нам Yahoo! для этого, о них мы поговорим далее — сейчас главное понять саму суть конвейера обработки в Yahoo! Pipes в общих чертах, чтобы далее мы могли уже уверенно переходить от общего к частному.

4. Информация, пройдя цепочку преобразований внутри пайпа (а эта цепочка может быть как очень короткой, так и очень длинной, в зависимости от сложности поставленной задачи), в итоге всегда в своей заключительной стадии приходит к финальному оператору — Pipe Output. Этот оператор ответственен за вывод конечного результата всех обработок вовне, поэтому все пайпы обязательно должны закрываться этим конечным оператором.

5. После отладки работы пайпа (а среда Yahoo! Pipes предоставляет простое, но эффективное средство отладки — окно отладки) мы сохраняем и публикуем пайп — то есть получаем на выход полноценный rss-фид, транслирующий результаты наших модификаций во внешний мир и на который можно подписаться точно так же, как и на любую другую rss-ленту новостей. Повторно уточним, что как входным, так и исходящим потоком необязательно обязана быть именно обычная rss/atom-лента, это могут быть и более сложные сущности — XML или JSON, при этом входящий поток не всегда обязан совпадать с исходящим потоком по формату, т. к. среди операторов пайпов есть и конверторы, позволяющие выполнять преобразования одного формата в другой на лету согласно требуемым критериям.


 Продолжение темы — начало практических примеров читаем здесь.

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru pikabu.ru blogger.com liveinternet.ru livejournal.ru google.com bobrdobr.ru yandex.ru del.icio.us

Подписка на обновления блога → через RSS, на e-mail, через Twitter
Теги: , , , , , , , ,
Эта запись опубликована: Четверг, 11 августа 2011 в рубрике Обзоры.

Оставьте комментарий!

Не регистрировать/аноним

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

Зарегистрировать/комментатор

Для регистрации укажите свой действующий email и пароль. Связка email-пароль позволяет вам комментировать и редактировать данные в вашем персональном аккаунте, такие как адрес сайта, ник и т.п. (Письмо с активацией придет в ящик, указанный при регистрации)

(обязательно)


⇑ Наверх
⇓ Вниз