Java-приложение бизнес-правил для пользователя - PullRequest
0 голосов
/ 19 февраля 2011

Описание может звучать как просто набор слов, поэтому здесь есть более подробное объяснение. У меня есть объект User, который сопоставлен с таблицей базы данных. Я хочу, чтобы пользователи были в разных ролях. Таких будет много - и технически они будут одними и теми же пользователями в одной таблице, но к ним будут применяться разные роли. Скажем, пользователь в роли A должен будет иметь два поля по мере необходимости и иметь определенные ограничения по длине и содержанию своего пароля, а также по истечении срока действия его пароля и т. Д.

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

Технически, самое глупое и простое решение - реализовать класс, сериализовать, сохранить в БД, затем загрузить, десериализовать, вызвать методы, которые будут выполнять правила. Проблема заключается в изменениях в наборе правил (читайте «интерфейс» класса правил), и это решение обычно звучит как хак.

Еще что-нибудь? Какие-нибудь рамки? Другие подходы?

ОБНОВЛЕНИЕ : вероятно, не ясно. скажем, у меня есть класс User.java Мне нужно определить разные правила сказать: 1. нужно ли проверять длину пароля и каким он должен быть? 2. нам нужно требовать некоторые свойства, которые требуются? 3. нам нужно отслеживать попытки входа в систему для этого пользователя? 4. если мы отслеживаем, сколько попыток входа разрешено? 5. срок действия пароля истекает? 6. если мы это сделаем, то через сколько дней? или месяцы? или недели? 7. ... И так далее, и так далее. так что вопросы Как определить эти правила и работать с объектом пользователя БЕЗ изменения и повторного развертывания базы кода? - как мне сохранить эти правила?

Слюни, jBPM и т. Д. Не подходят для этой задачи. Но любой совет поможет!

Ответы [ 2 ]

1 голос
/ 19 февраля 2011

JRuleengine хорошо, я слышал, некоторое время назад я планировал использовать его для аналогичного применения.

Хотя есть много других двигателей правил .

0 голосов
/ 19 февраля 2011

Ну, есть несколько хороших правил, которые включают в себя jrules, drools, я думаю, также популярен.Нужно помнить одну вещь - это связь между правилом и данными, которые оно проверяет.В конце концов, вы можете иметь правила в текстовом документе, но когда они выполняются, им нужно проверить данные, и это также является фактором выбора механизма правил или архитектуры.как правило, если (a> b), тогда сделайте y.Означает, что вам нужно изучить a и b при выполнении правила.Это реальная проблема, как получить параметры в правиле и движке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...