#spring #spring-data #spring-integration #spring-batch
#spring #spring-данные #spring-интеграция #spring-пакетное
Вопрос:
Мы начинаем процесс реорганизации систем в нашей компании. Одним из ключевых компонентов работы является новая модель данных, которая лучше соответствует нашим требованиям. Основной частью начальной фазы работы является проектирование и сборка инструмента миграции данных. При этом будут взяты данные из одной или нескольких существующих систем и перенесены в новую модель. Некоторые требования:
- Преобразование данных в новую модель
- Обогащение данных значениями по умолчанию или в соответствии с бизнес-правилами
- Интеграция с существующими системами для извлечения данных
- Интеграция с Salesforce CRM, которая внедряется в компании.
- Ведение журнала и уведомление о сбоях
В мире Spring какой проект Spring лучше всего использовать в качестве базовой платформы для такого инструмента миграции данных?
Мои первоначальные мысли — рассмотреть реализацию инструмента с использованием Spring Integration. Это позволило бы:
- С помощью XML или DSL обеспечить возможность просмотра, понимания и редактирования потока данных высокого уровня (возможно, с использованием визуального инструмента, такого как плагин STS). Возможность просматривать поток высокого уровня таким образом является большим преимуществом.
- Соединители для работы с различными источниками данных.
- Компоненты Transformers, которые будут созданы для миграции форматов данных.
- Маршрутизаторы для маршрутизации данных в новой модели к конечным точкам, которые подключаются к системам.
Однако существуют ли другие проекты Spring, такие как Spring Data или Spring Batch, которые лучше соответствуют требованиям?
Очень ценю отзывы и идеи.
Комментарии:
1. Я не хочу загрязнять ответ, потому что нечего добавить ко всем вашим правильным пунктам. Только одно замечание: вы можете объединить все эти проекты вместе. В Spring Integration существует множество канальных адаптеров, основанных на Spring Data. Пакет Spring Batch действительно можно использовать в вашем решении, а также для некоторых задач загрузки. Существует также связь между Spring Batch и Spring Integration: docs.spring.io/spring-batch/4.1.x/reference/html /…
Ответ №1:
Я бы, конечно, начал с spring-integration, которая предоставляет простую реализацию для шаблонов корпоративной интеграции, которые лежат в основе большинства / всех перечисленных вами требований. Это также исключительно отличный инструмент моделирования проблем, который помогает вам лучше понять проблему, а затем представить ее реализацию в рамках единого потока интеграции Позже, когда у вас будет четкое представление о том, как все работает, было бы чрезвычайно просто перевести его на следующий уровень, представив «другие фреймворки», которые вы упомянули / отметили, добавив #spring-cloud-data-flow и #spring-cloud-stream.
В целом этот вопрос довольно широкий, поэтому подумайте о том, чтобы следовать приведенным выше указателям, начать и задать более конкретные вопросы.