Roy Ogborn, Orbonyx Corp.

Microsoft .NET Architect, Developer, Mentor, Custom Software Developer

  Home :: Contact :: Syndication  :: Login
  6 Posts :: 0 Stories :: 13 Comments :: 0 Trackbacks

Article Categories

Archives

Post Categories

.NET

.NET & OO Mentoring / Training

Blogs Less Boring than Mine

Consulting

Software Analysis, Development, Design

Tuesday, November 30, 2004 #

Is SOA something “new” that supersedes OO concepts (as some from MS and elsewhere are proclaiming), or is it that SOA forces us to throw away our OO concepts due to it’s limitations? (This is actually a “comment“ posted to Rockford Lhotka's blog.)

Think about it, SOA can't possibly be, with the current state of technology, Object Oriented. If we want to use SOA (and it’s too compelling not to consider it), we’re forced into the limitation of data messaging and work requests only. It's because of a technological and/or standards limitation that OO is omitted from SOA technologies (like Web Services and other messaging technologies). SOA is not replacing OO (as some have suggested) … SOA just flat can’t tolerate OO right now.

The present roar of SOA exists mainly because of its ability to present us with a straightforward common denominator of interoperability between disparate systems or interoperability between systems that won’t trust each other. Right now, (and who knows, this could change over time) disparate systems (Windows, UNIX, Linux, Mac OS, mainframe OSs, etc.) cannot understand data packaged with behaviors (including business rules) that emanate from a foreign type of machine. Raw data can be understood by separate information systems much easier now that Web Services have been introduced; and asking a “foreign” machine to do some work can be accomplished much easier now. This is what SOA related technologies bring to the table. And SOA IS quite compelling.

So, time to break out our data flow diagrams of yesteryear (and hey, I do still like them!).

What is different and compelling about SOA related technologies are the doors that they swing open regarding interoperability that just was not there a couple years ago without expending a lot of effort. So, if we want that goodness, we have to architect for message based inter-op limitations, and it’s these limitations that force us to think a little differently when designing a SOA based set of systems.

So, when I hear people speak out regarding Object Oriented Analysis and Design that “OOAD is Dead” (i.e.; from Steven Borg presenting the Microsoft Connected Systems RoadShow in Denver, for example) or "OO is done, but not dead" (from Don Box on DotNetRocks episode 89) I chuckle when I know that this is being said due to the current limitations of what SOA's related technologies can offer today. SOA really makes us jump back in time to skip over a whole span of evolutionary refinement of system design using OO. Maybe SOA will be able to catch up one day down the road when a “new” technological innovation (or just a plain standard) is produced that allows the exchange of data and its related behavior. Then we’ll get to hear all over again that there’s a new compelling thing in town ("SOOA" perhaps?) that you’ll all want to advance toward. ;-)>

Roy
posted @ 11:45 AM | Feedback (4)