Udi Dahan writes that ".NET/Java Interop is not a reason for SOA". Udi writes that companies that  need to integrate two technologies turn to web-services and that
"The only problem is that in order for things to work right, they really must have a chatty interface, and flow transaction context between these “services”, and all the other things I describe as anti-patterns"

Udi is right that if you don't rethink and remodel your systems you will (probably) not  have an SOA as you are likely to find your self implementing  anti-patterns such as the ones he mentions.

However, using Web-services does not automatically mean that you are doing an SOA. If you don't think about moving to SOA you can still opt to use web-services as a remoting  or RPC technology to connect two systems. The advantage over the other proprietary products Udi mentions is that web-services are a standard technology. This will work well or fail is orthogonal to the technology choice. It depends on the architectures of the systems you integrate. If you need to flow transaction between the systems you'd also need that even if you cross-compile one of the applications in the other environment.

Another thing I don't agree with is the word must Udi uses. First, while it is likely that older systems has chatty interfaces it is not a must. The designers of the legacy system may have thought about the consequences of distribution without regard to SOA. Also you can still wrap an existing system with a service contract (using web-services or any other technology) and not get to chatty interfaces etc. However that means that the wrapper should have some substance or business logic inside it to mask the old system's behavior this is especially important  if you are thinking about moving to SOA and you take into consideration that the business will not just halt and wait there until you are done. You have to think about interim solutions, such interim solutions can include wrapping a legacy system with an Edge Component and a SOA facade (a pattern I call Legacy Bridge) while you move in the grader direction of a full blown SOA.


 
Tuesday, May 29, 2007 9:51:45 PM (GMT Standard Time, UTC+00:00)
You're absolutely right in both your agreement and disagreement.

I was a little too eager in getting the post out the door. The sentence should have read:

"The only problem is that in order for things to work right, SOMETIMES they really must have a chatty interface, and flow transaction context between these “services”, and all the other things I describe as anti-patterns"

But I can always count on you, eh?
Tuesday, May 29, 2007 9:53:04 PM (GMT Standard Time, UTC+00:00)
That'll teach me to rush posts out the door. It should have read:

"The only problem is that in order for things to work right, SOMETIMES they really must have a chatty interface, and flow transaction context between these “services”, and all the other things I describe as anti-patterns"
Tuesday, May 29, 2007 10:26:12 PM (GMT Standard Time, UTC+00:00)
Considering the number of typos in my post, I guess I shouldn't rush posts out the door either :)
Comments are closed.