Подходящий инструмент/движок «бизнес-правил» для моего веб-приложения [закрыто]

StackOverflow https://stackoverflow.com/questions/2449277

Вопрос

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

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

Я думаю, что мое приложение заслуживает механизма правил.Раньше я ничего не использовал.Итак, у меня есть несколько вопросов, но перед этим вот профиль моего приложения:

  • Веб-приложение (интенсивное использование данных)
  • Несколько критично (связано со здравоохранением) – необходимо учитывать динамизм
  • Платформа Microsoft .Net (ASP.Net, MS SQL Server, WCF)

Вот несколько запросов:

  • Как лучше всего реализовать правила?
  • Можно ли применять правила сразу или пакетно — единственная возможность?
  • Как бизнес-пользователь может контролировать правила?
  • Какая существует лучшая (подходящая) система правил?(Я предпочитаю использовать продукт с открытым исходным кодом)

Любой дополнительный опыт приветствуется, поскольку я все еще изучаю потребности.

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

Решение

Для ASP.Net доступно множество механизмов бизнес-правил; Фонд рабочих процессов Windows, БизТок Механизм бизнес-правил, Фонд Солвер, Потоковая аналитика, и Реактивный фреймворк.Google раскрывает гораздо больше, например Простой механизм правил и Механизм пользовательских правил.

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

Я не одобряю использование двоичных или графических DSL.По моему опыту, их очень сложно менять, отлаживать, искать и поддерживать.

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

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