Service granularity considerations based on data properties of interface parameters
Service granularity is a key determinant of the reusability and maintainability of services. It is evident that mapping existing components directly to Web Services leads to suboptimal design with large number of message exchanges and correspondingly increased risk of partial failures. Most practitioners recommend the use of coarse-grained, message-oriented Web Service that minimize the number of messages and avoid the need to maintain state information between invocations. In this paper we argue that excessive use of coarse-grained, document-centric message structures results in poor reusability and high levels of data coupling between services. We describe a design approach that provides a framework for making decisions about service granularity based on data properties of interface parameters. We treat the problem of service interface design from a data engineering perspective and use data normalization to reason about service granularity. We consider the impact of increasing service granularity on cohesion and coupling of services and discuss the associated design tradeoffs.
service granularity web services design framework