Преобразование приложения на основе обновления SQL в приложение на основе правил Java

У меня есть приложение, ориентированное на данные и чувствительное к данным, которое написано с использованием java, но почти вся бизнес-логика поддерживается в файлах .sql.

Эти файлы sql выполняются 1 на 1, временная таблица создается и обновляется этими файлами sql.

Внутри эти файлы sql запускают запросы на обновление временной таблицы с доступными значениями данных при различных условиях.

наконец, временная таблица сбрасывается в физическую таблицу.

Мы планируем перенести это в приложение, основанное на правилах Java, поскольку сценарии sql становятся огромными и сложными для понимания и обслуживания.

Планирование иметь все данные в памяти с использованием Lucene и его RAMDiirectory, что было бы предпочтительным выбором для построения правил (это не что иное, как запросы на обновление в sql)

Искал @ языки сценариев, чтобы иметь динамические правила, но сценарии (rhino / groovy) имеют те же характеристики, что и файлы sql (сложно писать и поддерживать)

Пожалуйста, опубликуйте свои предложения.

Заранее спасибо!!


person blob    schedule 08.04.2011    source источник


Ответы (2)


Наша компания использует Drools. Работает действительно здорово для нас. Drools обычно требует, чтобы вы писали свои правила в формате на основе XML, но мы только что расширили некоторые из их классов, чтобы мы могли писать наши правила на Java (позволяет нам отлаживать правила во время выполнения).

person Chris Aldrich    schedule 08.04.2011
comment
спасибо за ответ, но будет ли это хорошим выбором, учитывая сценарий, в котором у меня нет четко определенного рабочего процесса, а мои правила / условия вождения встроены в кучу нескольких сотен запросов. Пожалуйста, предложите - person blob; 08.04.2011
comment
Я бы посоветовал Друлс. Он отлично работает как механизм правил. И если вас интересует рабочий процесс и его интеграция с сетью, то я бы посмотрел на другой продукт JBoss — Seam. Мы используем Seam только для стороны JSF, но, похоже, он очень хорошо интегрируется с Hibernate и JBPM, и я предполагаю, что он также будет хорошо интегрироваться с Drools. Но если вам нужна только одна часть Seam, то я бы не обязательно выбрал ее. Просто зависит от того, что вы делаете. - person Chris Aldrich; 11.04.2011

Мы также используем JBoss Rules / Drools. Более новая версия (> 4.0.0) имеет хороший DSL, который отлично читается и поддерживается. XML больше не требуется.

person assen.todorov    schedule 08.04.2011