Service granularity
From AMWA
Granularity is a relative measure of how broad a required piece of functionality must be in order to address the need at hand.
Fine-grained services address small units of functionality or exchange small amounts of data. Consequently, to build complex business processes, companies would have to orchestrate large numbers of such Services to effectively automate the process (see orchestration).
Coarse-grained Services, on the other hand, encapsulate larger chunks of capability within a single abstracted interface, reducing the number of Service requests necessary to accomplish a task. On the downside, they might return excessive quantities of data, or they might be difficult to reuse in other business contexts, or they might be hard to change to meet new requirements.
As a result, an architect must craft the right balance of fine-grained and coarse-grained services to meet the ongoing needs of the business.
