Kapuruge / Han / Colman | Service Orchestration as Organization | E-Book | www.sack.de
E-Book

E-Book, Englisch, 334 Seiten

Kapuruge / Han / Colman Service Orchestration as Organization

Building Multi-Tenant Service Applications in the Cloud
1. Auflage 2014
ISBN: 978-0-12-801097-6
Verlag: Elsevier Science & Techn.
Format: EPUB
Kopierschutz: 6 - ePub Watermark

Building Multi-Tenant Service Applications in the Cloud

E-Book, Englisch, 334 Seiten

ISBN: 978-0-12-801097-6
Verlag: Elsevier Science & Techn.
Format: EPUB
Kopierschutz: 6 - ePub Watermark



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

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.
Kapuruge / Han / Colman Service Orchestration as Organization jetzt bestellen!

Weitere Infos & Material


1;Front Cover;1
2;Service Orchestration as Organization;4
3;Copyright Page;5
4;Contents;6
5;List of Figures;12
6;List of Tables;16
7;List of Listings;18
8;Preface;20
9;About the Authors;22
10;One;24
10.1;1 Introduction;26
10.1.1;1.1 Business process management;26
10.1.1.1;1.1.1 BPM in practice;28
10.1.1.2;1.1.2 BPM in service-oriented systems;28
10.1.2;1.2 Service orchestration and its adaptation;30
10.1.2.1;1.2.1 Novel requirements for service orchestration;30
10.1.2.2;1.2.2 Runtime adaptability in service orchestration;31
10.1.3;1.3 Research goals;33
10.1.4;1.4 Approach overview;37
10.1.5;1.5 Contributions;40
10.1.6;1.6 Overview of this book;40
10.2;2 Motivational Scenario;44
10.2.1;2.1 RoSAS business model;44
10.2.2;2.2 Support for controlled change;46
10.2.3;2.3 Support for SIMT;48
10.2.4;2.4 Requirements of service orchestration;49
10.2.5;2.5 Summary;50
10.3;3 Literature Review;52
10.3.1;3.1 BPM – an overview;52
10.3.2;3.2 BPM and SOA;55
10.3.3;3.3 Adaptability in BPM;58
10.3.4;3.4 Techniques to improve adaptability in BPM;59
10.3.4.1;3.4.1 Proxy-based adaptation;60
10.3.4.2;3.4.2 Dynamic explicit changes;62
10.3.4.3;3.4.3 Business rules integration;64
10.3.4.4;3.4.4 Aspect orientation;66
10.3.4.5;3.4.5 Template customisation;69
10.3.4.6;3.4.6 Constraint satisfaction;72
10.3.5;3.5 Summary and observations;76
10.3.5.1;3.5.1 Summary and evaluation;76
10.3.5.2;3.5.2 Observations and lessons learnt;77
10.3.6;3.6 Towards an adaptive service orchestration framework;82
10.3.7;3.7 Summary;83
11;Two;84
11.1;4 Orchestration as Organisation;86
11.1.1;4.1 The organisation;87
11.1.1.1;4.1.1 Structure;88
11.1.1.2;4.1.2 Processes;94
11.1.2;4.2 Loosely coupled tasks;96
11.1.2.1;4.2.1 Task dependencies;97
11.1.2.2;4.2.2 Events and event patterns;99
11.1.2.3;4.2.3 Support for dynamic modifications;101
11.1.3;4.3 Behaviour-based processes;103
11.1.3.1;4.3.1 Organisational behaviour;104
11.1.3.2;4.3.2 Process definitions;105
11.1.4;4.4 Two-tier constraints;107
11.1.4.1;4.4.1 The boundary for a safe modification;107
11.1.4.2;4.4.2 The minimal set of constraints;109
11.1.4.3;4.4.3 Benefits of two-tier constraints;111
11.1.5;4.5 Behaviour specialisation;112
11.1.5.1;4.5.1 Variations in organisational behaviour;112
11.1.5.2;4.5.2 Specialisation rules;115
11.1.5.3;4.5.3 Support for unforeseen variations;116
11.1.6;4.6 Interaction membranes;117
11.1.6.1;4.6.1 Indirection of processes and external interactions;119
11.1.6.2;4.6.2 Data transformation;120
11.1.6.3;4.6.3 Benefits of membranous design;122
11.1.7;4.7 Support for adaptability;123
11.1.7.1;4.7.1 Adaptability in layers of the organisation;123
11.1.7.2;4.7.2 Separation of control and functional process;124
11.1.8;4.8 Managing complexity;126
11.1.8.1;4.8.1 Hierarchical and recursive composition;126
11.1.8.2;4.8.2 Support for heterogeneity of task execution;128
11.1.8.3;4.8.3 Explicit service relationships;128
11.1.9;4.9 The meta-model;130
11.1.10;4.10 Summary;131
11.2;5 Serendip Runtime;132
11.2.1;5.1 The design of an adaptive service orchestration runtime;132
11.2.1.1;5.1.1 Design expectations;133
11.2.1.2;5.1.2 Core components;134
11.2.2;5.2 Process life cycle;136
11.2.2.1;5.2.1 Stages of a process instance;136
11.2.2.2;5.2.2 Process progression;137
11.2.3;5.3 Event processing;138
11.2.3.1;5.3.1 The event cloud;138
11.2.3.2;5.3.2 Event triggering and business rules integration;141
11.2.4;5.4 Data synthesis of tasks;143
11.2.4.1;5.4.1 The role design;144
11.2.4.2;5.4.2 The transformation process;145
11.2.5;5.5 Dynamic process graphs;147
11.2.5.1;5.5.1 Atomic graphs;148
11.2.5.2;5.5.2 Patterns of event mapping and construction of EPC graphs;149
11.2.6;5.6 Summary;155
11.3;6 Adaptation Management;158
11.3.1;6.1 Overview of process management and adaptation;159
11.3.1.1;6.1.1 Process modelling life cycles;159
11.3.1.2;6.1.2 Adaptation phases;160
11.3.2;6.2 Adaptation management;162
11.3.2.1;6.2.1 Functional and management systems;162
11.3.2.2;6.2.2 The organiser;163
11.3.2.3;6.2.3 The adaptation engine;164
11.3.2.4;6.2.4 Challenges;165
11.3.3;6.3 Adaptations;166
11.3.3.1;6.3.1 Operation-based adaptations;166
11.3.3.2;6.3.2 Batch mode adaptations;167
11.3.3.3;6.3.3 Adaptation scripts;168
11.3.3.4;6.3.4 Scheduling adaptations;169
11.3.3.5;6.3.5 Adaptation mechanism;170
11.3.4;6.4 Automated process validation;172
11.3.4.1;6.4.1 Validation mechanism;173
11.3.4.2;6.4.2 Dependency specification;173
11.3.4.3;6.4.3 Constraint specification;174
11.3.5;6.5 State checks;175
11.3.6;6.6 Summary;176
12;Three;180
12.1;7 The Serendip Orchestration Framework;182
12.1.1;7.1 Serendip-Core;184
12.1.1.1;7.1.1 The event cloud;185
12.1.1.2;7.1.2 Interpreting interactions;187
12.1.1.3;7.1.3 Message synchronisation and synthesis;189
12.1.1.4;7.1.4 The validation module;191
12.1.1.5;7.1.5 The model provider factory;193
12.1.1.6;7.1.6 The adaptation engine;194
12.1.2;7.2 Deployment environment;196
12.1.2.1;7.2.1 Apache Axis2;196
12.1.2.2;7.2.2 ROAD4WS;197
12.1.2.3;7.2.3 Dynamic deployments;198
12.1.2.4;7.2.4 Orchestrating web services;200
12.1.2.5;7.2.5 Message delivery patterns;202
12.1.3;7.3 Tool support;204
12.1.3.1;7.3.1 Modelling tools;204
12.1.3.2;7.3.2 Monitoring tools;206
12.1.3.3;7.3.3 Adaptation tools;207
12.1.4;7.4 Summary;209
12.2;8 Case Study;210
12.2.1;8.1 Defining the organisational structure;211
12.2.1.1;8.1.1 Identifying roles, contracts and players;211
12.2.1.2;8.1.2 Defining interactions of contracts;213
12.2.2;8.2 Defining the processes;214
12.2.2.1;8.2.1 Defining organisational behaviour;214
12.2.2.2;8.2.2 Defining tasks;215
12.2.2.3;8.2.3 Defining processes;217
12.2.2.4;8.2.4 Specialising behaviour units;220
12.2.3;8.3 Message interpretations and transformations;221
12.2.3.1;8.3.1 Specifying contractual rules;221
12.2.3.2;8.3.2 Specifying message transformations;225
12.2.4;8.4 Adaptations;226
12.2.4.1;8.4.1 Operation-based adaptations;227
12.2.4.2;8.4.2 Batch-mode adaptations;228
12.2.4.3;8.4.3 Controlled adaptations;232
12.2.5;8.5 Summary;235
12.3;9 Evaluation;236
12.3.1;9.1 Support for change patterns;236
12.3.1.1;9.1.1 Adaptation patterns;237
12.3.1.1.1;9.1.1.1 AP1: insert process fragment;238
12.3.1.1.2;9.1.1.2 AP2: delete process fragment;238
12.3.1.1.3;9.1.1.3 AP3: move process fragment;239
12.3.1.1.4;9.1.1.4 AP4: replace process fragment;239
12.3.1.1.5;9.1.1.5 AP5: swap process fragment;240
12.3.1.1.6;9.1.1.6 AP6: extract sub-process;240
12.3.1.1.7;9.1.1.7 AP7: inline sub-process;241
12.3.1.1.8;9.1.1.8 AP8: embed process fragment in loop;241
12.3.1.1.9;9.1.1.9 AP9: parallelise process fragment;242
12.3.1.1.10;9.1.1.10 AP10: embed process fragment in conditional branch;242
12.3.1.1.11;9.1.1.11 AP11: add control dependency;243
12.3.1.1.12;9.1.1.12 AP12: remove control dependency;243
12.3.1.1.13;9.1.1.13 AP13: update condition;244
12.3.1.2;9.1.2 Patterns for pre-defined changes;244
12.3.1.2.1;9.1.2.1 PP1: late selection of process fragments;244
12.3.1.2.2;9.1.2.2 PP2: late modelling of process fragments;246
12.3.1.2.3;9.1.2.3 PP3: late composition of process fragments;246
12.3.1.2.4;9.1.2.4 PP4: multi-instance activity;247
12.3.1.3;9.1.3 Change support features;248
12.3.1.3.1;9.1.3.1 F1: schema evolution, version control and instance migration;248
12.3.1.3.2;9.1.3.2 F2: support for ad hoc changes;249
12.3.1.3.3;9.1.3.3 F3: correctness of change;249
12.3.1.3.4;9.1.3.4 F4: traceability and analysis;250
12.3.1.3.5;9.1.3.5 F5: access control for changes;250
12.3.1.3.6;9.1.3.6 F6: change re-use;250
12.3.1.4;9.1.4 Results and analysis;250
12.3.2;9.2 Runtime performance overhead;252
12.3.2.1;9.2.1 Experimentation set-up;252
12.3.2.2;9.2.2 Results and analysis;253
12.3.3;9.3 Comparative assessment;255
12.3.3.1;9.3.1 Flexible processes;255
12.3.3.2;9.3.2 Capturing commonalities;257
12.3.3.3;9.3.3 Allowing variations;257
12.3.3.4;9.3.4 Controlled changes;258
12.3.3.5;9.3.5 Predictable change impacts;259
12.3.3.6;9.3.6 Managing the complexity;259
12.3.3.7;9.3.7 Summary of comparison;262
12.3.4;9.4 Summary;262
12.4;10 Using the Serendip Framework;266
12.4.1;10.1 Pre-requisites;266
12.4.2;10.2 Install ROAD4WS platform;267
12.4.3;10.3 Deploy Serendip orchestration descriptions;267
12.4.4;10.4 Send Web service requests to the deployed composite;268
12.4.5;10.5 Manage the composite;269
12.4.6;10.6 Summary;272
12.5;11 Conclusion;274
12.5.1;11.1 Contributions;274
12.5.2;11.2 Future work;277
13;Bibliography;280
14;Appendix A: SerendipLang Grammar;296
15;Appendix B: RoSAS Description;298
16;Appendix C: Organiser Operations;318
17;Appendix D: Adaptation Scripting Language;324
18;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...



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.