SOA is probably the most overused/abused buzzword. I would say even more so than AJAX - which is scary, really. It’s also funny how “SOA experts” can make the subject even blurrier.

That was the subject of the conversation between Doug and I, recently that I am quoting below. We were discussing a recent SOA article. Nothing too serious, just fun.

irakli: Got a minute?
dharris: sure
irakli: Trying to catch a blasphemy in this:

Quote #1:\

But what if I am building a new application that has little to do with integration? Say I’m building a Business Intelligence (BI) tool for analyzing and reporting on data from a data warehouse and have no requirement to integrate any legacy systems, expose any Web Services, or provide any BPEL processes. Is SOA relevant in the design of such a system? Would I apply any SOA principles in architecting this application? Would it make sense to say that my new system’s architecture is SOA-based? The answer to all of these questions is “Yes”.

Interpretation: SOA should be used in any application, at least at the module level

Quote #2:\

The above brings out one of the key principles of SOA-based design that is often not well articulated or recognized - separation of state and behavior. Just as many countries hold dear the principle of separation of church and state, the separation of state and behavior is important to SOA-based design.

Intepretation: State and behaviour should be separated in SOA

dharris: There are too many buzzwords/buzz-acronyms in Quote #1

irakli: End result of Quote1 + Quote2 =
In any application, state and behaviour should be separated

So, what exactly happened to Encapsulation - the core principle of OO, again?

dharris: heh

irakli: He got me lost there. Does it make sense to you, maybe?

dharris: that’s what can happen with buzz-word laden prose

irakli: God bless you. So it’s not just me?

dharris: SOA seems to me to be a redefinition of some core OO principles… clear interface to encapsulated objects.

irakli: Well, in my humble understanding, SOA is higher in the architecture stack, much higher than OO

dharris: It’s just that in a modern SOA application, the “objects” are often separate applications running on separate hardware.
dharris: exactly
dharris: The scary thing….

irakli: … is when people start using it on lower levels