Вопрос

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

Есть интересные идеи?

Моя идея для этого проекта заключалась в том, чтобы выполнить проверку файлов потока webMethods (только несколько примеров проверки).Я бы сделал только проверку — у нас есть собственный анализатор этого формата файла.

Но было бы неплохо что-то, что действительно работает.

Это было полезно?

Решение

На самом деле, у нас есть проект, основанный на слюнях, вы можете попытаться имитировать его.:-)

Предположим, у вас есть входящие SMS-сообщения, поступающие по протоколу HTTP.HTTP-запрос содержит Anumber (номер телефона отправителя), Bnumber (номер телефона получателя) и текст сообщения.

Ваша цель — использовать слюни для маршрутизации сообщений в зависимости от их содержания к соответствующим службам.У вас должен быть набор правил, каждое из которых гласит что-то вроде:если номер B равен 1792 и текст сообщения содержит ключевое слово «ВИДЕО», то сообщение должно быть направлено в службу предоставления видео.

На самом деле мы используем именно такую ​​настройку: маршрутизатор на основе слюни, который собирает сообщения из потоков HTTP-сервлетов и помещает их в очереди JMS в зависимости от их содержимого.

Было бы вам интересно поработать над этой программой?:-)

Другие советы

Я приведу вам два реальных примера, которые моя компания использует прямо сейчас.Компания является одной из крупнейших компаний электронной коммерции в Бразилии.

  1. Drools используется для применения ценовых акций и скидок на продукты, в то время как пользователи просто перемещаются по каталогу продуктов.Таким образом, прежде чем отображать ответ для браузера пользователя, мы должны применить рекламные акции, связанные с ценой, рассрочкой и доставкой.

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

Это было действительно сложно, но получилось очень хорошо.Внутри компании Drools используется и в других контекстах.

Если вы пытаетесь изучить Drools, есть также довольно хорошая книга, недавно опубликованная.Его можно найти по адресу http://www.packtpub.com/drools-jboss-rules-5-0-developers-guide/book.Я уже некоторое время пользовался Drools, когда он вышел, но пролистал его, чтобы изучить некоторые новые концепции.Некоторые из моих товарищей по команде также прочитали книгу и согласились, что она помогла им понять инструмент/приложение.

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

Один пример из предыдущего проекта:

Вы пытаетесь доставить посылку и хотите ее доставить с помощью нескольких транспортных компаний.Каждая компания заберет посылку на складе и доставит ее в другое депо, пока она, наконец, не достигнет места назначения.У каждой компании есть график, который может представлять собой странное сочетание дней и времени.Например, каждый вторник и четверг, кроме 5-го вторника и первого четверга месяца, за исключением праздничных дней.Каждая поездка между депо займет определенное количество времени.Учитывая фиксированный маршрут между складами, сколько времени мне понадобится, чтобы доставить эту посылку с учетом времени начала?

Проще всего было бы сыграть в игру, скажем, в карты.Покер может быть немного сложным, но пики, старая дева и т. д. могут быть проще.

Почему вы обучаете их инструменту, которым даже не пользуетесь?Как вы планируете его применять?Надуманный пример — это всего лишь надуманный пример.Если у вас есть реальная потребность в этой технологии, примените ее в этой области.Как минимум, это может служить очень грубым доказательством концепции, чтобы увидеть, применима ли технология к вашей системе.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top