Application Development with SAP Business Technology Platform
Develop cloud applications customized for your business needs! Master the basics of SAP Business Technology Platform (SAP BTP) and its development environments; then get step-by-step instructions for developing and operating your own applications. Build your backend with Java, Node.js, or ABAP, and set up your frontend using SAPUI5 and SAP Fiori. With detailed code examples throughout, this book is your complete guide to building cloud applications on SAP BTP!
- Build and deploy cloud applications on SAP BTP using Java, Node.js, and ABAP
- Work with SAP Business Application Studio, SAP Cloud Application Programming Model, cloud services, and more
- Manage, monitor, and secure your applications
You'll learn about:
- Environments, Programming Models, and Tools:
Work with SAP BTP’s development environments, including SAP BTP for Cloud Foundry, ABAP, and Kyma runtime. Use SAP Cloud Application Programming Model to simplify cloud development and set up your main tool: SAP Business Application Studio.
- Application Development:
Develop applications step by step using Java, Node.js, Python, and ABAP in the backend. For the frontend, explore SAPUI5 and SAP Fiori. Then see how the SAP BTP, Kyma runtime brings Kubernetes to SAP landscapes.
- Lifecycle Management:
Secure and monitor applications, set up a continuous delivery and continuous integration pipeline, and implement DevOps best practices.
- Microservices:
Integrate your applications with key SAP BTP services like SAP Workflow Management, SAP Business Rules Service, SAP Intelligent Robotic Process Automation, and SAP Data Intelligence.
Key Highlights:
- Frontend and backend cloud development
- SAP Business Application Studio
- SAP Cloud Application Programming Model
- SAP BTP, Cloud Foundry environment
- SAP BTP, Kyma runtime
- Java
- Node.js
- ABAP
- DevOps
- Application lifecycle management
- Microservices
- SAP Extension Suite
View Full Table of Contents
- Foreword by Garrick Keatts
- Foreword by Jonathan Russell
- Preface
- How to Read This Book
- Acknowledgments
- Part I Getting Started
- 1 SAP Business Technology Platform and the Intelligent Enterprise
- 1.1 The Intelligent Enterprise through the Digital Enterprise
- 1.1.1 What Is Digital Transformation?
- 1.1.2 What Is an Intelligent Enterprise?
- 1.1.3 Components of an SAP-Enabled Intelligent Platform
- 1.2 The Role of the Cloud in Digital Transformation
- 1.2.1 Cloud Variants
- 1.2.2 How the Cloud Supports Digital Transformation
- 1.2.3 Key Considerations for Your Journey to the Cloud
- 1.3 Cloud-Native Applications: The New Paradigm
- 1.3.1 What Are Cloud-Native Applications?
- 1.3.2 Microservice Architectures
- 1.3.3 Container Architectures
- 1.4 Cloud Platforms
- 1.5 Pillars of SAP Business Technology Platform
- 1.5.1 Database and Data Management
- 1.5.2 Analytics
- 1.5.3 Application Development and Integration
- 1.5.4 Intelligent Technologies
- 1.6 Summary
- 2 Development Environments
- 2.1 Introduction
- 2.1.1 SAP Business Technology Platform Architecture
- 2.1.2 Development Environments
- 2.2 SAP BTP, Cloud Foundry Environment
- 2.2.1 Characteristics of Cloud Foundry
- 2.2.2 How SAP Business Technology Platform Has Adopted Cloud Foundry
- 2.2.3 Cloud Foundry Services Offered by SAP Business Technology Platform
- 2.3 SAP BTP, ABAP Environment
- 2.3.1 Multi-Tenancy in SAP BTP, ABAP Environment
- 2.3.2 Key Cloud-Specific Features
- 2.4 SAP BTP, Kyma Runtime
- 2.4.1 Overview
- 2.4.2 Creating Services
- 2.4.3 Creating Functions
- 2.5 SAP Build Environment
- 2.6 Deployment Based on Development Environment
- 2.6.1 Deployment on SAP BTP, Neo Environment
- 2.6.2 Deployment on SAP BTP, Cloud Foundry Environment
- 2.6.3 Deployment on SAP BTP, Kyma Runtime
- 2.6.4 Deployment on SAP BTP, ABAP Environment
- 2.7 Use Cases Based on Development Environment
- 2.7.1 Application Development Use Cases Supported by SAP BTP, Neo Environment
- 2.7.2 Application Development Use Cases Supported by SAP BTP, Cloud Foundry Environment
- 2.7.3 Application Development Use Cases Supported by SAP BTP, ABAP Environment
- 2.7.4 Application Development Use Cases Supported by SAP BTP, Kyma Runtime
- 2.7.5 Application Development Use Cases Supported by SAP Build
- 2.8 Summary
- 3 Microservices
- 3.1 What Is a Microservice?
- 3.2 How Does SAP Business Technology Platform Enable Microservices?
- 3.2.1 Microservice Design Considerations
- 3.2.2 Twelve-Factor App
- 3.3 Finding the Right Microservice
- 3.4 Consuming Microservices
- 3.5 Microservices in SAP BTP, Kyma Runtime
- 3.6 Summary
- 4 SAP Extension Suite
- 4.1 Enhancing Digital Experiences
- 4.2 Improving Digital Process Automation
- 4.3 Increasing Development Efficiency and Productivity
- 4.4 Summary
- Part II Backend and Frontend Cloud Application Development
- 5 Working with SAP Business Application Studio
- 5.1 Capabilities
- 5.2 Setting Up SAP Business Application Studio
- 5.2.1 Types of Dev Spaces
- 5.2.2 Creating Dev Spaces in SAP Business Application Studio
- 5.2.3 Migrating Dev Space Content
- 5.2.4 Workspaces in Dev Spaces
- 5.3 Developing Your First Cloud Application Using SAP Business Application Studio
- 5.3.1 Creating a Project Using the Wizard
- 5.3.2 Creating a Project from the Terminal
- 5.3.3 Creating a Project in a Local Workspace by Cloning a Repository
- 5.3.4 Creating a Project by Importing a Project
- 5.3.5 Creating a Project for Low-Code, Full-Stack Development
- 5.4 Migrating Projects from SAP Web IDE to SAP Business Application Studio
- 5.5 Summary
- 6 SAP Cloud Application Programming Model
- 6.1 Overview of SAP Cloud Application Programming Model
- 6.2 SAP Business Application Studio and Project Setup
- 6.2.1 SAP Business Application Studio Overview
- 6.2.2 Capabilities
- 6.2.3 Setting Up SAP Business Application Studio with SAP BTP
- 6.2.4 Project Setup
- 6.3 Understanding Domain Modeling
- 6.4 Using the Default SQLite Database
- 6.5 Using the SAP HANA Cloud Database
- 6.5.1 Provisioning an SAP HANA Cloud Instance in SAP BTP, Cloud Foundry Environment
- 6.5.2 Adding SAP HANA as the Database for Your SAP Cloud Application Programming Model Application
- 6.5.3 Verifying SAP HANA Data in the Database Explorer
- 6.6 Generating SAP Fiori User Interfaces
- 6.7 Deploying Applications to SAP BTP, Cloud Foundry Environment
- 6.8 Consuming External Services
- 6.9 Additional Topics
- 6.9.1 Localization of SAP Fiori Apps
- 6.9.2 Authentication and Authorization
- 6.9.3 Annotations
- 6.10 Summary
- 7 Developing Node.js Applications
- 7.1 Creating a Project Using SAP Business Application Studio
- 7.2 Connecting to SAP BTP, Cloud Foundry Environment
- 7.3 Installing Node.js Modules
- 7.3.1 Starting the SAP Cloud Application Programming Model Server
- 7.4 Creating Core Data Services Resources for Our Sample Project
- 7.4.1 Creating Files for Domain Models
- 7.4.2 Creating Files for Service Definitions
- 7.4.3 Creating Data Files
- 7.5 Creating SAP HANA Cloud Artifacts
- 7.5.1 Binding Resources to the SAP HANA Deployment Infrastructure Container Service
- 7.5.2 Deploying Artifacts in SAP Business Application Studio
- 7.5.3 Viewing Database Artifacts Using SAP HANA Database Explorer
- 7.6 Deploying Applications to SAP BTP, Cloud Foundry
- 7.7 Summary
- 8 Developing Java Applications
- 8.1 Creating a Project from a Template
- 8.2 Creating a Java Application
- 8.3 Creating a Service Instance and Binding It to an Application
- 8.3.1 Creating an SAP HANA Deployment Infrastructure Container Service Instance
- 8.3.2 Deploying Artifacts in a Backend Database in SAP Business Application Studio
- 8.3.3 Viewing Database Artifacts Using the SAP HANA Database Explorer
- 8.4 Creating Core Data Services Domain Models and Services Based on SAP HANA Artifacts
- 8.4.1 Creating a Calculation View
- 8.4.2 Creating a Domain Model Based on a Calculation View
- 8.4.3 Creating a Service Definition
- 8.5 Deploying Applications to SAP BTP, Cloud Foundry
- 8.6 Summary
- 9 Developing ABAP Applications
- 9.1 SAP BTP, ABAP Environment, Architecture and Overview
- 9.2 Provisioning an SAP BTP, ABAP Environment, Trial
- 9.3 ABAP Development Tools for Eclipse
- 9.4 ABAP RESTful Application Programming Model
- 9.4.1 Data Modeling and Behavior
- 9.4.2 Business Service Provisioning
- 9.4.3 Service Consumption
- 9.5 Developing a List Report App
- 9.5.1 Business Requirements
- 9.5.2 Creating an ABAP Package and Database Table
- 9.5.3 Building an ABAP RESTful Application Programming Model Application
- 9.6 Managed versus Unmanaged Transactional Apps
- 9.7 Developing a Managed App
- 9.8 Adding Draft Capabilities to Managed Apps
- 9.9 Developing an Unmanaged App
- 9.10 Developing a Web API
- 9.11 Transport Management
- 9.12 Summary
- 10 Developing Applications in SAP Business Technology Platform, Kyma Runtime
- 10.1 SAP BTP, Kyma Runtime
- 10.2 Use Cases
- 10.3 Building with Kyma
- 10.3.1 Prerequisite Configuration
- 10.3.2 Configuring SAP BTP, Kyma Runtime, and Service Deployment
- 10.3.3 Creating Pairing and Application Programming Interface Rules
- 10.4 Summary
- 11 Developing SAP Fiori Applications
- 11.1 Overview and Architecture
- 11.2 SAP Fiori Tools in SAP Business Application Studio
- 11.3 Freestyle SAP Fiori versus SAP Fiori Elements
- 11.4 Developing Complex Freestyle SAP Fiori Applications
- 11.4.1 Developing List Detail Applications
- 11.4.2 Basic Files in SAPUI5 Applications
- 11.5 Developing Complex SAP Fiori Elements Applications
- 11.5.1 Determining Floorplans
- 11.5.2 Determining Data Sources and Other Details
- 11.5.3 Guided Development
- 11.6 Deploying an Application
- 11.7 Extending Freestyle Applications
- 11.8 Extending SAP Fiori Elements Applications
- 11.9 SAP Launchpad Service on SAP BTP
- 11.10 Summary
- Part III Operating Applications
- 12 DevOps Implementation
- 12.1 DevOps Fundamentals
- 12.1.1 Core Tenets of DevOps
- 12.1.2 DevOps Inner Circles
- 12.1.3 Continuous Integration/Continuous Delivery
- 12.2 Implementing Tooling for DevOps
- 12.2.1 Continuous Everything
- 12.2.2 Requirements Management
- 12.2.3 Collaborative Development Tools
- 12.2.4 Deployment Options in the Cloud
- 12.2.5 Quality Assurance
- 12.2.6 Monitoring and Feedback
- 12.2.7 Continuous Delivery Options in SAP BTP
- 12.3 Best Practices for DevOps in SAP
- 12.4 DevOps Tooling Integration for SAP and Hybrid Landscapes
- 12.5 Summary
- 13 Security
- 13.1 SAP BTP Authentication Options
- 13.1.1 Identity Authentication
- 13.1.2 Solution Overview for User Authentication via the SAP BTP User Store
- 13.1.3 Solution Overview for User Authentication using a Corporate User Store
- 13.1.4 Solution Overview for User Authentication Using Your Own Identity Provider
- 13.2 SAP BTP Single Sign-On
- 13.2.1 Application-to-Application Single Sign-On
- 13.2.2 SAP Assertion SSO
- 13.2.3 Principal Propagation
- 13.3 Access Management on SAP BTP
- 13.3.1 Key Concepts in User Authentication in SAP BTP
- 13.3.2 User Account and Authentication Service
- 13.3.3 Web Access
- 13.4 Authorizations for Applications on SAP BTP, Cloud Foundry Environment
- 13.4.1 Access Control
- 13.4.2 Security Artifacts for Authorizations
- 13.4.3 Authorization Enforcement
- 13.4.4 Scopes, Role Templates, and Attributes
- 13.5 Web Security for Applications in SAP BTP
- 13.5.1 Protection against Cross-Origin Resource Sharing
- 13.5.2 Protecting against Cross-Site Request Forgery
- 13.5.3 Protecting against Click-Jacking Attempts
- 13.5.4 Protecting against Cross-Site Scripting
- 13.5.5 Setting Up Timeouts for Application User Sessions
- 13.5.6 Securing Node.js Applications
- 13.5.7 Securing Your Java Applications
- 13.6 Summary
- 14 Application Monitoring
- 14.1 Monitoring Java Applications
- 14.2 Monitoring Database Systems
- 14.3 Monitoring Cloud Foundry Applications
- 14.3.1 Activating Application Log
- 14.3.2 Visualizing Application Log
- 14.4 Monitoring Application Programming Interfaces
- 14.4.1 Representational State Transfer Application Programming Interfaces for Java Applications in Neo
- 14.4.2 Representational State Transfer Application Programming Interfaces for Database Systems and SAP HANA Extended Application Services
- 14.5 Monitoring Applications with Notifications
- 14.6 SAP Automation Pilot
- 14.6.1 Concepts
- 14.6.2 How SAP Automation Pilot Works
- 14.7 Summary
- Part IV Intelligent Technologies
- 15 SAP Workflow Management
- 15.1 Overview
- 15.2 Key Capabilities
- 15.2.1 Process Model
- 15.2.2 User Interfaces
- 15.2.3 Configuring Workflow Steps
- 15.2.4 Triggering the Workflow
- 15.2.5 Configuring the Rules
- 15.2.6 Process Visibility
- 15.3 Integrations
- 15.3.1 Integration Specific to Workflow Steps
- 15.3.2 Integrating Intelligent Services
- 15.4 Model Architecture for Workflow on SAP Business Technology Platform
- 15.5 Workflow Package
- 15.6 Workflow Monitoring
- 15.7 Summary
- 16 Business Rules
- 16.1 Introduction to SAP Business Technology Platform Business Rules
- 16.2 Key Concepts and Features
- 16.3 Setting Up Enterprise-Level Business Rules
- 16.4 Summary
- 17 Internet of Things
- 17.1 Architecture
- 17.2 Business Services
- 17.3 SAP Edge Services
- 17.4 Core Application Programming Interfaces
- 17.5 Setting Up SAP Internet of Things Artifacts
- 17.5.1 Device Onboarding
- 17.5.2 Setting Up Digital Twins
- 17.6 Summary
- 18 Understanding Robotic Process Automation
- 18.1 Designing the Process Automation
- 18.1.1 Basics of Robotic Process Automation Design
- 18.1.2 Projects
- 18.1.3 Agents
- 18.1.4 Captures
- 18.1.5 Packages
- 18.1.6 Deployment
- 18.2 Orchestrating Automation Processes
- 18.3 Attended and Scheduled Bots
- 18.4 Imbuing Intelligence in Bots
- 18.5 Integration
- 18.6 Security
- 18.7 Benefits of SAP Intelligent Robotic Process Automation
- 18.8 Summary
- 19 SAP Conversational AI
- 19.1 Introduction to SAP Conversational AI
- 19.2 Key Concepts
- 19.2.1 Natural Language Processing Engine
- 19.2.2 Intents
- 19.2.3 Expressions
- 19.2.4 Entities
- 19.3 Designing a Bot
- 19.3.1 Bot Building Process
- 19.3.2 Bot Connector
- 19.3.3 Bot Monitoring and Analytics
- 19.3.4 SAP Conversational AI Application Programming Interfaces
- 19.3.5 Transporting Bots
- 19.3.6 Roles and Permissions
- 19.4 Enterprise Use Cases
- 19.5 Summary
- 20 SAP Data Intelligence
- 20.1 Introduction to SAP Data Intelligence
- 20.2 Key Features
- 20.3 Applications
- 20.3.1 Metadata and Governance
- 20.3.2 SAP Data Intelligence Modeler and Built-in Operators
- 20.3.3 Python Software Development Kit
- 20.3.4 Machine Learning Tracking
- 20.4 Building a Machine Learning Scenario with Data Intelligence
- 20.5 Summary
- 21 Conclusion and Roadmap
- 21.1 Chapter Summaries
- 21.2 The Intelligent Enterprise
- 21.3 Cloud Platforms
- 21.4 Digital Innovation
- 21.5 SAP BTP Roadmap
- 21.6 Summary
- The Authors
- Index