369 pages
English

A method and implementation to define and provision variable composite applications, and its usage in cloud computing [Elektronische Ressource] / vorgelegt von Ralph Mietzner

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
369 pages
English
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

A Method and Implementation to Defineand Provision Variable CompositeApplications, and its Usage in CloudComputingVon der Fakultät für Informatik, Elektrotechnik und Informationstechnik derUniversität Stuttgart zur Erlangung der Würde eines Doktors derNaturwissenschaften (Dr. rer. nat.) genehmigte AbhandlungVorgelegt vonRalph Mietzneraus StuttgartHauptberichter: Prof. Dr. Frank LeymannMitberichter: Univ. Prof. Dr. Schahram DustdarTag der mündlichen Prüfung: 13. Juli 2010Institut für Architektur von Anwendungssystemender Universität Stuttgart20102CONTENTS1 Introduction 151.1 Introduction, Problem Domain and Motivation . . . . . . . . . . . 151.2 Research Issues and Contributions . . . . . . . . . . . . . . . . . . . 191.2.1 Application Metamodel and Component Dependencies . 191.2.2 Separation of Application Vendors and Providers . . . . . 201.2.3 Defining Variability in Composite Applications . . . . . . . 211.2.4 Customization of Applications . . . . . . . . . . . . . . . . . 211.2.5 An Architecture to Automatically Provision and ManageApplications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221.2.6 QoS-Aware Provisioning . . . . . . . . . . . . . . . . . . . . 221.3 Organization of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . 222 Background and Related Work 252.1 Decomposition of Applications into Components . . . . . . . . . . 262.1.1 Component-Based Software Development . . . . . . . . . 272.1.

Sujets

Informations

Publié par
Publié le 01 janvier 2010
Nombre de lectures 22
Langue English
Poids de l'ouvrage 5 Mo

Extrait

