It’s all about the consumer
I just read Eric Newcomer’s writeup on Gregor Hohpe’s JavaZone presentation on InfoQ. I haven’t watched the presentation yet, but it’s in my to-do list, and Eric’s writeup certainly raised the priority of it a notch.
Eric makes a lot of good points in his writeup, but the most important one in my opinion, is his last statement which I wanted to call out here:
The point of SOA is not to make life easy for the developer of a service – it’s to make life easy for the consumer of the service – which might (and probably should) be someone else.
Well said Eric!
Disagree.
SOA is about making life easy for a lot of different roles – not necessarily just either the developer or consumer.
Externalization of non-functional aspects is a HUGE + for developers who tremple in fear to go back and change implementations when (for instance) security and authorization requirements change.
Now please dont go about responding that making it easy for developer is surely a benefit but not the main point of SOA etc….
Yes, you’re right in that SOA can make life easier for lots of roles. In fact, I think you’ll find that any strategic initiative that is deemed a success is probably viewed as a win-win by more than one group in the organization. That’s just the nature of successful activities.
The point of the message is to focus on some of the decisions and tradeoffs that must be made. In the case of SOA, value comes from when services get used. If consumers don’t like the service, you’re not going to get value. If consumers do like the service, you’ll get value. Sometimes that may require more work by the service provider, but better to put in that effort once in the service, rather than distribute that complexity across lots of consumers. It’s all relative, however, and you have to find the win-win situation for both consumers and provider. A service provider that bends over backward providing specialized interfaces for every consumer is probably going to be way too expensive in the long run.