Проблемы машапопостроителей

Не так давно, я снова пробегался по существующим построителям машапов (mashup builders).

Неполный их список — Dapper, OpenKapow, Yahoo Pipes. Практически все развиваются и обрастают новыми пользователями и возможностями, но… Увы, есть очень многое накладывающее на них серьёзные ограничения как вообще так и в рунете в частности.

Далее я сконцентрируюсь на том что _невозможно_ или всё ещё очень сложно сделать с их помощью:

  • Проблема анализа дат.

Я лично столкнулся с этим работая в работах над Енотом. Пользователи описывают даты в нескольких десятках форматов, например: «01.11.2007», «01/11/2007», «1 ноя. 2007», «ноябрь 1, 2007», «11-01-07» и так далее. Те машапопостроители с которыми пришлось сталкиваться, в большинстве своём, даты понимают очень ограничено, в форматах описания «dd.mm.yyyy», да, но когда доходит уже до обработки имён месяцев, обрамляющих символов и не только — в определённый момент оказывается что регулярные выражения внутри машапа, сравнимы по трудоёмкости разработки своего движка.

  • Проблема комплексных данных

Пока машапопостроитель используется для извлечение простых структур вроде результатов поиска по YouTube, RSS или простых списков, то они вполне справляются. Проблемы начинаются с когда необходимо обрабатывать комплекстные структуры где одни объекты вложены в другие, а в них третьи, при этом часть данных может быть «размазана» по нескольким объектам.

  • Условная обработка

Размещённые на веб страницах данные могут существенно отличаться описаниями в зависимости от типа. Так предположим, машап извлекающий информацию о рестранах и кафе размещаемых на одной странице, должен учитывать что описание для ресторанов должно быть одно и для кафе другое. Соответственно здесь возникает выбор, выгрузка всех необработанных данных для последующего анализа в своём приложении, или условная обработка в машапе, определяя по принципу «Если <x>, то делай <y>» какой метод извлечения данных использовать. Реальность такова что этих «Если» может быть очень много.

  • Проблемы с ASP.NET ViewState

ASP.NET для большинства машапопостроителей — это проблема. Разумеется не неразрешимая, но «муторная» так как требует анализа работы серверных ASP.NET контролов. ViewState, в неумелых руках, убийственная штука для производительности, машапам она мешает не в меньшей степени.

Список неполон и, в конечном итоге, оказывается что если для простого машапа достаточно Dapper’а, то для сложного агрегатора данных придётся создавать свой движок или брать один из коммерческих.

Неплохой обзор машапо-построителей рекомендую почитать в блоге Тима Горшкова — 18 инструментов в арсенал mashup-мейкера. Обзор платформ.

About This Author

Яндекс.Метрика