May 10, 2007
SOA, Service Broker, and Data
Roger Wolter, who is trying to evangelize the architectural aspects of data in SOA, has this to say:
After all, you don’t have to go too far down the SOA path before you realize that unless you build reliable, asynchronous, loosely-coupled services, your SOA architecture is going to have serious reliability problems and Service Broker brought reliable, transactional messaging to a whole new level of reliability and efficiency. What I found was a bunch of architects trying to figure out how to use WS-Transactions to build tightly coupled services to replace their tightly coupled objects.
So far, I’m thrilled that he is pushing this message in, and out of, Microsoft.
He then goes on to debunk the idea of Entity Services:
I next ran into a lot of people architecting SOA systems to provide a common services interface to a lot of diverse back-end systems. I’ve talked to people who had over 100 systems that handle customer data for example. If you build a perfect customer service to wrap all these systems with a common schema for the customer record you have a single view of the customer right? The first time your user tries to change the phone number for Acme Rockets Inc. and gets back 80 records which may or may not be for the same customer, the single view of the customer loses some of its appeal.
I’m loving it.
He then suggests a solution:
That’s how I got interested in Master Data Management. I really believe that accurate, unambiguous clean data is a prerequisite to an SOA project.
Hmm, from what I’ve seen of MDM, it puts a different spin on all the other things he said above.
Other than that, I’m totally with him. A deep understanding of data is necessary to get a good service decomposition. Without understanding the transactional nature of that data, you just might end up back tightly coupled and with a monolithic web service mess.
Whether or not you use Microsoft’s SQL Server Service Broker, Roger is definitely a guy worth listening to.
Also, check out this podcast on Master Data Management & SOA for more information.
Posted by Udi Dahan at 05:49 PM Permalink
|