This post originated from an RSS feed registered with .NET Buzz
by Udi Dahan.
Original Post: High performance SOA - an oxymoron? Umm, no.
Feed Title: Udi Dahan - The Software Simplist
Feed URL: http://feeds.feedburner.com/UdiDahan-TheSoftwareSimplist
Feed Description: I am a software simplist. I make this beast of architecting, analysing, designing, developing, testing, managing, deploying software systems simple.
This blog is about how I do it.
There has been considerable hand-wringing over the potential performance impact of SOA, and especially XML, on server environments. In a new think piece posted at Search WebServices, ZapThink's Jason Bloomberg sheds some light on the challenge of high-performance SOA -- and yes, he uses "high performance" and "SOA" in the same sentence.
First of all, SOA does not necessarily imply XML. Second of all, even if you use XML in server environment (I do, every day), while performance may be worse than binary serialization, I have yet to see it be the system bottleneck. Sending out unnecessarily large sets of data, or sending the same data over and over again (as occurs in an RPC world) has been problematic in many of the systems that I've seen. While one could blame XML for making the bloat worse, one might also blame the architect for the bloat in the first place.
"Granted, SOA is a services abstraction, and "every abstraction comes at a price," Bloomberg observes. "Loose coupling, composability, agility, and the other benefits of SOA all introduce performance overhead." At large sites with a lot of users and traffic, SOA performance is a huge challenge."
From my experience, the price of the abstraction is negligible. Disregard for the impact of network latency comes with one helluva penalty, much higher than the service abstraction. Poorly designed services often suffer in this regard, so one could mistaken the performance hit as being caused by the abstraction. That is, if one was an analyst and not somebody actually doing the work.
One thing I will grant, though: "At large sites with a lot of users and traffic, ... performance is a huge challenge." Regardless of SOA.