Follow

Initiating a SOA Effort
Posted on December 8th, 2008 at 1:48 pm

Dan Sholler’s session Initiating a SOA Effort (click link for slides) did a nice job of highlighting the basic things that lead a SOA initiative to be successful.  Many people first coming to SOA struggle to understand what this concept is really all about.  He started off with a nice simple list of the key principles of SOA:

 

  1. Modular
  2. Distributable
  3. Swappable
  4. Discoverable
  5. Shareable

From there he highlighted that the primary benefits of SOA are agility and shareability.  To that at end, he made some very clear recommendations:

  • Design the interaction layers of your applications according to the five SOA principles
  • Focus on reducing dependencies between volatile implementations
  • Share capabilities across system boundaries

Later in the presentation, Dan made a point I really liked: “services are agreements”.  In my view, understanding this is key to SOA success.  Thinking of a service as a piece of code that you throw over the wall to a production/operations group is totally missing the point.  Rather, we need to think of a service as a promise the service creation/delivery party makes to all of the parties consuming the service. 

Looking at advanced implementations, such as the work Amazon.com has done, leads to some interesting implications to application organizational structures and work processes.  The Amazon folks have clearly stated that the same team that builds a service is also responsible for running the service.  This team also figures out how the service should evolve, prioritizing new features and functions.  With only a small hop, skip, and jump, this conversation gets to development methodologies.  Personally, I think agile methods are another key consideration to keep in mind when thinking about how to go about doing SOA.  Check out David Norton’s sessions, particularly the one “How To Make Agile Waterfall

Filed Under: Governance & Management · SOA