Elliotte Rusty Harold with an interesting commentary on the REST vs WS-* war.
There’s one statement that I might contend with just a little:
"The WS-* community really believes that developers are too stupid to be allowed to manage themselves. Developers have to be told what to do and kept from getting their grubby little hands all over the network protocols because they can’t be trusted to make the right choices."
The WS-* community may well see things this way but I think there’s at least one other possibility that would place the fault elsewhere. Given that an awful lot of developers are heard to utter sentences like…
"I don’t want to be bothered with the nitty gritty details of network protocols, threads, persistence etc I just want to write my business logic"
…perhaps it’s natural to expect that various entities will construct technologies like WS-*. Developers are seemingly pushing responsibility elsewhere, placing their fate in others hands and paying the price. Perhaps they should be more careful what they wish for?
Entries (RSS)
July 13th, 2007 at 9:09 am
While I do agree that separation of concerns is important, and the ability to write business logic that is independent of network protocols provides value, that is no reason for developers to entirely ignore those other concerns.
Conversely, the WS-* point of view seems a bit high-and-mighty. To believe that they know more about everyone’s specific domain is inconceivable. That, however, is the problem of all general purpose things - 80/20 and all that.
Regardless of WS, REST, or anything else, developers “placing their fate in others hands and paying the price” will continue to happen.
July 13th, 2007 at 4:27 pm
Sounds like a similiar tune that the old J2EE spec designers used, thus the containers were born… On one hand I understand having the layers to manage the network details, but by the same token developers sometimes need to be able to modify things to suit the needs of the application they are building. I believe that is one of the reasons that frameworks like Spring were born, they allow the best of both worlds, using only as much or little as your truly need.