views:

92

answers:

1

I'm looking for a simple and reliable mechanism to perform application message brokering from the database level. I basically need changes in two distinct applications to generate messages to each other to indicate that changes have occurred between their common objects. The difficulty lies in the fact that both systems have their own unique database schemas to define these common objects.

Is it worthwhile pursuing a BizTalk solution to create a message brokering service or are there simpler ways to achieve the same thing using standard .Net approaches or commercial components?

Thanks,

Brian.

+3  A: 

What is the database? If SQL Server, have you considered Service Broker? This provides robust messaging at (as requested) the database level...

The messages are not tied to the database schema, so that shouldn't be a problem.

Marc Gravell
It's looking more likely that the Service Broker is the way to go. I've got a couple of questions:How can the service broker automatically interpret incoming messages into sql update/ insert instructions within the receiving database?Can the messages be sent from applications?
YOu would be better opening these as new questions. Quick answers: it can't (automatically), message receipt will trigger an SP, the SP can of course perform DML operations. Messages are sent with T/SQL statements, so can be done from anything that can execute SQL statements.
Richard
To echo Richard - I don't believe it can be automatic; you need to write code to handle the message and do the work.
Marc Gravell
Re "be sent from applications" - you would write TSQL (such as an SP) that does this for you at the DB.
Marc Gravell
You can have triggers on the base tables handle sending of changes to a SQL Service Broker queue (I've done this a couple of times now). Then you have T/SQL on the receiving end handle taking the values from the message and apply the changes to the data.
mrdenny