On Sun, Sep 7, 2008 at 8:20 PM, Mark Baker <[EMAIL PROTECTED]> wrote: > > Next to none of these things are *constraints*. Most of them are > architectural properties that you want your architecture to exhibit. > Constraints are the things that give you properties. What are those > for SOA? > > I think it's quite clear by now that SOA is constraint-free and > therefore property-free, and that any properties attributed to it > arrive because different people apply - intentionally or otherwise - > different constraints in its name. The term is completely > meaningless. > > With all due respect to Nick, who I know gets all this, I think "WOA" > is only slightly less meaningless than "SOA" and wish we could have > stuck to relatively grounded terms like "REST" or "Web architecture".
I agree that WOA is only slightly less meaningless than SOA, because I haven't provided a rigorous mapping from what Roy calls "architectural properties" (chap 2) to "architectural styles" (chap 3). I'm referring to the grids in chap 3 such as this one: http://www.ics.uci.edu/~fielding/pubs/dissertation/net_arch_styles.htm#sec_3_9 .So it is up to me to provide a row for this chart labeled WOA. To do that however, I'm going to have to come up with some "base" style rows that can be composed into the composite style that is WOA -- just as REST is the composite style: U+LCODC$SS (Uniform interface, Layered, Code-On-Demand, Client, Cache, Stateless Server) -- whew that's a mouthful. I'm working on it and will keep this list and the REST list posted. Interestingly (ironically?), Roy never provides a row in any chart for REST (U+LCODC$SS)! So, I've taken the liberty of guesstimating how Roy would have ranked REST against the 13 architectural properties (columns) in his chart: http://www.flickr.com/photos/metanick/2842283378/ (I had trouble inserting the image). As for "constraints", I don't want to get into a useless debate about what's a "property" vs a "style" vs a "requirement" vs a "capability". All I mean by "constraint" is that it somehow limit (constrain) the set of systems that qualify as having it. From this generic point of view, one of Roy's properties is a "constraint" because a system that lacked a property that REST is supposed to have (eg scalability) would be excluded from the set of systems deemed to be RESTful. Likewise, if a system lacks one of the base styles of REST, eg cachability, it too is excluded from the set of systems worthy of the designation "RESTful". Perhaps I should call such a restriction a "qualifying constraint" (if you have it you qualify) or "categorical constraint" (it qualifies you for being categorized a certain way). So a system can be excluded from the REST category either by lacking a property or by achieving a property using a different combination of base styles than U+LCODC$SS. This would be in contrast to "design constraint" (that which produces a particular set of architectural properties) -- which I think is the way you are using the term Mark. If you still don't like my usage, substitute "restriction" for "constraint" in what I am saying. In this sense of "qualifying constraint", Gartner's definition of SOA is "constrained" in the sense that one can analyze a range of systems for the five properties (modular, distributable, described, sharable, and loosely coupled) and get rough agreement on which systems have all five properties (substantially) and are therefore considered SOA. It is NOT content-free. Finally, I agree with Mark that because there is virtually no consensus on the "restrictions"/"qualifying constraints" for the designation "SOA"; the unqualified use of the term "SOA" is effective unconstrained/unrestricted/property-free/content-free/humpty-dumpty(whatever I say it means). Only terms such as "Gartner's definition of SOA" or "Zapthink's definition of SOA", etc. might possibly be constraining in some way. -- Nick Nick Gall Phone: +1.781.608.5871 AOL IM: Nicholas Gall Yahoo IM: nick_gall_1117 MSN IM: (same as email) Google Talk: (same as email) Email: nick.gall AT-SIGN gmail DOT com Weblog: http://ironick.typepad.com/ironick/ Furl: http://www.furl.net/members/ngall
