Friday, August 29, 2003

More confusion on course / fine grained at Syscon


Yet another article has come out saying that we should write our web services using course grain interfaces. Authors, please stop writing this nonsense.

The course/fine grain issue does not have a 1:1 relationship with web services.
The course/fine grain trade-off is often related to distributed computing, but even that is incomplete.
The course/fine grain trade-off is an issue of latency and usability.

A web service that implements fine grained interfaces and is meant for local invocation is PERFECTLY FINE.
A web service that implements fine grained interfaces and is meant for distributed invocation and is on a low-latency network is also PERFECTLY FINE.

I really wish that Doug Kaye would get on the bandwagon and speak out on this issue - many, many people have misunderstood his book. I do like the SO design guidelines Mr. McDowall has going, note that he doesn't mention asynchronous or course grained (thank God).

Now that both the Microsoft WSE and WebSphere 5.02 both support local in-proc web service calls without hitting the socket or marshalling the data to an XML format, we need people to QUIT saying that web services should be designed with course grained interfaces - it is wrong. Design web services using a course grained interface when you know that there is a latency issue - or when it just plain makes it easier (usability) on the end developer (and has no side effect).


No comments: