On the Definition of Service Granularity and Its Architectural Impact

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 granularityrefers to how much functionality is offered by a service. Secondly, data granularityreflects the amount of data that is exchanged with a service. Finally, the business value granularityof 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.

[1]  Z. S. Baida,et al.  Software-aided Service Bundling : Intelligent Methods and Tools for Graphical Service Modeling , 2006 .

[2]  Jan Vanthienen,et al.  EM-BrA2CE v0.1: A Vocabulary and Execution Model for Declarative Business Process Modeling , 2007 .

[3]  Monique Snoeck,et al.  Coordinating COTS Applications via a Business Event Layer , 2005, IEEE Software.

[4]  Xiaofei Xu,et al.  Normal forms and normalized design method for business service , 2005, IEEE International Conference on e-Business Engineering (ICEBE'05).

[5]  Klaus Turowski,et al.  Classification framework for business components , 2000, Proceedings of the 33rd Annual Hawaii International Conference on System Sciences.

[6]  Sameer Tyagi,et al.  Java Web Services Architecture , 2003 .

[7]  Bala Iyer,et al.  Enterprise Architecture: A Social Network Perspective , 2006, Proceedings of the 39th Annual Hawaii International Conference on System Sciences (HICSS'06).

[8]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[9]  Colette Rolland,et al.  On ISOA: Intentional Services Oriented Architecture , 2007, CAiSE.

[10]  Frank Leymann,et al.  Modeling Stateful Resources with Web Services , 2004 .

[11]  Monique Snoeck,et al.  Object-Oriented Enterprise Modelling with MERODE , 1999 .

[12]  Christoph Bussler,et al.  The Fractal Nature of Web Services , 2007, Computer.

[13]  David W. Corne,et al.  Reuse-based software engineering: techniques, organizations, and controls [Book Review] , 2002, Computer.

[14]  Jaap Gordijn,et al.  Value-based requirements engineering: exploring innovative e-commerce ideas , 2003, Requirements Engineering.

[15]  Xiaofei Xu,et al.  STCIM: a dynamic granularity oriented and stability based component identification method , 2006, SOEN.

[16]  Zhongjie Wang,et al.  A Survey of Business Component Identification Methods and Related Techniques , 2008 .

[17]  Fatemeh Zahedi,et al.  Strategy-based design of reusable business components , 2004, IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews).

[18]  Monique Snoeck,et al.  Active-passive hybrid data collection , 2006, EuroPLoP.

[19]  Jan Vanthienen,et al.  EM-BrA2CE v0.1: A Vocabulary and Execution Model for Declarative Business Process Modeling , 2007 .

[20]  Oliver Sims,et al.  Business Component Factory : A Comprehensive Overview of Component-Based Development for the Enterprise , 1999 .

[21]  Abdelkarim Erradi,et al.  SOAF: An Architectural Framework for Service Definition and Realization , 2006, 2006 IEEE International Conference on Services Computing (SCC'06).