SAP Business Technology Platform Contents SAP Business Technology Platform ........................................................................................................ 1 Introduction to SAP BTP: .................................................................................................................... 2 Benefits: .............................................................................................................................................. 2 Use Cases: ........................................................................................................................................... 2 Environments...................................................................................................................................... 3 1. Cloud Foundry ........................................................................................................................ 3 2. Kyma ....................................................................................................................................... 3 3. ABAP Environment ................................................................................................................. 3 Key Pillars............................................................................................................................................ 4 1. Database & Data Management.............................................................................................. 4 2. Analytics ................................................................................................................................. 4 3. Application Development & Integration ............................................................................... 4 4. Intelligent Technologies ......................................................................................................... 4 Development Tools ............................................................................................................................. 6 1. Business Application Studio ................................................................................................... 6 2. ABAP Development Tools ....................................................................................................... 6 3. SAP BTP Cockpit ...................................................................................................................... 6 Development Frameworks ................................................................................................................. 7 1. SAP UI Development Toolkit for HTML5 (SAPUI5): ............................................................... 7 2. Java and Spring: ...................................................................................................................... 7 3. SAP Cloud Application Programming Model (CAP): .............................................................. 7 4. SAP Fiori User Experience (UX): ............................................................................................. 7 5. SAP's Mobile Development Tools: ......................................................................................... 8 6. ABAP RESTful Application Programming Model (RAP): ........................................................ 8 References ............................................................................................................................................ 21 1 Introduction to SAP BTP: SAP Business Technology Platform (SAP BTP) is SAP's integrated platform offering that provides database and data management, analytics, application development, and intelligent technologies in a single environment. It enables businesses to turn their data into actionable insights and empowers developers, IT professionals, and business users to work collaboratively. Benefits: By using SAP BTP, businesses can: Achieve faster time to market with cloud-native services and development tools. Seamlessly integrate both SAP and non-SAP systems. Gain actionable insights from analytics and data intelligence services. Leverage intelligent technologies to automate and optimize business processes. Build and extend applications tailored to unique business needs. Use Cases: For instance, a retail company could use SAP BTP to integrate its online e-commerce system with its physical store inventory system, ensuring real-time data consistency. Simultaneously, AI-powered analytics could forecast demand, helping the retailer optimize inventory levels. 2 Environments - Cloud Foundry, Kyma and ABAP Environment. 1. Cloud Foundry Type: Platform as a Service (PaaS) Description: Cloud Foundry is an open-source, multi-cloud application platform as a service (PaaS) governed by the Cloud Foundry Foundation. It allows developers to deploy, run, and scale applications without worrying about the underlying infrastructure. Cloud Foundry supports multiple languages and services and provides a framework and cloud choice to developers through a consistent platform. It abstracts infrastructure management to streamline and expedite the development and deployment of applications. 2. Kyma Type: Application Platform Description: Kyma is an open-source project designed to simplify the extension and integration of custom applications with cloud-native and third-party services. It's based on Kubernetes and provides features such as serverless computing, eventing, and API gateway. Kyma's main goal is to provide an easy way to connect and extend enterprise applications in a cloudnative world, allowing developers to leverage best-of-breed cloud services and features in their applications. 3. ABAP Environment Type: Programming Language Description: ABAP is a high-level programming language developed by SAP for building business applications in the SAP ecosystem. It is used for developing applications for the SAP application server 3 Key Pillars – Database & Data Management, Analytics, Application Development & Integration, Intelligent Technologies 1. Database & Data Management Storing, Accessing, Processing, Integrating and interpreting all relevant data. Main Service – SAP HANA Cloud – Provides a powerful and flexible data management by using a cloud database. Other Services – SAP Datasphere, SAP Data Intelligence, SAP Data Services, SAP Master Data Governance etc. 2. Analytics Planning, Forecasting, allows for making rapid insight-driven Decisions. Main Service – SAP Analytics Cloud – used to gather data from operations systems, data warehouses and data lakes. It is then combined with external market data or third- party spreadsheets using machine learning technologies. Helps to automatically spot problems and create intelligent scenario planning options. 3. Application Development & Integration Everything we need to build a cloud solution, integrate SAP and non-SAP systems and solutions, extend existing SAP Solutions. Services – SAP Business Application Studio, SAP Build, SAP Integration suite etc. 4. Intelligent Technologies Helps easily incorporate AI, machine learning, intelligent robotic process automation, blockchain, Internet of Things etc. to our BTP solution. 4 Example use of services Key Pillars 5 Development Tools 1. Business Application Studio Type: Integrated Development Environment (IDE) Description: Business Application Studio is SAP's cloud-based integrated development environment, which is tailored for SAP application development. It is considered the next generation of the SAP Web IDE. BAS supports the development of applications, database models, and multi-target applications for SAP Business Technology Platform (BTP). It provides a desktop-like experience in the browser, enabling developers to build, test, and deploy SAP apps more efficiently. 2. ABAP Development Tools Type: IDE for ABAP Description: ABAP Development Tools, often referred to as "ABAP in Eclipse," is an Eclipsebased IDE that supports the development of ABAP applications for SAP systems. It's a modern alternative to the traditional SAP GUI-based ABAP Workbench, offering a more userfriendly and productive development environment. Features include source code editors, debugging tools, and integrated performance analysis tools. 3. SAP BTP Cockpit Type: Management Console Description: SAP BTP (Business Technology Platform) Cockpit is a web-based management console for the SAP Business Technology Platform. It provides an intuitive interface for administrators and developers to manage and monitor applications, services, and resources in the platform. Users can perform a variety of tasks like deploying applications, managing subscriptions, configuring destinations, and overseeing quotas and usage. 6 Development Frameworks 1. SAP UI Development Toolkit for HTML5 (SAPUI5): Description: SAPUI5 is a user interface technology that allows developers to create enterprise-ready web applications that are responsive across browsers and devices. It offers a rich set of controls, a model-view-controller (MVC) design, and integrates seamlessly with SAP systems. SAPUI5 forms the foundation of SAP's Fiori user experience (UX). 2. Java and Spring: Description: Java is a widely-used, object-oriented programming language. Spring, on the other hand, is a comprehensive framework for building Javabased enterprise applications. Spring simplifies the infrastructure of Java development, providing tools for dependency injection, data access, messaging, and more. Together, they offer robust capabilities for application development, from simple web apps to complex enterprise systems. 3. SAP Cloud Application Programming Model (CAP): Description: CAP is a framework by SAP designed to improve and simplify the development of enterprise services and applications on the SAP Business Technology Platform (BTP). It offers patterns, libraries, and best practices for building services, integrating data models, and constructing user interfaces. 4. SAP Fiori User Experience (UX): Description: SAP Fiori is a user experience (UX) approach designed by SAP to create highly intuitive, responsive, and easy-to-use applications. It offers a set of design principles and guidelines to ensure consistency across applications. SAP Fiori applications are typically built using SAPUI5 and are known for their simple and user-friendly interfaces. 7 5. SAP's Mobile Development Tools: Description: SAP offers a suite of tools for mobile application development, allowing enterprises to design, build, and deploy mobile applications that integrate with SAP systems. These tools support native, hybrid, and web app development and provide functionalities like offline access, device management, and backend connectivity. 6. ABAP RESTful Application Programming Model (RAP): Description: RAP is a programming model introduced by SAP for building SAP Fiori applications using ABAP. It allows developers to define and consume business services in an ABAP environment with RESTful characteristics. With RAP, developers can build modern web-based applications using their existing ABAP skills, combining frontend (UI) and backend (business logic and data) development in the ABAP platform. 8 Application Development and Automation: Application development and automation using SAP Business Technology Platform (SAP BTP) involves leveraging SAP's cloud-based platform and services to build, deploy, and automate business applications. SAP BTP provides a comprehensive set of tools and services that facilitate both traditional application development and automation. Automation Overview: When you want to automate your business process to make them more agile or reduce manual tasks, the automation capabilities of the SAP BTP can help you. The automation capabilities of SAP BTP enable you to build with simplicity, automate quickly, and improve agility with visual drag-anddrop tools and prebuilt, industry-specific content. Automation in Scope of SAP BTP Roles of Application Development and Automation: SAP Business Technology Platform, different roles can be defined based on the level of technical expertise, with a focus on Professional Developers, Citizen Developers, and Administrators who use low-code/no-code approaches. 9 Professional Developer: Role: Professional Developers are highly skilled technical experts responsible for complex application development and automation tasks on SAP BTP. They have in-depth knowledge of programming languages, SAP technologies, and best practices. Responsibilities: Design and develop custom applications using SAP BTP services and APIs. Write code in languages like Java, Node.js, or Python to implement complex business logic. Create custom integrations with other SAP systems or third-party applications. Optimize performance, security, and scalability of applications. Debug and troubleshoot issues in the code. Collaborate with other IT professionals and stakeholders to gather requirements and deliver solutions. Citizen Developer: Role: Citizen Developers are non-technical or less technical individuals empowered by low-code/no-code platforms to create simple to moderately complex applications and automation solutions. Responsibilities: Use low-code/no-code tools provided by SAP BTP to build applications and workflows. Create business applications with minimal or no coding, focusing on visual development. Customize and configure pre-built templates and components to meet specific business needs. Collaborate with Professional Developers for more complex tasks or integrations. Provide insights into business processes to design user-friendly solutions. Administrator with Low-Code/No-Code: Role: Administrators with low-code/no-code skills are responsible for managing and maintaining the SAP BTP environment, including user access, security, and governance aspects. Responsibilities: Configure and maintain low-code/no-code development environments within SAP BTP. Manage user roles and permissions for Citizen Developers and other users. Ensure compliance with security policies and best practices. Oversee the governance of citizen-developed solutions, including quality assurance and compliance checks. Collaborate with IT and security teams to address any security or compliance concerns. Monitor and optimize the performance of low-code/no-code applications. These roles complement each other within the SAP BTP ecosystem: Professional Developers handle the most complex and critical development tasks, such as building custom applications and integrations that require deep technical expertise. Citizen Developers empower business users to contribute by creating applications that automate routine tasks and streamline processes without the need for extensive coding. Administrators with Low-Code/No-Code skills manage the overall environment, ensuring that both Professional Developers and Citizen Developers can work efficiently while maintaining security and governance standards. 10 Analyzing Low-Code/No-Code with SAP Build Low Code/No Code (LC/NC): Low-code/no-code development is a transformative solution that bridges the gap in technical expertise, enabling individuals without coding skills to innovate and address business needs effectively. No-code is great help for those with no programming knowledge, simplifying automation and application development. Low-code, while more advanced, empowers process experts and professional developers to build complex solutions efficiently, allowing them to focus on high-level concepts. Together, these approaches promote a culture of innovation, reduce human errors, and enhance customer experiences in today's evolving tech landscape. SAP Build Capabilities: With SAP Build, you can Build apps, automate prosses and create unified experiences with drag and drop simplicity. You can Build Visually, integrate seamlessly, and collaborate effectively. 11 Build Visually: Intuitive Interface: The visual development approach of SAP Build allows users to design and prototype applications by dragging and dropping elements onto the canvas. This visual representation simplifies the understanding of the app's structure and flow. Integrate Seamlessly: Connectivity with APIs: SAP Build facilitates easy integration with SAP applications, both on-premise and in the cloud. It also supports integration with third-party applications, providing a comprehensive solution for building connected and integrated systems. Collaborate Effectively: Real-Time Collaboration: The platform supports real-time collaboration, enabling team members, including citizen developers and IT professionals, to work together seamlessly. Users can provide feedback, make changes collaboratively, and ensure that the development process is efficient and collaborative. SAP Build Components: SAP Build consists of three components to create no-code based projects: SAP Build Apps: SAP Build Apps offer development experience for creating applications to SAP solutions. Using drag-and-drop functionality, users can build UIs using an updated component library without requiring coding expertise. Visual flow functions enable logic creation, while 12 individual style properties and advanced theming enhance customization. The apps are designed for web, iOS, Android, and native runtimes with optimized user experiences. SAP Build Process Automation: SAP Build Process Automation allows organizations to streamline workflows and processes through visual tools. Citizen developers can easily create, adapt, and enhance business processes with minimal IT assistance. The platform offers a user-friendly experience with features like a process builder and forms builder, utilizing drag-and-drop functionality. Advanced capabilities, including business rules, process visibility, flexibility, and AI, are integrated. SAP Build Process Automation provides a unified solution with a consistent user interface for both workflow and process automation functionalities. SAP Build Work Zone: SAP Build Work Zone acts as a centralized platform, offering users a unified entry point for accessing business applications, processes, and information from any device. It simplifies the creation of digital workplace solutions through drag-and-drop functionality, fostering increased user productivity and engagement. The platform provides a unified, intelligent, and personalized work experience, integrating SAP applications, on-premise and cloud services, third-party applications like SharePoint Online and Microsoft Teams, as well as personalized applications and processes created with SAP Build Apps or SAP Build Process Automation. Unified Development Experience Supporting the Developer: A citizen developer can start their projects and build apps and extensions through the SAP Business Application Studio or SAP Build. SAP Build is for composing mobile applications, creating automations or designing business sites without any line of code in a visual editor. SAP Business Application Studio offers a range of UI-based tools for developers to enhance their software development experience with low-code or no-code capabilities. 13 Continuous Integration, Delivery and Deployment: Continuous Concepts: The CI/CD Pipeline: Continuous Integration (CI): Continuous Integration is a development practice where code changes from multiple contributors are automatically integrated into a shared repository several times a day. Process: Developers regularly commit their code changes to a version control system (e.g., Git). Automated build and testing processes are triggered for each commit. The goal is to identify integration issues early in the development cycle. Continuous Delivery (CD): Continuous Delivery extends Continuous Integration by automating the release process, making it possible to deploy the software to production or staging environments at any time. Process: Code changes that have passed automated tests in the CI phase are automatically deployed to a staging environment. The software in the staging environment is ready for deployment to production but requires manual approval. Continuous Delivery ensures that the software is always in a deployable state. Continuous Deployment (CD): 14 Continuous Deployment takes the concept of Continuous Delivery a step further by automatically deploying code changes to production without manual intervention. Process: Code changes that have passed automated tests in the CI phase are automatically deployed to production without human intervention. Continuous Deployment reduces the time between writing code and making it avaible to end-users. Organizations using Continuous Deployment often have a high level of confidence in their automated testing and deployment processes. The CI/CD Process The CI/CD Pipeline: Continuous Integration (CI) is the adoption of agile principles while Continuous Delivery/Deployment (CD) is a combination of agile methodology techniques and a highquality delivery process. The goal is to validate each change (commit), preferably in an automated way, so that it can be delivered in a reliable manner. 15 Creating your Free Trial Account in SAP BTP Steps 1. In case you don't have it already, register your own SAP Universal ID Account at https://account.sap.com 2. Access the SAP BTP Trial at https://account.hanatrial.ondemand.com, then finalize your SAP BTP Trial account creation. 3. Log on to the SAP BTP, and retrieve your Cloud Foundry API Endpoint and Space name. a. In Google Chrome, open the URL https://account.hanatrial.ondemand.com. If required, enter your e-mail and password. b. In the SAP BTP Cockpit, choose Enter Your Trial account. Navigate to your trial Subaccount. c. In the Subaccount: trial overview page, in the Cloud Foundry Environment tab, retrieve the API Endpoint (for example https://api.cf.eu10.hana.ondemand.com) and note it for future use. d. Note the name of existing spaces. By default, one space exists with name dev. SAP Build Apps: 1.In the BTP Cockpit You choose the SAP Build Apps. Go to your SAP BTP Cockpit – Select Boosters and See SAP Build Apps. 2.Then Click start. 16 3.Once the three green boxes show “Done”, that means the test has been completed successfully. Click on “Next” at the bottom of the page to proceed forward. 4.Select the Subaccount and User who is provisioning should have role of Subaccount Administrator. 5.In the last step you can review the summary of your setup. Once you confirm all information is accurate, click on “Finish”. To get the service up and ready for you, the booster will then start the deployment process which can take some minutes. 17 6.Once the process is complete, the following window will pop up. Press on “Navigate to Subaccount”. 7.Then the subaccount on the left-hand side of the menu click on “Instances and Subscriptions”. You get now an overview of the activated services, and you can Select SAP Apps by clicking on that. 8.This will take you to the solution’s main lobby where you can build an enterprise application without any coding prior experience Create SAP Build Apps project: 1.Open the sanbox Lobby 2.Within SAP Build Lobby click Create(Anlagen) 18 3.Click Build an Application(Erstellen Anwendung). 3.Click Web & Mobile Application (Webanwendung und mobile Anwendung). 4.Enter for the project name, and an optional description, then click Create. 19 5.Your SAP Build Apps project is created, with the Composer Pro view displayed. Once created, projects can be accessed again at any time from the SAP Build lobby. 20 References Explaining SAP Business Technology Platform (SAP BTP) to a Beginner Learning Path for SAPBTP – Customized for Developer, Architect, Consultant and Administrator SAP BTP Strategy Paper Discovering SAP Business Technology Platform - Learning Journey ChatGPT - GPT-4 21