Table of Contents

Open all
Close all
Foreword by Garrick Keatts
19
Foreword by Jonathan Russell
21
Preface
23
How to Read This Book
23
Acknowledgments
27
Part I Getting Started
29
1 SAP Business Technology Platform and the Intelligent Enterprise
31
1.1 The Intelligent Enterprise through the Digital Enterprise
32
1.1.1 What Is Digital Transformation?
32
1.1.2 What Is an Intelligent Enterprise?
34
1.1.3 Components of an SAP-Enabled Intelligent Platform
36
1.2 The Role of the Cloud in Digital Transformation
38
1.2.1 Cloud Variants
38
1.2.2 How the Cloud Supports Digital Transformation
39
1.2.3 Key Considerations for Your Journey to the Cloud
40
1.3 Cloud-Native Applications: The New Paradigm
42
1.3.1 What Are Cloud-Native Applications?
43
1.3.2 Microservice Architectures
43
1.3.3 Container Architectures
44
1.4 Cloud Platforms
46
1.5 Pillars of SAP Business Technology Platform
48
1.5.1 Database and Data Management
48
1.5.2 Analytics
50
1.5.3 Application Development and Integration
50
1.5.4 Intelligent Technologies
53
1.6 Summary
55
2 Development Environments
57
2.1 Introduction
57
2.1.1 SAP Business Technology Platform Architecture
58
2.1.2 Development Environments
61
2.2 SAP BTP, Cloud Foundry Environment
61
2.2.1 Characteristics of Cloud Foundry
62
2.2.2 How SAP Business Technology Platform Has Adopted Cloud Foundry
64
2.2.3 Cloud Foundry Services Offered by SAP Business Technology Platform
64
2.3 SAP BTP, ABAP Environment
66
2.3.1 Multi-Tenancy in SAP BTP, ABAP Environment
68
2.3.2 Key Cloud-Specific Features
68
2.4 SAP BTP, Kyma Runtime
69
2.4.1 Overview
69
2.4.2 Creating Services
71
2.4.3 Creating Functions
71
2.5 SAP Build Environment
72
2.6 Deployment Based on Development Environment
74
2.6.1 Deployment on SAP BTP, Neo Environment
74
2.6.2 Deployment on SAP BTP, Cloud Foundry Environment
76
2.6.3 Deployment on SAP BTP, Kyma Runtime
78
2.6.4 Deployment on SAP BTP, ABAP Environment
78
2.7 Use Cases Based on Development Environment
78
2.7.1 Application Development Use Cases Supported by SAP BTP, Neo Environment
79
2.7.2 Application Development Use Cases Supported by SAP BTP, Cloud Foundry Environment
79
2.7.3 Application Development Use Cases Supported by SAP BTP, ABAP Environment
80
2.7.4 Application Development Use Cases Supported by SAP BTP, Kyma Runtime
80
2.7.5 Application Development Use Cases Supported by SAP Build
81
2.8 Summary
81
3 Microservices
83
3.1 What Is a Microservice?
83
3.2 How Does SAP Business Technology Platform Enable Microservices?
85
3.2.1 Microservice Design Considerations
88
3.2.2 Twelve-Factor App
89
3.3 Finding the Right Microservice
90
3.4 Consuming Microservices
91
3.5 Microservices in SAP BTP, Kyma Runtime
92
3.6 Summary
92
4 SAP Extension Suite
93
4.1 Enhancing Digital Experiences
94
4.2 Improving Digital Process Automation
96
4.3 Increasing Development Efficiency and Productivity
99
4.4 Summary
104
Part II Backend and Frontend Cloud Application Development
105
5 Working with SAP Business Application Studio
107
5.1 Capabilities
108
5.2 Setting Up SAP Business Application Studio
109
5.2.1 Types of Dev Spaces
109
5.2.2 Creating Dev Spaces in SAP Business Application Studio
121
5.2.3 Migrating Dev Space Content
128
5.2.4 Workspaces in Dev Spaces
130
5.3 Developing Your First Cloud Application Using SAP Business Application Studio
133
5.3.1 Creating a Project Using the Wizard
133
5.3.2 Creating a Project from the Terminal
135
5.3.3 Creating a Project in a Local Workspace by Cloning a Repository
136
5.3.4 Creating a Project by Importing a Project
142
5.3.5 Creating a Project for Low-Code, Full-Stack Development
144
5.4 Migrating Projects from SAP Web IDE to SAP Business Application Studio
147
5.5 Summary
151
6 SAP Cloud Application Programming Model
153
6.1 Overview of SAP Cloud Application Programming Model
153
6.2 SAP Business Application Studio and Project Setup
155
6.2.1 SAP Business Application Studio Overview
155
6.2.2 Capabilities
156
6.2.3 Setting Up SAP Business Application Studio with SAP BTP
156
6.2.4 Project Setup
160
6.3 Understanding Domain Modeling
163
6.4 Using the Default SQLite Database
168
6.5 Using the SAP HANA Cloud Database
171
6.5.1 Provisioning an SAP HANA Cloud Instance in SAP BTP, Cloud Foundry Environment
172
6.5.2 Adding SAP HANA as the Database for Your SAP Cloud Application Programming Model Application
175
6.5.3 Verifying SAP HANA Data in the Database Explorer
178
6.6 Generating SAP Fiori User Interfaces
180
6.7 Deploying Applications to SAP BTP, Cloud Foundry Environment
185
6.8 Consuming External Services
187
6.9 Additional Topics
190
6.9.1 Localization of SAP Fiori Apps
190
6.9.2 Authentication and Authorization
192
6.9.3 Annotations
197
6.10 Summary
198
7 Developing Node.js Applications
199
7.1 Creating a Project Using SAP Business Application Studio
199
7.2 Connecting to SAP BTP, Cloud Foundry Environment
203
7.3 Installing Node.js Modules
206
7.3.1 Starting the SAP Cloud Application Programming Model Server
207
7.4 Creating Core Data Services Resources for Our Sample Project
208
7.4.1 Creating Files for Domain Models
208
7.4.2 Creating Files for Service Definitions
209
7.4.3 Creating Data Files
210
7.5 Creating SAP HANA Cloud Artifacts
211
7.5.1 Binding Resources to the SAP HANA Deployment Infrastructure Container Service
213
7.5.2 Deploying Artifacts in SAP Business Application Studio
214
7.5.3 Viewing Database Artifacts Using SAP HANA Database Explorer
214
7.6 Deploying Applications to SAP BTP, Cloud Foundry
216
7.7 Summary
218
8 Developing Java Applications
219
8.1 Creating a Project from a Template
220
8.2 Creating a Java Application
223
8.3 Creating a Service Instance and Binding It to an Application
228
8.3.1 Creating an SAP HANA Deployment Infrastructure Container Service Instance
229
8.3.2 Deploying Artifacts in a Backend Database in SAP Business Application Studio
230
8.3.3 Viewing Database Artifacts Using the SAP HANA Database Explorer
230
8.4 Creating Core Data Services Domain Models and Services Based on SAP HANA Artifacts
231
8.4.1 Creating a Calculation View
231
8.4.2 Creating a Domain Model Based on a Calculation View
233
8.4.3 Creating a Service Definition
234
8.5 Deploying Applications to SAP BTP, Cloud Foundry
234
8.6 Summary
238
9 Developing ABAP Applications
239
9.1 SAP BTP, ABAP Environment, Architecture and Overview
239
9.2 Provisioning an SAP BTP, ABAP Environment, Trial
241
9.3 ABAP Development Tools for Eclipse
245
9.4 ABAP RESTful Application Programming Model
249
9.4.1 Data Modeling and Behavior
249
9.4.2 Business Service Provisioning
251
9.4.3 Service Consumption
251
9.5 Developing a List Report App
251
9.5.1 Business Requirements
252
9.5.2 Creating an ABAP Package and Database Table
252
9.5.3 Building an ABAP RESTful Application Programming Model Application
256
9.6 Managed versus Unmanaged Transactional Apps
268
9.7 Developing a Managed App
268
9.8 Adding Draft Capabilities to Managed Apps
275
9.9 Developing an Unmanaged App
280
9.10 Developing a Web API
292
9.11 Transport Management
294
9.12 Summary
300
10 Developing Applications in SAP Business Technology Platform, Kyma Runtime
301
10.1 SAP BTP, Kyma Runtime
302
10.2 Use Cases
304
10.3 Building with Kyma
305
10.3.1 Prerequisite Configuration
305
10.3.2 Configuring SAP BTP, Kyma Runtime, and Service Deployment
307
10.3.3 Creating Pairing and Application Programming Interface Rules
315
10.4 Summary
316
11 Developing SAP Fiori Applications
319
11.1 Overview and Architecture
319
11.2 SAP Fiori Tools in SAP Business Application Studio
321
11.3 Freestyle SAP Fiori versus SAP Fiori Elements
324
11.4 Developing Complex Freestyle SAP Fiori Applications
325
11.4.1 Developing List Detail Applications
326
11.4.2 Basic Files in SAPUI5 Applications
334
11.5 Developing Complex SAP Fiori Elements Applications
334
11.5.1 Determining Floorplans
335
11.5.2 Determining Data Sources and Other Details
337
11.5.3 Guided Development
338
11.6 Deploying an Application
345
11.7 Extending Freestyle Applications
346
11.8 Extending SAP Fiori Elements Applications
348
11.9 SAP Launchpad Service on SAP BTP
349
11.10 Summary
352
Part III Operating Applications
353
12 DevOps Implementation
355
12.1 DevOps Fundamentals
356
12.1.1 Core Tenets of DevOps
357
12.1.2 DevOps Inner Circles
360
12.1.3 Continuous Integration/Continuous Delivery
361
12.2 Implementing Tooling for DevOps
362
12.2.1 Continuous Everything
363
12.2.2 Requirements Management
365
12.2.3 Collaborative Development Tools
370
12.2.4 Deployment Options in the Cloud
372
12.2.5 Quality Assurance
376
12.2.6 Monitoring and Feedback
379
12.2.7 Continuous Delivery Options in SAP BTP
381
12.3 Best Practices for DevOps in SAP
385
12.4 DevOps Tooling Integration for SAP and Hybrid Landscapes
388
12.5 Summary
391
13 Security
393
13.1 SAP BTP Authentication Options
393
13.1.1 Identity Authentication
394
13.1.2 Solution Overview for User Authentication via the SAP BTP User Store
396
13.1.3 Solution Overview for User Authentication using a Corporate User Store
397
13.1.4 Solution Overview for User Authentication Using Your Own Identity Provider
398
13.2 SAP BTP Single Sign-On
400
13.2.1 Application-to-Application Single Sign-On
400
13.2.2 SAP Assertion SSO
400
13.2.3 Principal Propagation
401
13.3 Access Management on SAP BTP
401
13.3.1 Key Concepts in User Authentication in SAP BTP
402
13.3.2 User Account and Authentication Service
402
13.3.3 Web Access
403
13.4 Authorizations for Applications on SAP BTP, Cloud Foundry Environment
405
13.4.1 Access Control
405
13.4.2 Security Artifacts for Authorizations
405
13.4.3 Authorization Enforcement
406
13.4.4 Scopes, Role Templates, and Attributes
406
13.5 Web Security for Applications in SAP BTP
407
13.5.1 Protection against Cross-Origin Resource Sharing
407
13.5.2 Protecting against Cross-Site Request Forgery
407
13.5.3 Protecting against Click-Jacking Attempts
408
13.5.4 Protecting against Cross-Site Scripting
408
13.5.5 Setting Up Timeouts for Application User Sessions
409
13.5.6 Securing Node.js Applications
409
13.5.7 Securing Your Java Applications
409
13.6 Summary
409
14 Application Monitoring
411
14.1 Monitoring Java Applications
411
14.2 Monitoring Database Systems
414
14.3 Monitoring Cloud Foundry Applications
417
14.3.1 Activating Application Log
418
14.3.2 Visualizing Application Log
418
14.4 Monitoring Application Programming Interfaces
419
14.4.1 Representational State Transfer Application Programming Interfaces for Java Applications in Neo
420
14.4.2 Representational State Transfer Application Programming Interfaces for Database Systems and SAP HANA Extended Application Services
422
14.5 Monitoring Applications with Notifications
423
14.6 SAP Automation Pilot
424
14.6.1 Concepts
424
14.6.2 How SAP Automation Pilot Works
426
14.7 Summary
426
Part IV Intelligent Technologies
429
15 SAP Workflow Management
431
15.1 Overview
431
15.2 Key Capabilities
436
15.2.1 Process Model
436
15.2.2 User Interfaces
438
15.2.3 Configuring Workflow Steps
439
15.2.4 Triggering the Workflow
440
15.2.5 Configuring the Rules
441
15.2.6 Process Visibility
443
15.3 Integrations
447
15.3.1 Integration Specific to Workflow Steps
447
15.3.2 Integrating Intelligent Services
448
15.4 Model Architecture for Workflow on SAP Business Technology Platform
448
15.5 Workflow Package
450
15.6 Workflow Monitoring
451
15.7 Summary
452
16 Business Rules
453
16.1 Introduction to SAP Business Technology Platform Business Rules
453
16.2 Key Concepts and Features
455
16.3 Setting Up Enterprise-Level Business Rules
458
16.4 Summary
461
17 Internet of Things
463
17.1 Architecture
464
17.2 Business Services
468
17.3 SAP Edge Services
473
17.4 Core Application Programming Interfaces
476
17.5 Setting Up SAP Internet of Things Artifacts
478
17.5.1 Device Onboarding
479
17.5.2 Setting Up Digital Twins
482
17.6 Summary
493
18 Understanding Robotic Process Automation
495
18.1 Designing the Process Automation
496
18.1.1 Basics of Robotic Process Automation Design
497
18.1.2 Projects
499
18.1.3 Agents
500
18.1.4 Captures
501
18.1.5 Packages
503
18.1.6 Deployment
504
18.2 Orchestrating Automation Processes
504
18.3 Attended and Scheduled Bots
505
18.4 Imbuing Intelligence in Bots
506
18.5 Integration
507
18.6 Security
508
18.7 Benefits of SAP Intelligent Robotic Process Automation
509
18.8 Summary
510
19 SAP Conversational AI
511
19.1 Introduction to SAP Conversational AI
511
19.2 Key Concepts
513
19.2.1 Natural Language Processing Engine
514
19.2.2 Intents
514
19.2.3 Expressions
515
19.2.4 Entities
516
19.3 Designing a Bot
519
19.3.1 Bot Building Process
519
19.3.2 Bot Connector
523
19.3.3 Bot Monitoring and Analytics
523
19.3.4 SAP Conversational AI Application Programming Interfaces
525
19.3.5 Transporting Bots
525
19.3.6 Roles and Permissions
525
19.4 Enterprise Use Cases
526
19.5 Summary
528
20 SAP Data Intelligence
529
20.1 Introduction to SAP Data Intelligence
529
20.2 Key Features
530
20.3 Applications
533
20.3.1 Metadata and Governance
533
20.3.2 SAP Data Intelligence Modeler and Built-in Operators
534
20.3.3 Python Software Development Kit
537
20.3.4 Machine Learning Tracking
538
20.4 Building a Machine Learning Scenario with Data Intelligence
540
20.5 Summary
543
21 Conclusion and Roadmap
545
21.1 Chapter Summaries
545
21.2 The Intelligent Enterprise
553
21.3 Cloud Platforms
554
21.4 Digital Innovation
557
21.5 SAP BTP Roadmap
561
21.6 Summary
562
The Authors
563
Index
565