Как преобразовать старые данные в новую систему? используя sql или управляемый код? - PullRequest
2 голосов
/ 24 февраля 2009

Допустим, компания создает новое приложение. Приложение следует принципам DDD. В старой кодовой базе есть много продуктов (или другой «сущности» для компании), которые они хотят преобразовать в новую кодовую базу.

Как должна выполняться эта работа? обычно это быстрее и проще импортировать, используя для примера ssis, -передача из одной базы данных в другую. Но главная проблема здесь в том, что многие BusinessRules (реализованные в управляемом коде в DomainLayer) пропускаются ... Достаточно ли этого хорошо, если девелопер говорит: «У меня все под контролем. Правила дублируются в виде сценариев sql ...»

Должны ли мы импортировать библиотеки управляемого кода в SQL Server (по крайней мере, это возможно в .NET и MS SQL Server)? Или мы должны создать скрипт импорта в управляемом коде, чтобы все слои в домене проходили при сохранении сущности в базе данных? ... (может занять много часов ..)

Что ты думаешь?

Ответы [ 3 ]

1 голос
/ 24 февраля 2009

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

и нет, это не достаточно хорошо - если кто-то скажет: «У меня все под контролем», - это гудение, и все мои будильники срабатывают. некоторые детали всегда будут забыты, и это в основном небольшая катастрофа;)

0 голосов
/ 24 февраля 2009

Как и многие другие вопросы в этой лиге (что является лучшим подходом для этого и того, какой язык выбрать, ORM или нет), трудно ответить, не зная деталей старого приложения, нового приложения. модель данных (реляционная и ОО) .... Или просто: тщательно проанализируйте свою задачу и затем выберите свой инструмент.

  • Будет ли новое приложение построено поверх нового реляционного слоя с собственным и новым доменным слоем, или упомянутый доменный слой останется?
  • О каких и каких бизнес-правилах мы говорим?
  • ...

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

0 голосов
/ 24 февраля 2009

Два варианта не являются взаимоисключающими. SQL Server может использовать веб-сервисы. Вы можете создать свою службу импорта как веб-службу и затем вызывать ее из SQL Server. Конечно, вы можете сделать это даже с помощью SSIS.

...