Service Granularity Principle
|
|
This article includes a list of references, related reading or external links, but its sources remain unclear because it lacks inline citations. (May 2011) |
Service Granularity is a design principle that identifies the optimal scope of business functionality in a service operation.
Contents |
Interpretation [edit]
By definition a coarse-grained service operation has broader scope than a fine-grained service, although the terms are relative. The former typically requires increased design complexity but can reduce the number of calls required to complete a task.
The four key factors to consider when designing for optimal granularity are performance, message size, transaction and business function.
Performance [edit]
Web services are accessed remotely and calls to web service operation create more network overhead. Reducing the number of service requests reduces that overhead.
Message size [edit]
Coarse-grained services may pass more data than fine-grained services, including data that is not specifically required for the task. Reducing message size may require adding a more fine-grained operation.
Transaction [edit]
For conceptual clarity each service operation should perform a single transaction. This also simplifies error recovery, and typically eases design.
Business Function [edit]
Ideally, each service operation maps to a single business function, although if a single operation can provide multiple functions without adding design complexity or increasing message sizes, this generality can reduce implementation and usage costs.
References [edit]
- On the Definition of Service Granularity and its Architectural Impact
- Cooking EA - Service Granularity
- IEEE Case Study on The Role of Service Granularity in A Successful SOA Realization
- A Metrics Framework for Evaluating SOA Service Granularity
- Finding an optimum in service granularity
- Research on the SOA-based Service Granularity Control
- SOA Design Principles provides more information about SOA realization using Service design principles
- Getting Web Service Granularity Right provides information about Service Granularity Principle and useful advice about how to get it right.
- SOA Practitioner's Guide
- Managing Granularity in design and Implementation
- SOA Glossary
- Solving the Service Granularity Challenge
- Coarse-grained interfaces