Knowledge

Service granularity principle

Source 📝

153:
As one size does not fit all, the design of service granularities can benefit from many existing pattern works on various kinds of distributed systems, especially those related to services, as well as pattern works related to API design (e.g., API design in object-oriented programming) and enterprise
132:
Coarse-grained services may pass more data than fine-grained services, including data that is not specifically required for the task. This complicates message processing in the endpoint and might in turn harm performance. Reducing message size may require adding a more fine-grained operation.
141:
For conceptual clarity each service operation should perform a single system-level transaction and leave data integrity across service boundaries to the business logic in the service consumer. This also simplifies error recovery, and typically eases design.
79:. 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. 115:
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.
106:
Many forces influence the service granularity; four particularly relevant factors to consider when designing for an adequate granularity are performance, message size, transactionality and business function:
91:, finding an adequate granularity is hard. There is no single simple answer but a number of criteria exist (see below). A primary goal of service modeling and granularity design is to achieve 67:
exposed by a service provider. It pertains to the semantics and syntax of the in (request) and out (response) message content, which can be viewed as instances of two general
145:
Many more decision criteria for finding an appropriate granularity exist; there is no global optimum. Sixteen such coupling criteria are compiled from the literature in.
233:
Service Cutter: A Systematic Approach to Service Decomposition, M Gysel, L Kölbener, et al.. European Conference on Service-Oriented and Cloud Computing, 185-200, (
124:
Web services are accessed remotely and calls to web service operation create more network overhead. Reducing the number of service requests reduces that overhead.
39:. Service granularity specifies the scope of business functionality and the structure of the message payload in a service operation that is provided within a 192: 317: 292: 204:
Krafzig, D., Banke, K., Slama, D. (2004). Enterprise SOA: Service-Oriented Architecture Best Practices 1st Edition. Prentics Hall.
100: 179: 276: 221:
Page 21 in Zimmermann, O., Guidance Models and Decision-Making Tooling for SOA, Cloud, and Outsourcing Solution Design,
209: 88: 76: 72: 250: 68: 287: 234: 222: 40: 282: 279:
provides information about Service Granularity Principle and useful advice about how to get it right.
36: 260: 265: 255: 155: 24: 20: 8: 32: 270: 56: 205: 175: 266:
IEEE Case Study on The Role of Service Granularity in A Successful SOA Realization
136: 92: 311: 223:
http://resources.sei.cmu.edu/asset_files/Presentation/2011_017_001_24654.pdf
297: 96: 271:
Architectural Knowledge in a SOA Infrastructure Reference Architecture
99:, which are two of the essential SOA principles, and to address other 174:
Josuttis, N. (2007). SOA in Practice. Sebastopol, CA, USA: O'Reilly.
302: 64: 137:
Quality-of-service characteristics including transactionality
303:
Service Cutter tool and coupling criteria catalog on GitHub
51:
Service granularity is both an application domain concern (
298:
A Metrics Framework for Evaluating SOA Service Granularity
31:
is a key design concern when applying the paradigm of
154:
integration. An overview of such languages is given
309: 256:Service granularity entry in a service glossary 193:Loose Coupling and Architectural Implications 288:Solving the Service Granularity Challenge 251:Conceptual Service Granularity Framework 101:architecturally significant requirements 310: 318:Service-oriented (business computing) 277:Getting Web Service Granularity Right 110: 63:); it is a property of the service 41:service-oriented architecture (SOA) 13: 89:fallacies of distributed computing 14: 329: 244: 261:Cooking EA - Service Granularity 127: 69:Enterprise Integration Patterns 227: 215: 198: 185: 168: 119: 1: 161: 46: 7: 148: 82: 10: 334: 293:Coarse-grained interfaces 37:service-oriented modeling 16:Aspect of software design 283:SOA Practitioner's Guide 61:technical granularity 25:software architecture 195:, ESOCC 2016 keynote 53:business granularity 35:for instance during 21:software engineering 33:service-orientation 29:service granularity 57:software interface 19:In the context of 180:978-0-596-52955-0 111:Business function 325: 273:(SOA case study) 238: 231: 225: 219: 213: 202: 196: 189: 183: 172: 77:Document Message 55:), as well as a 333: 332: 328: 327: 326: 324: 323: 322: 308: 307: 247: 242: 241: 232: 228: 220: 216: 203: 199: 190: 186: 173: 169: 164: 151: 139: 130: 122: 113: 85: 73:Command Message 49: 17: 12: 11: 5: 331: 321: 320: 306: 305: 300: 295: 290: 285: 280: 274: 268: 263: 258: 253: 246: 245:External links 243: 240: 239: 226: 214: 210:978-0131465756 197: 184: 166: 165: 163: 160: 150: 147: 138: 135: 129: 126: 121: 118: 112: 109: 93:loose coupling 84: 81: 59:design issue ( 48: 45: 15: 9: 6: 4: 3: 2: 330: 319: 316: 315: 313: 304: 301: 299: 296: 294: 291: 289: 286: 284: 281: 278: 275: 272: 269: 267: 264: 262: 259: 257: 254: 252: 249: 248: 236: 230: 224: 218: 211: 207: 201: 194: 188: 181: 177: 171: 167: 159: 157: 146: 143: 134: 125: 117: 108: 104: 102: 98: 94: 90: 80: 78: 74: 70: 66: 62: 58: 54: 44: 42: 38: 34: 30: 26: 22: 229: 217: 200: 187: 170: 152: 144: 140: 131: 128:Message size 123: 114: 105: 86: 60: 52: 50: 28: 18: 191:F. Leymann 120:Performance 87:Due to the 162:References 97:modularity 47:Definition 312:Category 149:Patterns 83:Criteria 65:contract 208:  178:  206:ISBN 176:ISBN 156:here 95:and 75:and 23:and 235:PDF 314:: 158:. 103:. 71:, 43:. 27:, 237:) 212:. 182:.

Index

software engineering
software architecture
service-orientation
service-oriented modeling
service-oriented architecture (SOA)
software interface
contract
Enterprise Integration Patterns
Command Message
Document Message
fallacies of distributed computing
loose coupling
modularity
architecturally significant requirements
here
ISBN
978-0-596-52955-0
Loose Coupling and Architectural Implications
ISBN
978-0131465756
http://resources.sei.cmu.edu/asset_files/Presentation/2011_017_001_24654.pdf
PDF
Conceptual Service Granularity Framework
Service granularity entry in a service glossary
Cooking EA - Service Granularity
IEEE Case Study on The Role of Service Granularity in A Successful SOA Realization
Architectural Knowledge in a SOA Infrastructure Reference Architecture
Getting Web Service Granularity Right
SOA Practitioner's Guide
Solving the Service Granularity Challenge

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.