.Net брокер сообщений базы данных

Я ищу простой и надежный механизм для брокеринга сообщений приложений на уровне базы данных. Мне в основном нужны изменения в двух разных приложениях, чтобы генерировать сообщения друг другу, чтобы указать, что между их общими объектами произошли изменения. Сложность заключается в том, что обе системы имеют свои собственные уникальные схемы баз данных для определения этих общих объектов.

Стоит ли использовать решение BizTalk для создания службы брокера сообщений или есть более простые способы добиться того же, используя стандартные подходы .Net или коммерческие компоненты?

Спасибо,

Брайан.


person Community    schedule 17.03.2009    source источник


Ответы (1)


Что такое база данных? Если вы используете SQL Server, рассматривали ли вы Service Broker? Это обеспечивает надежный обмен сообщениями (по запросу) на уровне базы данных ...

Сообщения не привязаны к схеме базы данных, так что это не должно быть проблемой.

person Marc Gravell    schedule 17.03.2009
comment
Более вероятно, что Service Broker - это то, что вам нужно. У меня есть пара вопросов: как сервисный брокер может автоматически интерпретировать входящие сообщения в инструкции обновления / вставки sql в принимающей базе данных? Можно ли отправлять сообщения из приложений? - person ; 17.03.2009
comment
Вы бы лучше открыли их как новые вопросы. Быстрые ответы: не может (автоматически), получение сообщения вызовет SP, SP, конечно, может выполнять операции DML. Сообщения отправляются с помощью операторов T / SQL, поэтому их можно делать из всего, что может выполнять операторы SQL. - person Richard; 17.03.2009
comment
Чтобы повторить Ричарда - я не верю, что это может быть автоматическим; вам нужно написать код для обработки сообщения и выполнения работы. - person Marc Gravell; 17.03.2009
comment
Повторная отправка из приложений - вы должны написать TSQL (например, SP), который сделает это за вас в БД. - person Marc Gravell; 17.03.2009
comment
У вас могут быть триггеры в базовых таблицах для обработки отправки изменений в очередь SQL Service Broker (я делал это уже пару раз). Затем у вас есть T / SQL на дескрипторе принимающей стороны, который принимает значения из сообщения и применяет изменения к данным. - person mrdenny; 06.04.2009