На работе у нас есть собственная устаревшая CRM-система (в дальнейшем тексте будет называться LS), которая используется на предприятии. LS также используется для хранения некоторых платежей клиентов. LS передается на аутсорсинг, и моя компания не владеет кодом, поэтому (прямые) изменения в коде приложения не могут быть внесены моей компанией. Однако нам принадлежит база данных, которую использует LS, и ее данные. Способ управления данными заключается в использовании единой базы данных и огромного количества таблиц, в которых хранится информация, необходимая для нескольких секторов (например: продажи, финансы, маркетинг и т. д.). Это приводит к сложному графику взаимосвязей и трудным для понимания таблицам.
Теперь у нас есть еще одно приложение (в следующем тексте оно будет называться
ConfApp), которое была разработана собственными силами и использует часть данных из LS, чтобы финансовый сектор мог генерировать своего рода подтверждения клиентских платежей для наших клиентов. ConfApp также используется в бухгалтерском секторе для подтверждения платежей наших клиентов, но у бухгалтерского учета другие потребности и требования по сравнению с финансами. Используя жаргон DDD, мы можем сказать, что существует два разных ограниченных контекста: один для бухгалтерского учета и один для финансов.
В настоящий момент ConfApp запрашивает базу данных LS напрямую, чтобы получить необходимые данные о клиентах и платежах. Поскольку он запрашивает базу данных LS напрямую, ConfApp жестко связан с базой данных, и ему необходимо знать о столбцах и связях, которые его не интересуют, а также о любых изменениях в базе данных LS. Вот почему, следуя практике DDD, я хочу создать отдельную схему для каждого ограниченного контекста в базе данных ConfApp. Каждая схема будет иметь таблицу «Клиент», но только ту информацию, которая интересует этот конкретный ограниченный контекст (например, бухгалтерскому учету требуется один набор адресов электронной почты для клиентов, а финансам — другой набор адресов электронной почты). Для этого ConfApp должен быть интегрирован с LS. Проблема, с которой я столкнулся, заключается в том, что я не знаю, какой тип интеграции использовать, поскольку LS не может быть изменен.
Варианты, о которых я думал, - это следующее:
1. Обмен сообщениями => кажется сложным, поскольку мне нужны только данные, а не поведение. Кроме того, это может оказаться сложной задачей, поскольку, как говорилось ранее, прямое изменение исходного кода LS невозможно. Возможно, создание какого-то приложения-адаптера, которое подключается к базе данных LS и при изменениях отправляет сообщения приложениям-подписчикам. Тем не менее кажется сложным.
2. Интеграция базы данных => Отслеживание изменений или какой-либо другой метод отслеживания изменений базы данных. Должно быть проще, чем Вариант 1, решает проблему получения только тех данных, которые нужны ConfApp, но не решает проблему связи между ConfApp и базой данных LS. Вместо реализации логики синхронизации в ConfApp это мог бы сделать другой проект, но есть ли причина не использовать вместо этого Messaging? И какой метод синхронизации данных использовать? Обе системные базы данных являются экземплярами SQL Server.
Дюжины других приложений следуют этой схеме интеграции с LS, поэтому решение для этих систем также необходимо будет применить. ConfApp не нужны данные «в реальном времени», они могут храниться до 1 месяца. Некоторым другим системам нужны более свежие данные (например, вчерашние). Я никогда не работал с мессенджерами на практике. Мне кажется, это излишнее решение.
Подробнее здесь: https://stackoverflow.com/questions/793 ... ossibly-ot
Является ли системная интеграция с использованием обмена сообщениями между этими двумя системами (и, возможно, другими) ⇐ C#
Место общения программистов C#
1737316462
Anonymous
На работе у нас есть собственная устаревшая CRM-система (в дальнейшем тексте будет называться LS), которая используется на предприятии. LS также используется для хранения некоторых платежей клиентов. LS передается на аутсорсинг, и моя компания не владеет кодом, поэтому (прямые) изменения в коде приложения не могут быть внесены моей компанией. Однако нам принадлежит база данных, которую использует LS, и ее данные. Способ управления данными заключается в использовании единой базы данных и огромного количества таблиц, в которых хранится информация, необходимая для нескольких секторов (например: продажи, финансы, маркетинг и т. д.). Это приводит к сложному графику взаимосвязей и трудным для понимания таблицам.
Теперь у нас есть еще одно приложение (в следующем тексте оно будет называться
ConfApp), которое была разработана собственными силами и использует часть данных из LS, чтобы финансовый сектор мог генерировать своего рода подтверждения клиентских платежей для наших клиентов. ConfApp также используется в бухгалтерском секторе для подтверждения платежей наших клиентов, но у бухгалтерского учета другие потребности и требования по сравнению с финансами. Используя жаргон DDD, мы можем сказать, что существует два разных ограниченных контекста: один для бухгалтерского учета и один для финансов.
В настоящий момент ConfApp запрашивает базу данных LS напрямую, чтобы получить необходимые данные о клиентах и платежах. Поскольку он запрашивает базу данных LS напрямую, ConfApp жестко связан с базой данных, и ему необходимо знать о столбцах и связях, которые его не интересуют, а также о любых изменениях в базе данных LS. Вот почему, следуя практике DDD, я хочу создать отдельную схему для каждого ограниченного контекста в базе данных ConfApp. Каждая схема будет иметь таблицу «Клиент», но только ту информацию, которая интересует этот конкретный ограниченный контекст (например, бухгалтерскому учету требуется один набор адресов электронной почты для клиентов, а финансам — другой набор адресов электронной почты). Для этого ConfApp должен быть интегрирован с LS. Проблема, с которой я столкнулся, заключается в том, что я не знаю, какой тип интеграции использовать, поскольку LS не может быть изменен.
Варианты, о которых я думал, - это следующее:
[b]1. Обмен сообщениями[/b] => кажется сложным, поскольку мне нужны только данные, а не поведение. Кроме того, это может оказаться сложной задачей, поскольку, как говорилось ранее, прямое изменение исходного кода LS невозможно. Возможно, создание какого-то приложения-адаптера, которое подключается к базе данных LS и при изменениях отправляет сообщения приложениям-подписчикам. Тем не менее кажется сложным.
[b]2. Интеграция базы данных[/b] => Отслеживание изменений или какой-либо другой метод отслеживания изменений базы данных. Должно быть проще, чем Вариант 1, решает проблему получения только тех данных, которые нужны ConfApp, но не решает проблему связи между ConfApp и базой данных LS. Вместо реализации логики синхронизации в ConfApp это мог бы сделать другой проект, но есть ли причина не использовать вместо этого Messaging? И какой метод синхронизации данных использовать? Обе системные базы данных являются экземплярами SQL Server.
Дюжины других приложений следуют этой схеме интеграции с LS, поэтому решение для этих систем также необходимо будет применить. ConfApp не нужны данные «в реальном времени», они могут храниться до 1 месяца. Некоторым другим системам нужны более свежие данные (например, вчерашние). Я никогда не работал с мессенджерами на практике. Мне кажется, это излишнее решение.
Подробнее здесь: [url]https://stackoverflow.com/questions/79369539/is-system-integration-using-messaging-between-these-two-systems-and-possibly-ot[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия