Я и моя команда работаем над ERP-системой, в которой много модулей (HR, бухгалтерия и т. Д.)
Проблема, с которой мы сталкиваемся, состоит в том, что между двумя модулями (HR, бухгалтерия) есть несколько общих сущностей, таких как сотрудники
Сотрудники в системе управления персоналом имеют много деталей, таких как:
Personal Information , Visa Info , Report To , Sources , Training , Etc
Сотрудники в бухгалтерии имеют мало информации
Personal Information , Bank Account , Employee Account (That's it )
1) Предположим, что каждый модуль будет работать как отдельная версия (это завершено)
2) Предположим, что 2 модуля будут работать вместе, поэтому сотрудники будут отражаться в обоих модулях, даже если у них разные потоки в каждой системе
Что мне нужно, когда я определяю нового сотрудника в модуле управления персоналом, чтобы модуль учета почувствовал, что изменения и какие бы операции ни происходили в обоих модулях, они должны иметь дело с одной и той же сущностью ??
Учтите, что этот сотрудник связан с другими субъектами, такими как компания, с которой он связан, и эта сущность компании отличается в обоих модулях (например, он содержит много деталей в модуле управления персоналом, но в бухгалтерском учете некоторые компании имеют ветки под ним)
Примечание: Каждый модуль имеет отдельную базу данных (не хотел расширять базу данных в автономной версии)
Как правильно разработать оба модуля для совместной работы? или как автономный ???
Не слишком ли поздно, и мы должны с самого начала спроектировать его как общие объекты?
А если я использовал общие объекты, это значит, что я должен создать общую бизнес-логику и уровень доступа к данным?
Я пытаюсь много гуглить по этому поводу, но такая информация будет получена только из реальной реализации и жизненного опыта
Технологии:
Asp.net + Mysql