BT et C

Wednesday, September 28, 2005

a WikFisk

There's this problem I have, and today I encountered the epitome. Seems like Luke has the same problem from time to time:

I go to my favorite resource, the wikipedia, and decide to get current on definition/discussion of SOA. Here's what I get (begin fisk):

"In computing, the term Service-Oriented Architecture (SOA) expresses a software architectural concept that defines ..."
Warning bells going off already. Why?
A term doesn't express a concept. People express concepts. Using terms. Terms are supposed to just flat-out mean something. What a term means is called its definition. So when you ask for the definition of X, you should be told what it means, e.g.:

Matt: what does SOA mean?
Wik: "SOA means ... " [stuff that it means]

Well, I won't edit the wikipedia there ... they might not understand; I'll do it here:

"In computing, SOA means ..." (and picking up where we left off) "...the use of services to support the requirements of software users."

See I left "in computing" there, in case someone happens to search "service-oriented architecture" without realizing that it's kind-of a computer term.

"Supporting the requirements of software users", if you read carefully, means ...

"being software"

Don't believe me? I stipulate that "supporting" means "fulfilling" (i.e. fulfilling the requirements). Rickety buildings and people with low self-esteem need "support". "Fulfilling the requirements of software users" means "doing stuff with software". QED.

To paraphrase, then, we've learned that service-oriented architecture means "orienting software around services" or maybe "using services to do stuff with software". Yeah. Then

"In a SOA environment, nodes on a network make resources available to other participants in the network as independent services that the participants access in a standardized way"

Questions for the audience:
1) What's an SOA environment? I comprehend metaphors, but you should use one at a time: architecture (principles/etc. by which a thing gets built) or environment (a place where actions occur). This sentence, then describes an SOE.

I swear I'm not just being obtuse. The mind recoils from this kind of metaphor-overload. And if you let this slide, it's not long before you get "SOA solutions" (instead of SO Solutions) then "Enterprise SOA solutions". Then you get people who "deliver Enterprise SOA solutions". You're being expected to fuse the metaphors of service, architecture, problem-solving, delivering, and of course everyone's favorite "the enterprise" (really digging kuro5hin lately)

2) What has this sentence added? You have to dig a bit, but there really is some new info here:
-"services" refers to resources on network nodes.
-there are standards that govern access to these resources. far I've basically got: "In computing, SOA means using standard methods to access services/resources in a network"

Well, I did in fact get a bit of meat out of that, but it was too much work, so I looked elsewhere for further clarification, rather than reading the whole article.

Reynolds is much closer to the mark. Note that he yanks out the ubiquitous "supports" in "the architectural style that supports loosely coupled services" so that we get "architectural style that encourages the creation of loosely ..." This is correct; was that so hard? Note that the architecture metaphor is truly explanatory here: this architectural style encourages these construction methods.

Like so many things in IT, there really is a pony in that pile, but as one of Reynolds's commentors pointed out it often turns out to be an old pony:

"tech marketeers recently 'discovered' this long-known concept, then promptly smothered it in a bunch of buzzwords. That's what they do. Remind [programmers] it is no different than their recent 'discovery' of the simple decorator pattern, which they now shill as AOP. I expect you will get a big sigh of relief out of them.

"Skip the hype. Simply explain that SOA means nothing more than separating business functions into routines, just as they have always done."


Post a Comment

<< Home