Geeks With Blogs
A Curious Mind #tastic

Since the beginning of my foray into SOA I have heard about composing services to 'write' new services. I have never really understood how this was supposed to work. Although, vague thoughts of Windows Workflow style wizards do come to mind. One of the first books that I have read on the subject 'SOA in practice'(2) even laid out yet another layered architecture (3 layers to boot) these were called basic services, composed services, and process services. Basic services are the basic building blocks that composed services would use and the processes would orchestrate them over time, I believe. This fell very much in step with what a consultant was telling us at the time although he kept trying to talk to us about Data SOA(1) (Imagine my expression at the thought of directly exposing my database over a Web Service layer micro indeed).

I have over the last 9 months been thinking alot about this topic and been having many excellent conversations with many great minds about this same topic. And I am starting to find some very basic examples of services that I would want to reuse. Things like a time out services, a subscription service, a deferment service, an email service and a storage service. These are very prototypical in nature, but I am already enhancing business services with these external services, and I am beginning to see how this could expedite the development of robust and dependable services.

I am looking forward to future discussion with my friends and readers on this topic as well.

-d

1. http://www.rgoarchitects.com/nblog/2008/08/17/WhyTheDatabaseAsAServiceIsABadIdea.aspx

2.http://www.amazon.com/SOA-Practice-Distributed-System-Design/dp/0596529554

http://www.rgoarchitects.com/nblog/2008/02/05/TheLayeredArchitectureStyle.aspx

Posted on Monday, November 17, 2008 8:25 AM | Back to top


Comments on this post: Composable Services

# re: Composable Services
Requesting Gravatar...
I find that services are much more composable when they emit events rather then send requests.
Since this way the coupling between services is reduced
In "regular" request/reaction services end-of-line type services (e.g. storage, email ) are easier to reuse exactly from the same reason

Arnon
Left by Arnon Rotem-Gal-Oz on Nov 17, 2008 9:00 AM

# re: Composable Services
Requesting Gravatar...
The reusable examples you give are what I've seen categorized as utility services. However many authors/practitioners seem to build upon that to add in other reusable services, in particular "entity services". For example a CustomerService.

I'm personally not a fan of that approach, not least as its fighting against many things that we know work (makes agile difficult, blasts DDD, lots of coupling on these entity services).

Seems a pity that this is the only type of SOA that you'll currently find discussed at length, other than from authors such as Arnon.
Left by Colin Jack on Nov 17, 2008 9:28 AM

# re: Composable Services
Requesting Gravatar...
Thanks, I haven't really been following SOA for a while, but that is the term I've been looking for.

It gives a name to some ideas I've been tossing around for a while now.

Indeed, a big part of the reason why I fought for the ability to skip the definition in Model Defined Functions (http://blogs.msdn.com/efdesign/archive/2009/01/07/model-defined-functions.aspx) thereby ending up with a sort of WSDL like capability to describe functions...

Ah... dreaming again.
Alex

Left by Alex James on Jan 17, 2009 3:25 PM

Your comment:
 (will show your gravatar)


Copyright © Dru Sellers | Powered by: GeeksWithBlogs.net