I like the network latency approach to this, although not a clear cut one.
A fine grain interface is when the request latency (network+serialization) is significant to the request process time. As opposed to, a coarse grain interface is when the network latency is not significant when compared to the request latency. "Usually" this translate in having coarse grains this translates in having coarse grains to be closer to the business level, and the fine grains to be closer to the technical level. But this would depend on the nature of the application. In distributed systems, you try to make as little distributed calls as possible, while retaining business meaning to the API. Having a WSDL defining a bigBucketInTheSky Service with Put/Get/List as interfaces, doesn't help much.... Serge Blais --- In [email protected], "Logan, Patrick D" <[EMAIL PROTECTED]> wrote: > > > To me, "coarse grained" = "general" > > Not necessarily. Here is a counter example... > > Fine-grained yet not general: > > Add-frozen-widget-to-thawing-basket(basket, widget) > > Course-grained yet not general: > > Add-frozen-widget-collection-to-thawing-basket(basket, > widget-collection) > > I would agree that a good principle for course-grained interfaces is > that they are more general. For example... > > Write(thawing-basket-tuple-space, tuple-of-frozen-widgets) > > -Patrick > Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/service-orientated-architecture/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
