Table of Contents
Foreword 13
Introduction 15
1 SAP Business Technology Platform 25
1.1 Objectives of This Portion of the Test 26
1.2 Cloud Computing 26
1.2.1 Types of Cloud Computing 27
1.2.2 Cloud Computing Models 28
1.3 SAP Business Technology Platform 30
1.3.1 The Uniqueness of SAP Business Technology Platform 30
1.3.2 SAP Business Technology Platform Capabilities 31
1.3.3 SAP Business Technology Platform Environments 35
1.3.4 SAP Business Technology Platform Cockpit 37
1.4 SAP Business Technology Platform Account Model 38
1.4.1 Feature Sets 38
1.4.2 Account Model 38
1.5 SAP Business Technology Platform Commercial Models 43
1.5.1 Consumption-Based Commercial Model 43
1.5.2 Subscription-Based Commercial Model 44
1.5.3 Free-Tier 45
1.5.4 Trial Account 45
1.5.5 Entitlements, Service Plans, and Quotas 46
1.6 Cloud Foundry 47
1.6.1 Architecture 48
1.6.2 Cloud Foundry Layers 49
1.6.3 Enabling Cloud Foundry in SAP Business Technology Platform 50
1.6.4 Cloud Foundry Command-Line Interface 51
1.6.5 Scalinga Cloud Foundry Application 51
1.6.6 Past and Future of the Cloud Foundry Platform 53
1.7 SAP Discovery Center 54
1.8 Important Terminology 55
1.9 Practice Questions 57
1.10 Practice Question Answers and Explanations 59
1.11 Test Takeaway 61
1.12 Summary 61
2 Web Development Standards 63
2.1 Objectives of This Portion of the Test 64
2.2 Application Programming Interface, Representational State Transfer, and Open Data 64
2.2.1 API 64
2.2.2 REST 65
2.2.3 OData 67
2.3 JavaScript Object Notation and Yet Another Markup Language 77
2.3.1 JSON 77
2.3.2 YAML 79
2.3.3 YAML versus JSON 80
2.4 Twelve-Factor App Principles 81
2.5 Important Terminology 86
2.6 Practice Questions 87
2.7 Practice Question Answers and Explanations 90
2.8 Test Takeaway 93
2.9 Summary 93
3 SAP Cloud Application Programming Model 95
3.1 Objectives of This Portion of the Test 96
3.2 SAP Business Application Studio 97
3.2.1 Technical Details 97
3.2.2 Getting Started with SAP Business Application Studio 98
3.3 Introduction to the SAP Cloud Application Programming Model 103
3.3.1 Capabilities of the SAP Cloud Application Programming Model 104
3.3.2 Real-World Scenario 106
3.3.3 Following the Progress in the Real-World Scenario 108
3.4 Creating an SAP Cloud Application Programming Model Project 108
3.5 Domain Modeling 111
3.5.1 Entities 112
3.5.2 Types 113
3.5.3 Aspects 113
3.5.4 Code List 115
3.5.5 Views and Projections 116
3.5.6 Associations 116
3.5.7 Unmanaged and Managed Associations 117
3.5.8 Compositions 117
3.5.9 Actions and Functions 118
3.5.10 Real-World Scenario: Domain Model 119
3.5.11 Core Data Services Language to Core Schema Notation 120
3.5.12 Database interactions 121
3.6 Creating OData Services 122
3.6.1 Service Modeling 122
3.6.2 Real-World Scenario: Create a Service 124
3.7 Running Locally 125
3.7.1 Running the SAP Cloud Application Programming Model Project 125
3.7.2 Adding Test Data 126
3.7.3 Connecting to SAP HANA Cloud 128
3.7.4 CDS Bind Command 132
3.8 Custom Handlers 133
3.8.1 Writing Custom Handlers 133
3.8.2 Application Programming Interface for Handier Registration 134
3.8.3 Explicit Way of Registering Event Handlers 134
3.8.4 Phases of Events 135
3.8.5 Real-World Scenario: Creating Custom Handlers 137
3.9 Emitting and Subscribing to Events 138
3.10 Building and Deploying 140
3.10.1 Cloud Foundry Native Deployment 140
3.10.2 Multi-Target Applications 143
3.11 Annotations 146
3.12 Important Terminology 148
3.13 Practice Questions 149
3.14 Practice Question Answers and Explanations 152
3.15 Test Takeaway 154
3.16 Summary 155
4 Connectivity 157
4.1 Objectives of This Portion of the Test 158
4.2 Consuming External OData Services 158
4.3 Destination Service 165
4.3.1 Creating a Destination 165
4.3.2 Manually Creating and Binding SAP BTP Service Instances 167
4.3.3 Creating and Binding the Service via the Terminal 168
4.3.4 Creating and Binding the Service via mta.yaml 169
4.3.5 Running the Service Locally 171
4.3.6 Running on SAP Business Technology Platform 173
4.4 Cloud Connector 173
4.4.1 Installing the Cloud Connector 175
4.4.2 Configuring the Cloud Connector 175
4.5 Connectivity Service 179
4.6 Advanced Concepts 181
4.6.1 Sending the Application Programming Interface Key 181
4.6.2 Advanced Custom Handler 183
4.6.3 Application Details 184
4.7 Important Terminology 185
4.8 Practice Questions 186
4.9 Practice Question Answers and Explanations 187
4.10 Test Takeaway 188
4.11 Summary 189
5 SAP Fiori Elements 191
5.1 Objectives of This Portion of the Test 192
5.2 SAPUI5 192
5.3 SAP Fiori 194
5.4 SAP Fiori Elements 201
5.4.1 Generating the SAP Fiori Elements Application 202
5.4.2 Enabling the Draft Functionality 208
5.4.3 Adding Annotations 210
5.5 Important Terminology 224
5.6 Practice Questions 224
5.7 Practice Question Answers and Explanations 227
5.8 Test Takeaway 228
5.9 Summary 228
6 Authorization and Trust Management 229
6.1 Objectives of This Portion of the Test 230
6.2 AppRouter 231
6.2.1 Challenges with the Microservices Approach 231
6.2.2 Options to Add the AppRouter Module 232
6.2.3 Configuring AppRouter 233
6.2.4 Configuring the HTML5 Application Repository Service 236
6.2.5 Real-World Scenario: Adding an AppRouter Module 237
6.3 Authentication and Trust Management 241
6.3.1 Identity Provider at the Subaccount Level 241
6.3.2 Authentication Strategies 242
6.3.3 SAP Authorization and Trust Management Service 245
6.3.4 JSON Web Token 246
6.3.5 Types of Users 248
6.3.6 Real-World Scenario Adding Authentication 249
6.4 Authorization 251
6.4.1 Role Collections, Roles, Scopes, Attributes 251
6.4.2 Application Security Descriptor: xs-security.json 252
6.4.3 Assigning and Enforcing Authorizations 253
6.4.4 Real-world Scenario: Adding Authorizations 260
6.5 Important Terminology 263
6.6 Practice Questions 264
6.7 Practice Question Answers and Explanations 266
6.8 Test Takeaway 268
6.9 Summary 268
7 Continuous Integration and Delivery 271
7.1 Objectives of This Portion of the Test 273
7.2 Continuous Integration, Delivery, and Deployment 273
7.2.1 Continuous Integration 273
7.2.2 Continuous Delivery 274
7.2.3 Continuous Deployment 274
7.3 Configuring the CI/CD Pipeline 275
7.3.1 Unit Testing 276
7.3.2 Git Repository 279
7.3.3 Configure CI/CD with SAP Continuous Integration and Delivery Service 281
7.4 Important Terminology 293
7.5 Practice Questions 294
7.6 Practice Question Answers and Explanations 297
7.7 Test Takeaway 298
7.8 Summary 299
The Authors 301
Index 303