Перенос данных с использованием Spring - PullRequest
0 голосов
/ 27 марта 2019

Мы начинаем процесс реорганизации систем в нашей компании.Одним из ключевых компонентов работы является новая модель данных, которая лучше соответствует нашим требованиям.Основная часть начального этапа работы заключается в разработке и создании инструмента переноса данных.Это возьмет данные из одной или нескольких существующих систем и перенесет их в новую модель.Некоторые требования:

  1. Преобразование данных в новую модель
  2. Обогащение данных с использованием значений по умолчанию или в соответствии с бизнес-правилами
  3. Интеграция с существующими системами для извлечения данных
  4. Интеграция с Salesforce CRM, которая внедряется в компании.
  5. Регистрация и уведомление о сбоях

В мире Spring, который является лучшим проектом Spring дляиспользовать в качестве основы для такого инструмента миграции данных?

Вначале я хотел бы взглянуть на реализацию инструмента с помощью Spring Integration.Это будет:

  1. Через XML или DSL, чтобы поток данных высокого уровня можно было просматривать, понимать и редактировать (возможно, используя визуальный инструмент, такой как плагин STS).Возможность просмотра потока высокого уровня таким способом является большим преимуществом.
  2. Соединители для работы с различными источниками данных.
  3. Компоненты трансформаторов, которые будут созданы для переноса форматов данных.
  4. Маршрутизаторы для маршрутизации данных в новой модели на конечные точки, которые соединяются с системами.

Однако существуют и другие проекты Spring, такие как Spring Data или Spring Batch, которые лучше подходят длятребования?

Очень ценю отзывы и идеи.

1 Ответ

2 голосов
/ 27 марта 2019

Я бы, конечно, начал с пружинной интеграции, которая раскрывает простую реализацию для Шаблонов корпоративной интеграции , которые лежат в основе большинства / всех ваших перечисленных требований.Это также исключительно полезный инструмент для моделирования проблем, который помогает вам лучше понять проблему, а затем представить ее реализацию в едином интегрированном потоке интеграции. Позже, когда у вас будет четкое понимание того, как все работает, будет очень просто перенести его наследующий уровень, представив «другие фреймворки», о которых вы упомянули / пометили добавлением # spring-cloud-data-flow и # spring-cloud-stream.

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

...