Service Orchestration as Organization (eBook)
334 Seiten
Elsevier Science (Verlag)
978-0-12-801097-6 (ISBN)
Malinda Kapuruge received his PhD degree in Computer Science and Software Engineering from Swinburne, University of Technology (Melbourne Australia) in 2012. Currently working as a Postdoctoral Research Fellow in Software Engineering at Swinburne University of Technology, he is investigating how BPM practices can be used to build multi-tenanted, adaptable service-based software systems. His research interest includes business process management, service oriented architecture, cloud computing and adaptive software systems.
Service orchestration techniques combine the benefits of Service Oriented Architecture (SOA) and Business Process Management (BPM) to compose and coordinate distributed software services. On the other hand, Software-as-a-Service (SaaS) is gaining popularity as a software delivery model through cloud platforms due to the many benefits to software vendors, as well as their customers. Multi-tenancy, which refers to the sharing of a single application instance across multiple customers or user groups (called tenants), is an essential characteristic of the SaaS model. Written in an easy to follow style with discussions supported by real-world examples, Service Orchestration as Organization introduces a novel approach with associated language, framework, and tool support to show how service orchestration techniques can be used to engineer and deploy SaaS applications. - Describes the benefits as well as the challenges of building adaptive, multi-tenant software service applications using service-orchestration techniques- Provides a thorough synopsis of the current state of the art, including the advantages and drawbacks of the adaptation techniques available- Describes in detail how the underlying framework of the new approach has been implemented using available technologies, such as business rules engines and web services
Front Cover 1
Service Orchestration as Organization 4
Copyright Page 5
Contents 6
List of Figures 12
List of Tables 16
List of Listings 18
Preface 20
About the Authors 22
One 24
1 Introduction 26
1.1 Business process management 26
1.1.1 BPM in practice 28
1.1.2 BPM in service-oriented systems 28
1.2 Service orchestration and its adaptation 30
1.2.1 Novel requirements for service orchestration 30
1.2.2 Runtime adaptability in service orchestration 31
1.3 Research goals 33
1.4 Approach overview 37
1.5 Contributions 40
1.6 Overview of this book 40
2 Motivational Scenario 44
2.1 RoSAS business model 44
2.2 Support for controlled change 46
2.3 Support for SIMT 48
2.4 Requirements of service orchestration 49
2.5 Summary 50
3 Literature Review 52
3.1 BPM – an overview 52
3.2 BPM and SOA 55
3.3 Adaptability in BPM 58
3.4 Techniques to improve adaptability in BPM 59
3.4.1 Proxy-based adaptation 60
3.4.2 Dynamic explicit changes 62
3.4.3 Business rules integration 64
3.4.4 Aspect orientation 66
3.4.5 Template customisation 69
3.4.6 Constraint satisfaction 72
3.5 Summary and observations 76
3.5.1 Summary and evaluation 76
3.5.2 Observations and lessons learnt 77
3.6 Towards an adaptive service orchestration framework 82
3.7 Summary 83
Two 84
4 Orchestration as Organisation 86
4.1 The organisation 87
4.1.1 Structure 88
4.1.2 Processes 94
4.2 Loosely coupled tasks 96
4.2.1 Task dependencies 97
4.2.2 Events and event patterns 99
4.2.3 Support for dynamic modifications 101
4.3 Behaviour-based processes 103
4.3.1 Organisational behaviour 104
4.3.2 Process definitions 105
4.4 Two-tier constraints 107
4.4.1 The boundary for a safe modification 107
4.4.2 The minimal set of constraints 109
4.4.3 Benefits of two-tier constraints 111
4.5 Behaviour specialisation 112
4.5.1 Variations in organisational behaviour 112
4.5.2 Specialisation rules 115
4.5.3 Support for unforeseen variations 116
4.6 Interaction membranes 117
4.6.1 Indirection of processes and external interactions 119
4.6.2 Data transformation 120
4.6.3 Benefits of membranous design 122
4.7 Support for adaptability 123
4.7.1 Adaptability in layers of the organisation 123
4.7.2 Separation of control and functional process 124
4.8 Managing complexity 126
4.8.1 Hierarchical and recursive composition 126
4.8.2 Support for heterogeneity of task execution 128
4.8.3 Explicit service relationships 128
4.9 The meta-model 130
4.10 Summary 131
5 Serendip Runtime 132
5.1 The design of an adaptive service orchestration runtime 132
5.1.1 Design expectations 133
5.1.2 Core components 134
5.2 Process life cycle 136
5.2.1 Stages of a process instance 136
5.2.2 Process progression 137
5.3 Event processing 138
5.3.1 The event cloud 138
5.3.2 Event triggering and business rules integration 141
5.4 Data synthesis of tasks 143
5.4.1 The role design 144
5.4.2 The transformation process 145
5.5 Dynamic process graphs 147
5.5.1 Atomic graphs 148
5.5.2 Patterns of event mapping and construction of EPC graphs 149
5.6 Summary 155
6 Adaptation Management 158
6.1 Overview of process management and adaptation 159
6.1.1 Process modelling life cycles 159
6.1.2 Adaptation phases 160
6.2 Adaptation management 162
6.2.1 Functional and management systems 162
6.2.2 The organiser 163
6.2.3 The adaptation engine 164
6.2.4 Challenges 165
6.3 Adaptations 166
6.3.1 Operation-based adaptations 166
6.3.2 Batch mode adaptations 167
6.3.3 Adaptation scripts 168
6.3.4 Scheduling adaptations 169
6.3.5 Adaptation mechanism 170
6.4 Automated process validation 172
6.4.1 Validation mechanism 173
6.4.2 Dependency specification 173
6.4.3 Constraint specification 174
6.5 State checks 175
6.6 Summary 176
Three 180
7 The Serendip Orchestration Framework 182
7.1 Serendip-Core 184
7.1.1 The event cloud 185
7.1.2 Interpreting interactions 187
7.1.3 Message synchronisation and synthesis 189
7.1.4 The validation module 191
7.1.5 The model provider factory 193
7.1.6 The adaptation engine 194
7.2 Deployment environment 196
7.2.1 Apache Axis2 196
7.2.2 ROAD4WS 197
7.2.3 Dynamic deployments 198
7.2.4 Orchestrating web services 200
7.2.5 Message delivery patterns 202
7.3 Tool support 204
7.3.1 Modelling tools 204
7.3.2 Monitoring tools 206
7.3.3 Adaptation tools 207
7.4 Summary 209
8 Case Study 210
8.1 Defining the organisational structure 211
8.1.1 Identifying roles, contracts and players 211
8.1.2 Defining interactions of contracts 213
8.2 Defining the processes 214
8.2.1 Defining organisational behaviour 214
8.2.2 Defining tasks 215
8.2.3 Defining processes 217
8.2.4 Specialising behaviour units 220
8.3 Message interpretations and transformations 221
8.3.1 Specifying contractual rules 221
8.3.2 Specifying message transformations 225
8.4 Adaptations 226
8.4.1 Operation-based adaptations 227
8.4.2 Batch-mode adaptations 228
8.4.3 Controlled adaptations 232
8.5 Summary 235
9 Evaluation 236
9.1 Support for change patterns 236
9.1.1 Adaptation patterns 237
9.1.1.1 AP1: insert process fragment 238
9.1.1.2 AP2: delete process fragment 238
9.1.1.3 AP3: move process fragment 239
9.1.1.4 AP4: replace process fragment 239
9.1.1.5 AP5: swap process fragment 240
9.1.1.6 AP6: extract sub-process 240
9.1.1.7 AP7: inline sub-process 241
9.1.1.8 AP8: embed process fragment in loop 241
9.1.1.9 AP9: parallelise process fragment 242
9.1.1.10 AP10: embed process fragment in conditional branch 242
9.1.1.11 AP11: add control dependency 243
9.1.1.12 AP12: remove control dependency 243
9.1.1.13 AP13: update condition 244
9.1.2 Patterns for pre-defined changes 244
9.1.2.1 PP1: late selection of process fragments 244
9.1.2.2 PP2: late modelling of process fragments 246
9.1.2.3 PP3: late composition of process fragments 246
9.1.2.4 PP4: multi-instance activity 247
9.1.3 Change support features 248
9.1.3.1 F1: schema evolution, version control and instance migration 248
9.1.3.2 F2: support for ad hoc changes 249
9.1.3.3 F3: correctness of change 249
9.1.3.4 F4: traceability and analysis 250
9.1.3.5 F5: access control for changes 250
9.1.3.6 F6: change re-use 250
9.1.4 Results and analysis 250
9.2 Runtime performance overhead 252
9.2.1 Experimentation set-up 252
9.2.2 Results and analysis 253
9.3 Comparative assessment 255
9.3.1 Flexible processes 255
9.3.2 Capturing commonalities 257
9.3.3 Allowing variations 257
9.3.4 Controlled changes 258
9.3.5 Predictable change impacts 259
9.3.6 Managing the complexity 259
9.3.7 Summary of comparison 262
9.4 Summary 262
10 Using the Serendip Framework 266
10.1 Pre-requisites 266
10.2 Install ROAD4WS platform 267
10.3 Deploy Serendip orchestration descriptions 267
10.4 Send Web service requests to the deployed composite 268
10.5 Manage the composite 269
10.6 Summary 272
11 Conclusion 274
11.1 Contributions 274
11.2 Future work 277
Bibliography 280
Appendix A: SerendipLang Grammar 296
Appendix B: RoSAS Description 298
Appendix C: Organiser Operations 318
Appendix D: Adaptation Scripting Language 324
Appendix E: Schema Definitions 326
List of Figures
| Figure 1.1 | The spectrum of flexibility | 10 |
| Figure 1.2 | Processes vs. business requirement | 11 |
| Figure 1.3 | Service ecosystem and the amount of flexibility | 13 |
| Figure 1.4 | The research goal | 13 |
| Figure 1.5 | Traditional approaches vs. Serendip | 15 |
| Figure 1.6 | Adaptive organisational structure providing required amount of flexibility | 16 |
| Figure 2.1 | The collaborators of RoSAS business model | 22 |
| Figure 3.1 | The relationship between BPM theories, standards and systems | 30 |
| Figure 3.2 | Categories of process modelling approaches | 31 |
| Figure 3.3 | Complementary existence of BPM and SOA | 34 |
| Figure 3.4 | The classification scheme for flexibility | 35 |
| Figure 3.5 | Dominant underpinning adaptation techniques | 36 |
| Figure 3.6 | An illustration of different techniques used to improve the adaptability | 53 |
| Figure 3.7 | Towards an adaptive service orchestration | 60 |
| Figure 4.1 | Process structure and organisational structure | 66 |
| Figure 4.2 | Meta-model: organisation, contracts, roles and players | 68 |
| Figure 4.3 | A contract captures the relationship among two roles | 68 |
| Figure 4.4 | Meta-model: contracts, facts and rules | 69 |
| Figure 4.5 | Roles and contracts of the RoSAS composite | 69 |
| Figure 4.6 | Layers of a Serendip orchestration design | 72 |
| Figure 4.7 | Meta-model: tasks, roles and players | 73 |
| Figure 4.8 | The loose coupling between tasks | 75 |
| Figure 4.9 | Complex dependencies among tasks | 75 |
| Figure 4.10 | Events independent of where they originated and referenced | 77 |
| Figure 4.11 | Meta-model: events and tasks | 77 |
| Figure 4.12 | Advantages of loose coupling | 78 |
| Figure 4.13 | Organisational behaviours are reused across process definitions | 82 |
| Figure 4.14 | Meta-model: process definitions, behaviour units and tasks | 83 |
| Figure 4.15 | Boundary for safe modification | 85 |
| Figure 4.16 | Meta-model: types of constraints | 87 |
| Figure 4.17 | Process-collaboration linkage in constraint specification | 88 |
| Figure 4.18 | Variations in separate behaviour units: (A) bTowingSilv and (B) bTowingPlat | 90 |
| Figure 4.19 | Meta-model: behaviour specialisation | 90 |
| Figure 4.20 | Process definitions can refer to specialised behaviour units | 91 |
| Figure 4.21 | Rules of specialisation | 93 |
| Figure 4.22 | Role players interact via the organisation | 94 |
| Figure 4.23 | The interaction membrane | 95 |
| Figure 4.24 | The indirection of indirections assisted by tasks | 96 |
| Figure 4.25 | Meta-model: tasks, events and interactions | 97 |
| Figure 4.26 | Tasks associate internal and external interactions | 98 |
| Figure 4.27 | Formation of the interaction membrane | 99 |
| Figure 4.28 | Adaptability in the organisation | 101 |
| Figure 4.29 | Meta-model: the organiser | 102 |
| Figure 4.30 | Organiser player | 102 |
| Figure 4.31 | Reducing a complex orchestration into manageable suborchestrations | 103 |
| Figure 4.32 | A hierarchy of service compositions | 104 |
| Figure 4.33 | Implementation of task execution is unknown to core orchestration | 105 |
| Figure 4.34 | Service relationships versus SLA | 106 |
| Figure 4.35 | Contracts support explicit representation of service relationships | 107 |
| Figure 4.36 | Serendip meta-model | 108 |
| Figure 5.1 | Core components of serendip runtime | 111 |
| Figure 5.2 | The life cycle of a serendip process instance | 113 |
| Figure 5.3 | Process execution stage | 115 |
| Figure 5.4 | The event cloud | 116 |
| Figure 5.5 | Message interpretation | 120 |
| Figure 5.6 | Data synthesis and synchronisation design | 121 |
| Figure 5.7 | Generating process graphs from declarative behaviour units | 124 |
| Figure 5.8 | An atomic EPC graph | 126 |
| Figure 5.9 | Mapping identical events | 128 |
| Figure 5.10 | Predecessor and successor processing for merging events | 128 |
| Figure 5.11 | A linked graph | 131 |
| Figure 5.12 | A dynamically constructed EPC graph for pdSilv process | 133 |
| Figure 6.1 | (A) Process life cycle and (B) BPM life cycle | 137 |
| Figure 6.2 | Process adaptation phases | 138 |
| Figure 6.3 | Separation of management and functional systems | 141 |
| Figure 6.4 | Types of operations in organiser interface | 143 |
| Figure... |
| Erscheint lt. Verlag | 12.8.2014 |
|---|---|
| Sprache | englisch |
| Themenwelt | Mathematik / Informatik ► Informatik ► Netzwerke |
| Mathematik / Informatik ► Informatik ► Theorie / Studium | |
| ISBN-10 | 0-12-801097-5 / 0128010975 |
| ISBN-13 | 978-0-12-801097-6 / 9780128010976 |
| Informationen gemäß Produktsicherheitsverordnung (GPSR) | |
| Haben Sie eine Frage zum Produkt? |
Kopierschutz: Adobe-DRM
Adobe-DRM ist ein Kopierschutz, der das eBook vor Mißbrauch schützen soll. Dabei wird das eBook bereits beim Download auf Ihre persönliche Adobe-ID autorisiert. Lesen können Sie das eBook dann nur auf den Geräten, welche ebenfalls auf Ihre Adobe-ID registriert sind.
Details zum Adobe-DRM
Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belletristik und Sachbüchern. Der Fließtext wird dynamisch an die Display- und Schriftgröße angepasst. Auch für mobile Lesegeräte ist EPUB daher gut geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen eine
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen eine
Geräteliste und zusätzliche Hinweise
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich