Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Foreword by Dr. Tom Janoshalmi
19
Preface
21
How to Read This Book
21
Acknowledgments
25
PART I Getting Started
27
1 Introduction to SAP Business Technology Platform
29
1.1 Transformation Flywheel
30
1.2 Cloud Platforms
31
1.3 Pillars of SAP Business Technology Platform
33
1.3.1 Agent and Application Development
34
1.3.2 Integration
36
1.3.3 Artificial Intelligence and Data Foundation
37
1.3.4 Deployment Models
39
1.4 SAP Business AI Platform
39
1.5 Summary
40
2 Development Environment
41
2.1 Introduction
41
2.1.1 SAP Business Technology Platform Architecture
43
2.1.2 Development Environments
45
2.2 SAP BTP, Cloud Foundry Environment
46
2.2.1 Characteristics of Cloud Foundry
47
2.2.2 How SAP Business Technology Platform Has Adopted Cloud Foundry
49
2.2.3 Cloud Foundry Services Offered by SAP Business Technology Platform
49
2.2.4 SAP Joule for Developers
52
2.3 SAP BTP ABAP Environment
53
2.3.1 Multitenancy in SAP BTP ABAP Environment
55
2.3.2 Key Cloud-Specific Features
55
2.3.3 SAP Joule for Developers
56
2.4 SAP BTP, Kyma Runtime
57
2.4.1 Overview
57
2.4.2 Creating Services
58
2.4.3 Creating Functions
59
2.5 Deployment Based on Development Environment
60
2.5.1 Deployment on SAP BTP, Neo Environment
60
2.5.2 Deployment on SAP BTP, Cloud Foundry Environment
62
2.5.3 Deployment on SAP BTP, Kyma Runtime
64
2.5.4 Deployment on SAP BTP ABAP Environment
64
2.6 Use Cases Based on Development Environment
65
2.6.1 Application Development Use Cases Supported by SAP BTP, Neo Environment
65
2.6.2 Application Development Use Cases Supported by SAP BTP, Cloud Foundry Environment
66
2.6.3 Application Development Use Cases Supported by SAP BTP ABAP Environment
66
2.6.4 Application Development Use Cases Supported by SAP BTP, Kyma Runtime
67
2.7 Estimating the Cost of SAP BTP Projects
67
2.8 Summary
71
PART II Backend and Frontend Cloud Application Development
73
3 Designing Cloud Applications for SAP
75
3.1 Cloud-Native Applications
76
3.1.1 What Are Cloud-Native Applications?
77
3.1.2 Microservice Architectures
77
3.1.3 Container Architectures
79
3.2 Clean Core for SAP BTP
80
3.2.1 Concept
81
3.2.2 Mechanism
82
3.2.3 Benefits
84
3.3 Microservices
84
3.3.1 What Are Microservices?
85
3.3.2 How Does SAP Business Technology Platform Enable Microservices?
86
3.3.3 Finding the Right Microservice
91
3.3.4 Consuming Microservices
92
3.3.5 Microservices in SAP BTP, Kyma Runtime
93
3.4 Integrating Cloud-Native Applications
93
3.4.1 Introduction to SAP Integration Suite
94
3.4.2 SAP Data Intelligence
108
3.4.3 SAP Business Accelerator Hub
110
3.4.4 Migrating SAP Process Integration or SAP Process Orchestration Content to SAP Integration Suite
110
3.4.5 Scenario-Based Recommendations for Integration Tools
112
3.5 Summary
114
4 SAP Business Application Studio
115
4.1 Capabilities
116
4.2 Setting Up SAP Business Application Studio
117
4.2.1 Plans
117
4.2.2 Setup Instructions
118
4.2.3 Types of Dev Spaces
118
4.2.4 Creating Dev Spaces in SAP Business Application Studio
135
4.2.5 Workspaces Inside Dev Spaces
140
4.3 Developing Your First Cloud Application Using SAP Business Application Studio
142
4.3.1 Creating a Project Using the Wizard
142
4.3.2 Creating a Project Using the Terminal
143
4.3.3 Creating a Project in a Local Workspace by Cloning a Repository
144
4.3.4 Creating a Project by Importing a Project
149
4.4 Leveraging SAP Build Code and Joule
150
4.4.1 What Is SAP Build Code?
150
4.4.2 Set Up SAP Build Code on SAP BTP
150
4.4.3 Create a Project Using SAP Build Code
153
4.5 Migrating Projects from SAP Web IDE to SAP Business Application Studio
158
4.6 Summary
161
5 SAP HANA Cloud
163
5.1 Features of SAP HANA Cloud
163
5.2 Medallion Data Architecture
165
5.3 SAP HANA Cloud Central
167
5.4 SAP HANA Cloud Knowledge Graph Engine
168
5.4.1 Knowledge Graphs
168
5.4.2 Features and Capabilities of SAP HANA Cloud Knowledge Graph Engine
169
5.5 SAP HANA Cloud Vector Engine
171
5.5.1 Journey from Unstructured Data to Vectors
172
5.5.2 Benefits and Use Cases of SAP HANA Cloud Vector Engine
174
5.6 Summary
174
6 SAP Cloud Application Programming Model
175
6.1 Overview of SAP Cloud Application Programming Model
175
6.2 Project Setup
176
6.3 Understanding Domain Modeling
178
6.4 Using the Default SQLite Database
183
6.5 Using the SAP HANA Cloud Database
186
6.6 Generating SAP Fiori User Interfaces
189
6.7 Deploying Applications to SAP BTP, Cloud Foundry Environment
193
6.8 Consuming External Services
195
6.9 Additional Topics
197
6.9.1 Localization of SAP Fiori Apps
198
6.9.2 Authentication and Authorization
199
6.9.3 Annotations
205
6.9.4 SAP Cloud Application Programming Model LLM Plugin
206
6.10 Summary
207
7 Developing Node.js Applications
209
7.1 Creating a Project Using SAP Business Application Studio
209
7.2 Connecting to SAP BTP, Cloud Foundry Environment
213
7.3 Installing Node.js Modules
216
7.4 Creating Core Data Services Resources for Our Sample Project
218
7.4.1 Creating Files for Domain Models
218
7.4.2 Creating Files for Service Definitions
219
7.4.3 Creating Data Files
220
7.5 Creating SAP HANA Cloud Artifacts
221
7.5.1 Binding Resources to the HDI Container Service
222
7.5.2 Deploying Artifacts in SAP Business Application Studio
223
7.5.3 Viewing Database Artifacts Using SAP HANA Database Explorer
224
7.6 Deploying Applications to SAP BTP, Cloud Foundry
225
7.7 Generating Artifacts Using Joule
228
7.8 Summary
233
8 Developing Java Applications
235
8.1 Creating a Project from a Template
236
8.2 Creating a Java Application
239
8.3 Creating a Service Instance and Binding It to an Application
244
8.3.1 Creating an SAP HANA Deployment Infrastructure Container Service Instance
245
8.3.2 Deploying Artifacts in a Backend Database in SAP Business Application Studio
246
8.3.3 Viewing Database Artifacts Using the SAP HANA Database Explorer
246
8.4 Creating Core Data Services Domain Models and Services Based on SAP HANA Artifacts
247
8.4.1 Creating a Calculation View
247
8.4.2 Creating a Domain Model Based on a Calculation View
249
8.4.3 Creating a Service Definition
250
8.5 Deploying Applications to SAP BTP, Cloud Foundry
250
8.6 Summary
254
9 Developing ABAP Applications
255
9.1 SAP BTP ABAP Environment Architecture and Overview
255
9.2 Provisioning an SAP BTP ABAP Environment Trial
257
9.3 ABAP Development Tools for Eclipse
261
9.3.1 Installation and Setup
261
9.3.2 SAP Joule for Developers
265
9.3.3 ABAP AI Capabilities
266
9.4 ABAP RESTful Application Programming Model
268
9.4.1 Data Modeling and Behavior
269
9.4.2 Business Service Provisioning
270
9.4.3 Service Consumption
271
9.5 Developing a List Report App
271
9.5.1 Business Requirements
271
9.5.2 Creating an ABAP Package and Database Table
272
9.5.3 Building an ABAP RESTful Application Programming Model Application
276
9.6 Managed Versus Unmanaged Transactional Apps
286
9.7 Developing a Managed App
287
9.8 Adding Draft Capabilities to Managed Apps
294
9.9 Developing an Unmanaged App
298
9.10 Developing a Web API
310
9.11 Transport Management
312
9.12 Summary
318
10 Developing Python Application Using SAP Business Application Studio
319
10.1 Python Overview and Libraries
319
10.2 Jupyter Notebook
321
10.3 Creating a Python Application
323
10.3.1 Setup
323
10.3.2 Create a Project
328
10.3.3 Install Python Extension
330
10.3.4 Install Flask Library
332
10.3.5 Deployment
336
10.4 Summary
341
11 Developing Applications in SAP Business Technology Platform, Kyma Runtime
343
11.1 SAP BTP, Kyma Runtime
344
11.2 Use Cases
346
11.3 Building with Kyma
347
11.3.1 Prerequisite Configuration
347
11.3.2 Configuring SAP BTP, Kyma Runtime, and Service Deployment
349
11.3.3 Creating Pairing and Application Programming Interface Rules
357
11.4 Summary
358
12 Developing SAP Fiori Applications
359
12.1 Overview and Architecture
360
12.2 SAP Fiori Tools in SAP Business Application Studio
361
12.3 Freestyle SAP Fiori versus SAP Fiori Elements
364
12.4 Developing Complex Freestyle SAP Fiori Applications
366
12.4.1 Developing List-Detail Applications
367
12.4.2 Basic Files in SAPUI5 Applications
375
12.5 Developing Complex SAP Fiori Elements Applications
375
12.5.1 Determining Floorplans
376
12.5.2 Determining Data Sources and Other Details
378
12.5.3 Guided Development
379
12.6 Deploying an Application
386
12.7 Extending Freestyle Applications
387
12.8 Extending SAP Fiori Elements Applications
388
12.9 Summary
390
PART III Operating Applications
391
13 DevOps Implementation
393
13.1 DevOps Fundamentals
394
13.1.1 Core Tenets of DevOps
394
13.1.2 DevOps Inner Circles
398
13.1.3 Continuous Integration/Continuous Delivery
399
13.2 Implementing Tooling for DevOps
401
13.2.1 Continuous Everything
401
13.2.2 Requirements Management
403
13.2.3 Collaborative Development Tools
407
13.2.4 Deployment Options in the Cloud
409
13.2.5 Quality Assurance
414
13.2.6 Monitoring and Feedback
417
13.2.7 Continuous Delivery Options in SAP BTP
418
13.3 Best Practices for DevOps in SAP
423
13.4 DevOps Tooling Integration for SAP and Hybrid Landscapes
425
13.5 Summary
428
14 Security
431
14.1 SAP BTP Authentication Options
431
14.1.1 Identity Authentication
432
14.1.2 Solution Overview for User Authentication via the SAP BTP User Store
434
14.1.3 Solution Overview for User Authentication Using a Corporate User Store
435
14.1.4 Solution Overview for User Authentication Using Your Own Identity Provider
436
14.2 SAP BTP Single Sign-On
437
14.2.1 Application-to-Application Single Sign-On
437
14.2.2 Assertion SSO
438
14.2.3 Principal Propagation
438
14.3 Access Management on SAP BTP
439
14.3.1 Key Concepts in User Authentication in SAP BTP
439
14.3.2 User Account and Authentication Service
440
14.3.3 Web Access
440
14.4 Authorizations for Applications on SAP BTP, Cloud Foundry Environment
442
14.4.1 Access Control
442
14.4.2 Security Artifacts for Authorizations
443
14.4.3 Authorization Enforcement
443
14.4.4 Scopes, Role Templates, and Attributes
444
14.5 Web Security for Applications in SAP BTP
444
14.5.1 Protection Against Cross-Origin Resource Sharing
445
14.5.2 Protecting Against Cross-Site Request Forgery
445
14.5.3 Protecting Against Click-Jacking Attempts
445
14.5.4 Protecting Against Cross-Site Scripting
446
14.5.5 Setting Up Timeouts for Application User Sessions
446
14.5.6 Securing Node.js Applications
446
14.5.7 Securing Your Java Applications
446
14.6 Joule Security
447
14.7 Summary
448
15 Application Monitoring
449
15.1 Monitoring Java Applications
449
15.2 Monitoring Database Systems
452
15.3 Monitoring Cloud Foundry Applications
455
15.3.1 Activating Application Log
456
15.3.2 Visualizing Application Log
456
15.4 Monitoring APIs
458
15.4.1 REST APIs for Java Applications
458
15.4.2 REST APIs for Database Systems and SAP HANA Extended Application Services
461
15.5 Monitoring Applications with Notifications
461
15.6 SAP Automation Pilot
462
15.6.1 Concepts
462
15.6.2 How SAP Automation Pilot Works
464
15.7 Summary
465
PART IV Supporting Tools and Services
467
16 SAP Workflow Management
469
16.1 Overview
470
16.1.1 Key Capabilities
470
16.1.2 Limitations and Considerations
471
16.1.3 Process Model
471
16.1.4 User Interfaces
472
16.1.5 Configuring Workflow Steps
473
16.1.6 Triggering the Workflow
474
16.1.7 Configuring the Rules
475
16.1.8 Process Visibility
477
16.2 Integrations
478
16.2.1 Integration Specific to Workflow Steps
479
16.2.2 Integrating Intelligent Services
479
16.3 Model Architecture for Workflow on SAP Business Technology Platform
480
16.4 Workflow Package
481
16.5 Workflow Monitoring
482
16.6 Summary
483
17 SAP Build Work Zone
485
17.1 Introduction to SAP Build Work Zone
486
17.2 Key Concepts
486
17.3 SAP Build Work Zone Editor
488
17.3.1 Spaces, Pages, Cards, Widgets, and Content Packages
489
17.3.2 Users, Roles, and Permissions
491
17.3.3 Content Integration
492
17.4 Summary
494
18 SAP Build Process Automation
495
18.1 Basics of SAP Build Process Automation Design
495
18.1.1 Tenant Setup for SAP Build Lobby
496
18.1.2 Projects
500
18.1.3 Agents
505
18.1.4 Recorder
506
18.1.5 Packages
507
18.1.6 Deployment
508
18.2 Orchestrating Automation Processes
508
18.3 Attended and Scheduled Bots
510
18.4 Imbuing Intelligence in Bots
510
18.5 Integration
512
18.6 Summary
514
19 Joule
517
19.1 Introduction to Joule
517
19.2 Capabilities
519
19.3 Key Process and Components
523
19.4 Joule Extensions and Agents
524
19.5 Summary
528
20 SAP Business Data Cloud
529
20.1 Architecture
529
20.2 Capabilities
531
20.3 SAP Business Data Cloud Cockpit
533
20.4 Data Products
534
20.5 Intelligent Applications
536
20.6 SAP Databricks
538
20.7 Use Cases
540
20.7.1 Modernizing SAP Business Warehouse with SAP Business Data Cloud
540
20.7.2 Supporting SAP Business AI
542
20.8 Summary
543
21 Conclusion and Roadmap
545
21.1 The Autonomous Enterprise
545
21.2 Cloud Platforms
547
21.3 Digital Innovation
550
21.4 SAP BTP Roadmap
552
21.5 Summary
553
The Authors
555
Index
559