A Method and Implementation to Define
and Provision Variable Composite
Applications, and its Usage in Cloud
Computing
Von der Fakultät für Informatik, Elektrotechnik und Informationstechnik der
Universität Stuttgart zur Erlangung der Würde eines Doktors der
Naturwissenschaften (Dr. rer. nat.) genehmigte Abhandlung
Vorgelegt von
Ralph Mietzner
aus Stuttgart
Hauptberichter: Prof. Dr. Frank Leymann
Mitberichter: Univ. Prof. Dr. Schahram Dustdar
Tag der mündlichen Prüfung: 13. Juli 2010
Institut für Architektur von Anwendungssystemen
der Universität Stuttgart
20102CONTENTS
1 Introduction 15
1.1 Introduction, Problem Domain and Motivation . . . . . . . . . . . 15
1.2 Research Issues and Contributions . . . . . . . . . . . . . . . . . . . 19
1.2.1 Application Metamodel and Component Dependencies . 19
1.2.2 Separation of Application Vendors and Providers . . . . . 20
1.2.3 Defining Variability in Composite Applications . . . . . . . 21
1.2.4 Customization of Applications . . . . . . . . . . . . . . . . . 21
1.2.5 An Architecture to Automatically Provision and Manage
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.2.6 QoS-Aware Provisioning . . . . . . . . . . . . . . . . . . . . 22
1.3 Organization of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . 22
2 Background and Related Work 25
2.1 Decomposition of Applications into Components . . . . . . . . . . 26
2.1.1 Component-Based Software Development . . . . . . . . . 27
2.1.2 Service-Oriented Architecture . . . . . . . . . . . . . . . . . 28
2.1.3 The Role of Middleware in Composite Applications . . . . 30
2.1.4 Software Product Line Engineering . . . . . . . . . . . . . . 31
2.2 Towards Utility and Cloud Computing . . . . . . . . . . . . . . . . 34
2.2.1 As a service models . . . . . . . . . . . . . . . . . . . . . . . 35
32.2.2 Example SaaS Application . . . . . . . . . . . . . . . . . . . 38
2.2.3 PaaS Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.2.4 IaaS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.2.5 Application Portals . . . . . . . . . . . . . . . . . . . . . . . . 45
2.2.6 Cloud Management Portals . . . . . . . . . . . . . . . . . . . 45
2.2.7 Provisioning Engines . . . . . . . . . . . . . . . . . . . . . . 46
2.2.8 Topology Modeling and Provisioning . . . . . . . . . . . . . 49
2.2.9 Composite Services and Applications . . . . . . . . . . . . 51
2.2.10 Cloud Interoperability . . . . . . . . . . . . . . . . . . . . . . 52
2.2.11 Package Standardization Efforts . . . . . . . . . . . . . . . . 53
2.3 Summary and Conclusion . . . . . . . . . . . . . . . . . . . . . . . . 58
3 Development of Cafe Application Templates 59
3.1 Roles in Cafe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.1.1 Roles in Cafe . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.2 High-Level Cafe Development Process and Terminology . . . . . 63
3.2.1 Template engineering phase . . . . . . . . . . . . . . . . . . 64
3.2.2 T customization phase . . . . . . . . . . . . . . . . . 65
3.2.3 Solution engineering phase . . . . . . . . . . . . . . . . . . 65
3.2.4 Provisioning phase . . . . . . . . . . . . . . . . . . . . . . . . 65
3.3 Cafe Application Metamodel . . . . . . . . . . . . . . . . . . . . . . 66
3.3.1 Short Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.3.2 Example Application Model . . . . . . . . . . . . . . . . . . 67
3.3.3 Formal Definition . . . . . . . . . . . . . . . . . . . . . . . . 69
3.3.4 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.3.5 Component Implementations . . . . . . . . . . . . . . . . . 71
3.3.6 Multi-Tenancy Patterns . . . . . . . . . . . . . . . . . . . . . 75
3.3.7 Deployment Graph . . . . . . . . . . . . . . . . . . . . . . . . 84
3.3.8 Atomic and Composite Components . . . . . . . . . . . . . 86
3.3.9 Serialization of the Cafe Application Metamodel . . . . . 88
3.4 Cafe Variability Metamodel . . . . . . . . . . . . . . . . . . . . . . . 90
3.4.1 Requirements for a Variability Mechanism . . . . . . . . . 90
3.4.2 Short Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4 Contents3.4.3 Example Variability Model . . . . . . . . . . . . . . . . . . . 92
3.4.4 Formal Definition . . . . . . . . . . . . . . . . . . . . . . . . 95
3.4.5 Enabling conditions and new alternatives for refinement
variability points . . . . . . . . . . . . . . . . . . . . . . . . . 120
3.4.6 Variability Models and Component Dependencies . . . . . 123
3.4.7 Modeling Requirements on Provider Supplied Compo-
nents with Variability . . . . . . . . . . . . . . . . . . . . . . 128
3.5 Providers and their Capabilities . . . . . . . . . . . . . . . . . . . . 132
3.5.1 A Metamodel for Providers . . . . . . . . . . . . . . . . . . . 133
3.5.2 Component Binding . . . . . . . . . . . . . . . . . . . . . . . 136
3.6 Car: Cafe Application Template Archive . . . . . . . . . . . . . . . 139
3.7 Detailed Template Engineering Process . . . . . . . . . . . . . . . . 140
3.7.1 Selection of Available Components . . . . . . . . . . . . . . 142
3.7.2 Development of Missing . . . . . . . . . . . . 142
3.7.3 Variability Definition for Components . . . . . . . . . . . . 143
3.7.4 Component and Variability Integration . . . . . . . . . . . 143
3.7.5 Customization Tool Development . . . . . . . . . . . . . . . 144
3.7.6 Template Packaging . . . . . . . . . . . . . . . . . . . . . . . 145
3.8 Summary and Conclusion . . . . . . . . . . . . . . . . . . . . . . . . 145
4 Customization of Cafe Application Templates 147
4.1 Requirements for a Customization Tool . . . . . . . . . . . . . . . . 149
4.1.1 Deal with Abstraction from Implementation Details . . . 149
4.1.2 Guarantee Complete and Correct Customizations . . . . . 150
4.1.3 Customer Guidance . . . . . . . . . . . . . . . . . . . . . . . 151
4.2 Executing Variability Models . . . . . . . . . . . . . . . . . . . . . . 151
4.2.1 Different Purposes for Executable Variability Models . . . 152
4.2.2 Operational Semantics for the Cafe V Metamodel153
4.2.3 Complete and Correct Customizations . . . . . . . . . . . . 165
4.3 Generating Customization Flows from Variability Models . . . . . 169
4.3.1 Introduction to PM-Graphs . . . . . . . . . . . . . . . . . . . 170
4.3.2 Mapping Variability Models to PM-Graphs . . . . . . . . . 171
4.3.3 Guarantee Complete and Correct Customizations . . . . . 184
Contents 54.3.4 The Use of Customization Flows in Different Phases of
the Cafe Development Process . . . . . . . . . . . . . . . . . 188
4.4 Template Customization Phase . . . . . . . . . . . . . . . . . . . . . 195
4.5 Solution Engineering Phase . . . . . . . . . . . . . . . . . . . . . . . 196
4.5.1 Customization Phase . . . . . . . . . . . . . . . . . . . . . . 198
4.5.2 Solution Creation Phase . . . . . . . . . . . . . . . . . . . . 198
4.6 Summary and Conclusion . . . . . . . . . . . . . . . . . . . . . . . . 199
5 Provisioning and Management of Cafe Application Solutions 201
5.1 Service-Oriented Provisioning and Management of Cafe Applica-
tions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
5.1.1 Provisioning Services Offered by Different Provisioning
Engines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
5.1.2 Provisioning and Management Flows . . . . . . . . . . . . 207
5.2 Cafe and Interface (CPMI) . . . . . . . 210
5.2.1 Mapping Provisioning and Management Services to Com-
ponents via Component Flows . . . . . . . . . . . . . . . . . 210
5.2.2 Generic States and Operations in the CPMI . 214
5.2.3 Special Operations for Provider Components . . . . . . . . 219
5.2.4 for Single (Configurable) Instance
Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
5.3 Application Provisioning . . . . . . . . . . . . . . . . . . . . . . . . . 225
5.3.1 Find Realizations . . . . . . . . . . . . . . . . . . . . . . . . . 226
5.3.2 Find Correct and Complete Component Bindings . . . . . 236
5.3.3 Select the Realization Component Binding . . . . . . . . . 246
5.3.4 Component Provisioning . . . . . . . . . . . . . . . . . . . . 248
5.3.5 Executing Activities . . . . . . . . . . . . . . . 256
5.4 Optimization of Component Binding . . . . . . . . . . . . . . . . . 263
5.4.1 Generic Plugin Mechanism for Optimization Algorithms
in Cafe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
5.4.2 Annotating Already Provisioned Components and Provi-
sioning Services with Cost and Performance Levels . . . . 265
5.5 Summary and Conclusion . . . . . . . . . . . . . . . . . . . . . . . . 266
6 Contents6 Implementation of the Cafe Platform 269
6.1 Cafe Application Modeler . . . . . . . . . . . . . . . . . . . . . . . . 270
6.1.1 Cafe Application Model Editor . . . . . . . . . . . . . . . . . 271
6.1.2 Cafe Variability Model Editor . . . . . . . . . . . . . . . . . 272
6.1.3 Component Binding Editor . . . . . . . . . . . . . . . . . . . 273
6.1.4 Customization Flow Generator . . . . . . . . . . . . . . . . 273
6.2 Cafe System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
6.2.1 Application Portal . . . . . . . . . . . . . . . . . . . . . . . . 276
6.2.2 Customization Flows . . . . . . . . . . . . . . . . . . . . . . 278

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents
Alternate Text