dllweb
@dllweb

На чем основывается логика ERP систем?

Доброго всем времени, назрел такой вопрос, всем кто наслышан о плановых системах так называемых ERP и CRM.
Все эти системы устроены на абстракциях, например НСИ и Реестры
Мучает вопрос, как устроена логика работы приложения если вся бизнес-логика подвязана на абстракции НСИ
Ну вот допустим есть у нас справочник типов пользователя и справочник его прав доступа
Нужно зарегистрировать этого пользователя в системе опираясь на эти справочники, как же опираться
в обработке входных данных, и собственно как в дальнейшем опираться на проверки данных записей после обработки?

Допустим - проверка типа пользователя и прав которые позволены пользователю для какого-то действия возможны следующим образом - проверка поля пользователя на предмет прав - извлечение по данному идентификатору права из справочника, далее пропуск или отказ в действии

Но как всем известно справочники это вещи динамические, они могут изменяться или вообще удаляться, что тогда происходит в коде, всё снова переделывать или есть какие-то более универсальные методы?

Как устроена жизнь бизнес-логики которая опирается на нестабильные данные под которые она была создана?
  • Вопрос задан
  • 253 просмотра
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Как устроена жизнь бизнес-логики которая опирается на нестабильные данные под которые она была создана?
Если кратко: создаётся динамическая структура хранилища с заранее известными отношениями ролей к друг другу на основе любой системы управления БД с контролем целостности данных внутри этого хранилища.

Есть такое понятие, как "целостность данных".
При добавлении записи в одну из ролей - автоматом просят сопоставить (или создать) все необходимые поля для обеспечения целостности данных.
Тоже самое - при попытке удалить любую связующую сущность из цепочки записи.
Ответ написан
gromdron
@gromdron
Работаю с Bitrix24
На мой взгляд, у Вас происходит путанница двух слабосвязанных возможностей системы.

С одной стороны, Вы говорите о НСИ (насколько я понимаю Нормативно-справочная информация), а с другой стороны о так называемом RBAC (role based access control).
Разложить можно следующим образом:
1) Есть пользователи, который с определенной стороны являются справочником, а с другой стороны предметом иденктификации пользователя в системе
2) Есть роль, которая складывается из совокупоности возможных действий в системе.
3) Пользователь может иметь несколько ролей и права пользователя считаются исходя из совокупонсти максимально доступных прав.

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

Приведу пример: есть у нас некая ERP в которой 300 сотрудников и 3 роли - "гость" (по факту может не существовать в системе), "сотрудник", "администратор".
Если мы всех 300 пользователей привяжем к роли "Сотрудник", а потом попытаемся ее удалить, то тут может быть несколько вариантов решения данной ситуации (разные системы применяют разные методы)

С точки зрения удаления роли:
- Роль не удаляется, пока есть хотя бы один сотрудник с такой ролью
- Роль помечается удаленной и она больше не учитывается в наборе прав, но отображается в системе
- Роль удаляется, только если пользователь отметил в какую роль добавить существующих пользователей
- Роль просто удаляется, оставляя систему в состоянии "сломанной целостности".

Что касается вопроса про справочники, то в общем понимании слова под этим подразуемевается в основном пользовательская информации справочного (внезапно!) характера. Т.е. эта информация не влияет на технический аспект работы системы, но напрямую завязана на бизнес-логику системы (все можно оспорить конечно же).
Например справочником может служить:
- Тип формы собственности (Государственная, Муниципальная, Частная и т.п.)
- Организационно-правовая форма (Товарищество, Общество, Акционерное общество и т.п.)
- Сфера интересов (IT, Сельское хозяйство и т.п.)

То есть любая информация представленная в виде списка.
P.S. В частном случае и пользователи и роли тоже являются справочниками.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы