Composable Services

Dru Sellers just used a term I haven’t heard before, Composable Services.

For me it the very timely term, because it succinctly describes a whole lot of Astronaut Architect dreaming I’ve been doing for the last 2 years.

I recently started twittering as adjames*, and I’ve noticed, the stream of consciousness style demanded by Twitter, forces you to explain something in stand-alone 140 character snippets.

I think that, for me at least, this fosters higher bandwidth communication…

So here is my recent passionate rant on Composable Services:

  • Composable Services (from Dru: is the right name for what has been brewing in my mind for the last 2 years.
  • Why? Well if I can compose services, perhaps I can do write expressions that compose those services.
  • If I can do that, I can infer intent from the expression, and re-write as required before processing.
  • Today we optimize CLR expressions that originate in LINQ by translating to native SQL and sending to the DB.
  • Tomorrow we could optimize service based expressions that originate on a client and send them to an appropriate orchestration engine.
  • Injecting security checks, logging etc, simply by using a visitor to walk the expression and re-write as appropriate.
  • Orchestration is then simply a case of farming out the handling of sub-expressions as required.
  • Now all I need a portable type system.
  • EDM per chance?

Ah… I love being a dreamer.

* In case you’re wondering ‘d’ is for ‘Douglas’…