I wanted to get the various views that folks have on a phrase that 
gives me pause: "implement an SOA" or "SOA implementation." IMO, this 
phrase is off since an architecture (SOA or otherwise) isn't 
something one implements. I wonder about the validity of my POV, 
however. 

The reasons I think that support my POV:

* While there is no single definition of "architecture" Booch, 
Rumbaugh and Jacobson state that architecture "is the set of 
significant decisions about the organization of a software system." 
Architectural principles are decisions--"when faced with this set of 
circumstances/needs, this architecture states that the approach shall 
be X."

* Many posts on this forum, as well as various articles and blogs, 
state that SOA is something you do, not something you buy or build. 
It follows, then, that it cannot be implemented either.

* When used as a term in building construction, architecture seems to 
be invariably used to describe the attributes or characteristics of 
the structure. The building itself isn't called "the architecture" 
nor is it considered an "architectural implementation."

* Service orientation is but one of many sets of principles applied 
to a given system. This is probably a poor analogy but: A car has an 
engine but I don't refer to the entire car as "the engine" nor as 
an "engine implementation." :)

The reasons that I question the position:

* Brass, Clements and Kazman define architecture as "...comprise[d] 
[of] software elements, the externally visible properties of those 
elements, and the relationships among them." Clearly one can 
implement/instantiate the elements of the architecture so "implement 
the architecture" doesn't seem completely far fetched.

* Many, many people whose opinions I respect often say "SOA 
implementation." I have a long held belief that architectures 
aren't "implemented." But perhaps I need to let that view go.

I'm quite interested in hearing other points of view.

-Rob

Reply via email to