Есть ли какие библиотеки или инструменты для создания/изменения/обработки сложных бизнес правил на php или java?

В рабочем проекте нужно реализовать сложную бизнес логику основанную на логических правилах (or,and,like,in.... итд)

Создавать нужно правило в интерфейсе пользователя то есть они динамические. Потом некий массив данных нужно прогнать через каждое правило. И выполнить действие соответствующее этому правилу в случае положительного результата.

Есть ли инструменты или примеры реализаций такой задачи на php/java?

Пример есть массив:

name=Александр,
surname=Иванов
age=23
from=Тверь,
cars=honda, vaz

есть набор правил:

Правило 1 : name=Александр AND age<=20 если правило пройдено "отправить клиенту"
Правило 2 : name=Вася OR cars in('vaz') если правило пройдено "удалить"
правила 3 : (age=23 AND from=Москва) OR name=Коля если правило пройдено отредактировать массив и сохранить
...
  • Вопрос задан
  • 162 просмотра
Пригласить эксперта
Ответы на вопрос 2
zolt85
@zolt85
Программист
Реализовывали такую штуку при помощи ANTLR. Именно ANTLR был использован для описания грамматики. Он же генерирует парсеры/лексеры для этой грамматики (на целевом ЯП, мы использовали Java в качестве такового).

Затем необходимо будет реализовать свой visitor для AST-дерева (которое построится на основании, описанной Вами, грамматики), который собственно и будет давать вам true или false всего выражения.

Грамматику описать не сложно (примеры различных грамматик есть на просторах интернета), реализовать visitor тоже просто.
Ответ написан
Комментировать
@aol-nnov
> обработки сложных бизнес правил
google://bpm engine
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы