Wednesday, August 28, 2013

Orienteering

For several reasons I've been working on putting a service oriented face around several interoperability specifications and profiles.  I need to demonstrate an architecture that is readily understandable and which can be composed from/with a variety of off-the-shelf components.  As one who's been developing software and service components for decades, I get quite a bit about what the SOA craze is about.  As a friend and I discussed over the phone today, twenty years ago the buzz was Object Orientation, now it's service orientation, but the compass still points in the same general directions.

I managed somehow to inherit about $200 of Thomas Erl's SOA series of books a couple of years ago.  I've browsed through them a couple of times, but never seriously.  Today, I think I understand why.  I'm more than halfway through Principles of Service Design and am quite frustrated.  It seems that the secret to writing a book about SOA these days is to use a Service Noun Phrase every other sentence (just like I did here).  It may be just that I don't like Erl's writing style, but frankly, I got as much or more out of this 33 page IHE white paper on the topic than I did from the first 300 pages of his book.  I'm glad I didn't buy these books because so much of what I read feels like markitecture, and if not that, common sense.

Last night I had SOA nightmares.  Today I'm feeling a bit better about it, but I'm still struggling to grasp how it is different from what I know already.  For me, the challenge in truly learning something new in the art of software development is in understanding three things:
  • what is it that is like what you already knew but has a different name now, 
  • which of those things are almost like what you already knew, but is slightly different (and in what way),
  • what is truly new.
Once I've figured that out, I can apply it and decide for myself whether the differences matter, and whether the new stuff is really important.  I'll get there, but it can be painful.

And as an added bonus, here is an SOA Buzzword Bingo card for you, just to share some of my frustration.

BINGO
Business LogicIndependanceContractGovernanceOrientation
AbstractionDiscoveryReuseAgnosticOrchestration
BindingComposableServiceGranularityLoose Coupling
BoundaryInventoryMeta DataFlexibiltyTaxonomy
AutonomyCentralizationPolicyGovernanceStateless


0 comments:

Post a Comment