Its funny how when something is pointed out to you to start spotting it all over the place.
I was reading Steve’s recent Insight entitled “Invest in SOA service design”. This highlights among other things the danger of attempting to automatically generate services from code. Then I saw a press release which made me choke.
To start with Steve’s point which I strongly agree with:
[the automatic approach to service generation] tends to result in hard-wired ties and dependencies significantly reducing the likelihood that the service will be reused
The press release which had the dramatic effect on me was IONA’s Enterprise Celtix launch press release from early December which includes the one liner:
JAX-WS standard to ease development of Java services by automatically converting Java code to Web services [my emphasis]
Now some people such as Ricard Monson-Haefel of the Burton Group knock this standard (previously known as JAX-RPC) because of its technical deficiencies with comments like
JAX-RPC was a grossly over engineered train wreck.
However, my gripe is more fundamental: The idea you could even consider generating any kind of service automatically from code must be the antithesis of SOA. To quote Steve again:
In many cases SOA is being implemented as a programmer-oriented technical exercise, but this approach ends up seriously impacting the value of SOA and is a major cause of failure to meet expectations. SOA is all about architecture, not programming—after all, this is what the ‘A’ stands for.
And in case anybody thinks I am picking on my old friends in IONA, I should point out that they certainly aren’t the only ones enabling this automated approach to service design. However, as a company which can justifiably claim to having had a service oriented view of the world longer than just about anybody else, I think they should know better!