first_page

Flippant Remarks about Building a “Service Oriented Architecture”

Buy this book at Amazon.com!I may regret leaving this note in public but I’m going out on a limb to say that building a so-called “Service Oriented Architecture” (SOA) means, at bottom, build your OOP solution such that each component talks to another though one end/entry “point.” There should be one standard way for components to talk to each other. When components talk to each other over “the wire” we all know about REST and those WS* bindings.

What may seem strange to many programmers is that one standard way of communication should exist even when all components are running in the same process. This means, to refer to recent technical events in my life, that a Windows Form accessing a local SQLite database calls an assembly that’s sitting in the same folder as the Windows *.exe through an interface “discovered” by Reflection.

This arrangement is different from “loosely coupled” designs. This is more like ‘coupling by contract’ or ‘interface-based layer chatting’—or any otter else someone from Monty Python can think up. Without the benefits of Windows Communication Foundation, this arrangement is another excuse to use interfaces to build a “plug and play” solution. And, oh yeah, there’s Rocky’s CSLA. One of Rocky’s latest posts is about SOA and he has been dogged with dealing with the acronym 300 times over.

rasx()