Какой механизм правил я должен использовать?
Каковы некоторые из лучших или самых популярных двигателей правил? Я не остановился на языке программирования, поэтому скажите мне механизм правил и языки программирования, которые он поддерживает.
Ответы
Ответ 1
Я один из авторов Drools, я буду избегать сутенерства моих товаров.
Но некоторые другие варианты - Jess (не с открытым исходным кодом), но использует синтаксис клипов (который также поддерживает подмножество) - это своего рода диалект lisp.
Это действительно зависит от того, для чего вы хотите, у Haley есть сильная технология Natural language (и недавно они приобрели RuleBurst, у которого также есть интересные технологии на естественном языке, которые могут обрабатывать словарные документы со встроенными правилами - например, юридическая документация). RuleBurst смог также настроить время автономной работы .Net(есть и порт Drools.net ", - я не видел, что было до последнего времени, увы, недостаточно времени). Хорошо, я сейчас уберу свой сутенер. Извините.
Ответ 2
В зависимости от ваших требований, Windows Workflow Foundation (.NET 3.5), возможно, стоит посмотреть.
Механизм правил .NET InRule поддерживает WF и BizTalk; Я не пробовал, хотя и не знаю, хорошо ли это.
Ответ 3
Это замечательная статья Мартина Фаулера, в которой обсуждается, когда могут быть полезны механизмы правил. Вы можете найти это полезным.
http://martinfowler.com/bliki/RulesEngine.html
Ответ 4
У меня есть немного опыта работы с Haley Expert Rules и Haley Office Rules. Обе хорошие системы, но мне нужно будет немного поучиться, что вы хотите использовать для окончательного ответа (см. http://www.haley.com)
Оба они поддерживают С# и Java (и я также думаю, что веб-сервис api).
Разница между ними в основном связана с тем, сколько естественного языкового моделирования вы хотите получить. Правила Office позволяют бизнес-пользователям писать правила в документе Office и в основном ориентированы на моделирование требований законодательства. Экспертные правила могут быть немного более гибкими в определении того, как он обрабатывает естественный язык, но требует больше работы, определяя языковые структуры спереди.
Надеюсь, что это поможет.
Ответ 5
Мы использовали http://jatha.sourceforge.net и http://www.jboss.com/products/rules. Они оба очень хороши, но по большей части правила JBoss кажутся мне излишними для многих людей. Они оба основаны на Java.
Стоит запомнить Greenspun Tenth Rule of Programming и пропустить вперед, чтобы импортировать его:)
Ответ 6
Я извлечен Правила JBoss aka Drools и выглядит неплохо. Я бы хотел услышать от людей, использующих его в производстве, потому что мне, вероятно, понадобится механизм правил и в моем текущем проекте.
Ответ 7
Inrule см. сайт очень хорошо!
это основанный на .NET механизм правил с твердым SDK и приятным пользовательским интерфейсом для нетехнических пользователей.
Работал отлично для меня в прошлом - в значительной степени сократить мою стоимость разработки пополам.
Ответ 8
Я нашел еще один механизм правил, который поддерживает разные правила; Процедурный, вывод (RETE) и FlowRule. Это довольно гибкий и расширяемый механизм правил (также управляемый событиями). Раньше у них была свободная версия.
Взгляните на http://www.flexrule.com
Ответ 9
Для очень хорошо понятых процедурных правил (например, правил приемлемости, правил страхования, правил аудита и т.д.), то простые таблицы решений с конкретным языком домена могут дать вам производительность и простоту без накладных расходов на основе RETE-движков.
Механизм с открытым исходным кодом Java с открытым исходным кодом можно найти на DTRules
Ответ 10
WF доступен уже в .net 3.0. Это немного глючит, хотя на стороне дизайнера в Visual Studio и может стать довольно грязным. Я использую его в Sharepoint (где WF в значительной степени является вашим единственным вариантом), и в целом я вполне доволен этим, хотя кривая обучения довольно крутая.
Основы WF - хорошая книга, чтобы начать с нее, поскольку они реализуют полное решение от начала до конца и объясняют концепции за ним.