Варианты фильтрации данных в режиме реального времени. Будет ли работать подход, основанный на механизме правил?

Я ищу варианты/альтернативу для достижения следующего.

Я хочу подключиться к нескольким источникам данных (например, Google Places, Flickr, Twitter...) с помощью их API. Как только я получу некоторые данные, я хочу применить свои «пользовательские динамические фильтры» (определенные во время выполнения) к извлеченным данным.

Примеры фильтров

  1. Покажите мне только те рестораны, которые имеют рейтинг более 4 И имеют более 100 рейтингов.
  2. Показать все твиты, которые находятся в X милях от точки A и в Y милях от точки B

Можно ли использовать механизм правил (особенно Drools) для такой фильтрации? Имеет ли это смысл ?

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

Буду признателен за любые предложения/указатели/альтернативы.

Спасибо.


person Soumya Simanta    schedule 23.02.2012    source источник
comment
Судя по вашим примерам, Apache Solr (поиск в хранилище данных NoSQL, включая blahbl ..) будет соответствовать всем требованиям. Вы можете получить все это в коротком запросе.   -  person Jesvin Jose    schedule 24.02.2012


Ответы (1)


Да, Drools Fusion позволяет вам легко справиться с таким сценарием. Вот очень простой пример приложения, которое работает с твиттер-сообщениями с помощью twitter4j API:

https://github.com/droolsjbpm/droolsjbpm-contributed-experiments/tree/master/twittercbr

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

https://github.com/droolsjbpm/droolsjbpm-contributed-experiments/blob/master/twittercbr/src/main/resources/twitter4j.properties

подробности см. в документации twitter4j.

person Edson Tirelli    schedule 23.02.2012
comment
Drools (начиная с версии 5.0, выпущенной 2 года назад) больше не является простым механизмом правил. Drools — это платформа, которая позволяет, помимо прочего, управлять бизнес-правилами, управляемыми событиями (edBRM), и управлять бизнес-процессами, управляемыми событиями (edBPM). В частности, Drools Fusion обеспечивает комплексную обработку событий. Фильтрация — это лишь самое основное требование для поддержки обработки событий, но она поддерживается. В зависимости от приложения, какие функции оно будет использовать для своего варианта использования. - person Edson Tirelli; 24.02.2012