Lecture notes in computer science vol:5074 pages:375-389
International Conference on Advanced Information Systems Engineering (CAiSE'08) edition:20 location:Montpellier, France date:16-20 June 2008
Service granularity generally refers to the size of a service. The fact that services should be large-sized or coarse-grained is often postulated as a fundamental design principle of service oriented architecture (SOA). However, multiple meanings are put on the term granularity and the impact of granularity on architectural qualities is not always clear. In order to structure the discussion, we propose a classification of service granularity types that reflects three different interpretations. Firstly, functionality granularity refers to how much functionality is offered by a service. Secondly, data granularity reflects the amount of data that is exchanged with a service. Finally, the business value granularity of a service indicates to which extent the service provides added business value. For each of these types, we discuss the impact of granularity on a set of architectural concerns, such as performance, reusability and flexibility. We illustrate each granularity type with small examples and we present some preliminary ideas of how controlling granularity may assist in alleviating some architectural issues as we encounter them in a large-sized bank-insurance company that is currently migrating to SOA.