A Preliminary Thought on SOA (and IBM)
SOA is intangible!
Besides Web2.0, SOA is probably the other hottest term many people phrase. Like “Web2.0″ being confused with Ajax at first, SOA was often confused with Web Services - at least I did. The confusions aren’t completely unreasonable. Both Ajax and Web Services were new “add-ons” to the existing technologies and made up the new “evolutionary” technologies. Therefore, it is natural to ask “What SOA/Web 2.0 is, beyond Web Service/Ajax?”. This question was hard to put one’s finger on when the term was first widely used.
Over time, the concepts and deeper meanings are summarized and elicited by people, usually industry leaders, to save the community from “ignorance” - using a term that they don’t even fully understand but to be cool or geeky. Now SOA is pretty well defined - Wikipedia page has been written and refined over and over, many SOA leaders (although I am not sure how to lead SOA yet) are delivering SOA solutions, and there have been SOA books and publications too. However, the concept is still quite constrained within large corporations. I don’t see it quoted very often outside of SOA specific web contents.
I found this SOA Practitioner’s Guide series (1, 2, 3) is a plain and specific introduction to what SOA is like.
SOA is fragile!
It seems that there are quite a bunch of “considerations” that one need to take care of when designing a system that takes advantages of SOA, somewhat like best practices. I came across with a post on TechCrunch today, which reported an outage of Amazon Web Services that many start-ups are relying on (because of low initial costs). Then one question pop up in my mind: “If the average uptime of individual web services is x, then a system combined with n parties would have only (x) ^ n < x uptime, since x is between 0 and 1. Of course this is the most primitive probability model, the worst case would be the sum of downtime of all web services, i.e. each party is down for a while and the outages don’t overlap. This chaining effect on availabilities of SOA systems can be catastrophic. A few start-up companies commented on the post and said that their system is down because of the outage and “there is nothing they could do”. However, a better designed system (with cautious architects) claimed that they were not affected by the 5-min downtime at all, thanks to their cache and fall-over mechanisms.
Now IBM
So I’ve learnt IBM is the leader of SOA during my internship, but I don’t understand what that means. It’s probably true. IBM has apparently been pushing the software best practices for several years. After I came back to school, the stuff I was taught in Software Engineering courses has become such a redundancy - wasn’t I doing these at work? I mean, it’s so rare to see things on text still being in practical use in the industry. So I figured IBM’s claim on SOA was probably true too. After finishing reading the SOA Practitioner’s Guide, I will check out IBM’s SOA page, a page that I’ve visited many times but couldn’t sort out where to start. LOL.
» Posted in category: software development //
This is the bottom of post A Preliminary Thought on SOA (and IBM)


Leave a Reply