diff --git a/docs/abap-cloud-9aaaf65.md b/docs/abap-cloud-9aaaf65.md deleted file mode 100644 index 33c6a9f..0000000 --- a/docs/abap-cloud-9aaaf65.md +++ /dev/null @@ -1,4 +0,0 @@ - - -# ABAP Cloud - diff --git a/docs/abap-cloud-roadmap-48150e1.md b/docs/abap-cloud-roadmap-48150e1.md deleted file mode 100644 index b54f109..0000000 --- a/docs/abap-cloud-roadmap-48150e1.md +++ /dev/null @@ -1,4 +0,0 @@ - - -# ABAP Cloud Roadmap - diff --git a/docs/abap-end-to-end-development-process-f3641a5.md b/docs/abap-end-to-end-development-process-f3641a5.md deleted file mode 100644 index 8d401db..0000000 --- a/docs/abap-end-to-end-development-process-f3641a5.md +++ /dev/null @@ -1,4 +0,0 @@ - - -# ABAP: End-to-End Development Process - diff --git a/docs/add-user-interface-9f1d42e.md b/docs/add-user-interface-9f1d42e.md deleted file mode 100644 index deaa7b2..0000000 --- a/docs/add-user-interface-9f1d42e.md +++ /dev/null @@ -1,98 +0,0 @@ - - -# Add User Interface - -SAPUI5 has guidelines for a wide range of developers and SAP Fiori is a set of design and guideline choices using SAPUI5. - -If it is a new standard project, use SAPUI5 or SAP Fiori as it has the complete set of controls and provides the best support. - -If a project is using HTML or an External framework for example it is a UI that has been part of a company that was acquired, use a micro frontend framework like Luigi to integrate with other pages, Launchpad, and others, and slowly migrate to SAPUI5. To ease the migration or if the UI will not be further developed, then SAPUI5 Provides CSS Libraries, reusable web components and guidance for a few frameworks to match the visual style and guidelines. - - - - - -## Recommendations When Using SAPUI5 - -When usign SAPUI5, consider the following recommendations: - -- [When to Use SAPUI5 and OpenUI5](https://sdk.openui5.org/topic/5982a9734748474aa8d4af9c3d8f31c0) - -- [Reusing UI Parts: Fragments](https://sdk.openui5.org/topic/36a5b130076e4b4aac2c27eebf324909) - -- [Folder Structure of Your UI Project: Where to Put Your Files](https://sdk.openui5.org/topic/003f755d46d34dd1bbce9ffe08c8d46a) - -- [Modules for Reusing JavaScript Code](https://sdk.openui5.org/topic/91f23a736f4d1014b6dd926db0e91070) - -- [Development Model: Model View Controller](https://sdk.openui5.org/topic/91f233476f4d1014b6dd926db0e91070) - -- [Communicating Between Model and View: Data Binding](https://sdk.openui5.org/topic/68b9644a253741e8a4b9e4279a35c247) - -- [Providing Error, Warning, and Info Messages](https://sdk.openui5.org/topic/62b1481d3e084cb49dd30956d183c6a0) - -- [Routing and Navigation](https://sdk.openui5.org/topic/3d18f20bd2294228acb6910d8e8a5fb5) - -- [Optimizing Applications](https://sdk.openui5.org/topic/2f492c438a16427e8f84d8436ea9cf77), [Speeding Up Applications](https://sdk.openui5.org/topic/408b40efed3c416681e1bd8cdd8910d4), and [Avoiding Common Performance Issues](https://sdk.openui5.org/topic/966d67c8cc5046419d1b35556cd9e447) - -- [Testing UI Applications](https://sdk.openui5.org/topic/7cdee404cac441888539ed7bfe076e57) - -- [Accessibility Features](https://sdk.openui5.org/topic/322f55d0cf1e4b459cc1911c899b7a5f), [Stable IDs](https://sdk.openui5.org/topic/f51dbb78e7d5448e838cdc04bdf65403), and [Accessibility Aspects for Application Development](https://sdk.openui5.org/topic/03b914b46e624b138a6fb1b7cf2049ae) - -- [Theming](https://sdk.openui5.org/topic/497c27a8ee26426faacd2b8a1751794a) - -- Avoing [Coding Issues](https://sdk.openui5.org/topic/387787232c214b42954f18c93a28560a) and [Security Issues](https://sdk.openui5.org/topic/91f3d8706f4d1014b6dd926db0e91070) - - - - - - -## Issues When Not Using SAPUI5 - -These are the issues that you have to consider if you are not using SAPUI5: - -- Custom controls break consistency. - -- Extensibility is defined for SAPUI5 and would be different for other frameworks and may require knowledge of these frameworks. - -- Support and stable releases for a longer duration are provided by SAPUI5 compared to the other frameworks. - -- SAPUI5 ensures a product standard support on application level. The Web Components and Component Toolkits for the different Web UI Frameworks ensure a product standard compliance on UI element level. - -- For LC/NC support, only SAPUI5 is supported. - - - - - - -## SAP Fiori Guidelines - -Use the following guidelines when designing and implementing your UI appication: - -- [Which UI Technology Supports Your Platform](https://experience.sap.com/fiori-design-web/sap-fiori/) - -- [SAP Fiori Design Principles](https://experience.sap.com/fiori-design-web/design-principles/), [Guidelines for Designing Cross-Platform User Interfaces](https://experience.sap.com/fiori-design-web/responsiveness-adaptiveness/), and [Guidelines for Different Platforms](https://experience.sap.com/fiori-design/) - -- [Accessibility Guidelines](https://experience.sap.com/fiori-design-web/accessibility-in-sap-fiori/) - -- [Develop SAP Fiori Applications with SAP Fiori Tools](https://help.sap.com/docs/SAP_FIORI_tools/17d50220bcd848aa854c9c182d65b699/f09752ebcf63473e9194ea29ca232e56.html) - - - - - - -## Reference Information - -For more information, use the following resources: - -- [SAPUI5 Demokit](https://sapui5.hana.ondemand.com/sdk/#/topic) - -- [SAP BTP UI Technology Guideline](https://sap.sharepoint.com/teams/UIGuideline/Shared%20Documents/Forms/AllItems.aspx?id=%2Fteams%2FUIGuideline%2FShared%20Documents%2FGeneral%2FUITechnologyGuideline%2Epdf&parent=%2Fteams%2FUIGuideline%2FShared%20Documents%2FGeneral) - -- [SAP Fiori tools](https://help.sap.com/docs/SAP_FIORI_tools) - -- [SAP Fiori for Web](https://experience.sap.com/fiori-design-web/) - - diff --git a/docs/analytical-application-b845c85.md b/docs/analytical-application-b845c85.md deleted file mode 100644 index 0c0fa27..0000000 --- a/docs/analytical-application-b845c85.md +++ /dev/null @@ -1,4 +0,0 @@ - - -# Analytical Application - diff --git a/docs/automated-sap-btp-instrastructure-setup-6dd97e1.md b/docs/automated-sap-btp-instrastructure-setup-6dd97e1.md deleted file mode 100644 index 104d0b0..0000000 --- a/docs/automated-sap-btp-instrastructure-setup-6dd97e1.md +++ /dev/null @@ -1,10 +0,0 @@ - - -# Automated SAP BTP Instrastructure Setup - -Terraform is the de-facto industry standard for infrastructure as code with more than 3000 providers. With the Terraform provider for SAP BTP, you can now use this standard to create Terraform scripts that set up your SAP BTP landscapes. Given the nature of Terraform, it is even possible to add non-SAP infrastructure to those scripts if the infrastructure provider offers a Terraform provider as well. - -The Terraform provider for SAP BTP enables you to automate the provisioning, management, and configuration of resources on SAP BTP. By leveraging this provider, you can simplify and streamline the deployment and maintenance of SAP BTP services and applications. See [Terraform Provider for SAP BTP](https://registry.terraform.io/providers/SAP/btp/latest/docs). - -Currently, the Terraform provider for SAP BTP is available for non-productive use and SAP is working with several customers on shaping the first release for productive use. You can check out some of the Terraform scripts in a samples repository in the [GitHub repository for the Terraform Provider for SAP BTP](https://github.com/SAP-samples/btp-terraform-samples). - diff --git a/docs/basic-platform-setup-3b774f8.md b/docs/basic-platform-setup-3b774f8.md deleted file mode 100644 index a362e38..0000000 --- a/docs/basic-platform-setup-3b774f8.md +++ /dev/null @@ -1,36 +0,0 @@ - - -# Basic Platform Setup - -Before you begin developing your applications, make sure your organizational and landscape setup is appropriate for managing their lifecycles. - - - - - -## Create a Governance Model - -One of the first and most important steps of your journey to the cloud is to establish an appropriate organizational setup and corresponding governance model. A clear and well-thought-out organizational setup makes it easier for your employees to adopt agile processes. See [Creating a Governance Model](https://help.sap.com/docs/btp/best-practices/creating-governance-model?version=Cloud) in the Best Practices for SAP BTP guide. - - - - - -## Set Up Your Account Model - -The hierarchical structure between global accounts, directories, and subaccounts lets you define an account model that accurately fits your business and development needs. See [Setting Up Your Account Model](https://help.sap.com/docs/btp/best-practices/setting-up-your-account-model?version=Cloud) in the Best Practices for SAP BTP guide. - - - - - -## Manage Users and Members - -User accounts enable users to log on to SAP BTP and access subaccounts and use services according to the permissions given to them. In this context, it's important to understand the difference between the two types of users that we refer to: platform users and business users. - -Platform users are usually developers, administrators or operators who deploy, administer, and troubleshoot applications and services on SAP BTP. - -Business users use the applications that are deployed in SAP BTP. For example, the end users of SaaS applications or services. - -See [User and Member Management](https://help.sap.com/docs/btp/sap-business-technology-platform/user-and-member-management?version=Cloud) in the SAP Business Technology Platform documentation. - diff --git a/docs/continuous-integration-and-continuous-delivery-d973132.md b/docs/continuous-integration-and-continuous-delivery-d973132.md deleted file mode 100644 index 60e3336..0000000 --- a/docs/continuous-integration-and-continuous-delivery-d973132.md +++ /dev/null @@ -1,13 +0,0 @@ - - -# Continuous Integration and Continuous Delivery - -You can get basic knowledge for setting up and implementing continuous integration and delivery processes together with an overview of the concepts and principles of continuous integration and delivery, so you can plan your own continuous integration and delivery process. See: - -- [Basic Concepts and Principles](https://help.sap.com/docs/CICD_OVERVIEW/ee5a61247061455ab232c19179fe4c3b/af68ca6dddda47dd82782c68fd390f35.html?version=Cloud) - -- [Continuous Integration and Continuous Delivery Processes](https://help.sap.com/docs/CICD_OVERVIEW/ee5a61247061455ab232c19179fe4c3b/6129d7967f124436a9c71e29d9a05e53.html?version=Cloud) - - -You can also learn about the different solutions that SAP offers at the moment that will help you apply continuous integration and delivery in your software development. See [SAP Solutions for Continuous Integration and Delivery](https://help.sap.com/docs/CICD_OVERVIEW/8cacec64ed854b2a88e9a0973e0f97a2/e9fa320181124fa9808d4446a1bf69dd.html?version=Cloud). - diff --git a/docs/deploy-45d5acf.md b/docs/deploy-45d5acf.md deleted file mode 100644 index 21de403..0000000 --- a/docs/deploy-45d5acf.md +++ /dev/null @@ -1,43 +0,0 @@ - - -# Deploy - -SAP Application Programming Model \(CAP\) applications can be deployed in the SAP BTP, Cloud Foundry runtime or in the SAP BTP, Kyma runtime. Both runtimes can be used to host and run your custom code, while at the same time being connected to SAP BTP Multi-Cloud Services and your on-premise systems. Depending on your use case and the skill set of your developers, choose the runtime that fits your needs. See [Comparison: SAP BTP, Kyma Runtime and SAP BTP, Cloud Foundry Runtime](https://help.sap.com/docs/btp/comparison-kyma-runtime-and-cloud-foundry-runtime/runtime-comparison?version=Cloud). - - - - - -## Deploy in Cloud Foundry Runtime - -After completing the functional implementation of the CAP application by following the best practices, you can deploy your application in the cloud for productive usage. The essential steps are illustrated in the following graphic: - -![](images/Deploy_a_CAP_Application_in_Cloud_Foundry_Runtime_50243ce.png) - -With our recommended approach, the actual deployment in your SAP BTP, Cloud Foundry runtime is performed either by your [Continuous Integration and Continuous Delivery](continuous-integration-and-continuous-delivery-d973132.md) pipeline \(such as being provided by SAP Continuous Integration and Delivery service\) or handled by transports \(via [SAP Cloud Transport Management](https://help.sap.com/docs/cloud-transport-management?version=Cloud), optionally orchestrated by SAP Cloud ALM\). - -If you want to perform a manual deployment in the SAP BTP, Cloud Foundry runtime, see [Deploy in Cloud Foundry](https://cap.cloud.sap/docs/guides/deployment/to-cf). - - - - - -## Deploy in Kyma Runtime - -Like Kubernetes, Kyma is a platform to run containerized workloads. The service's files are provided as a container image, commonly referred to as a Docker image. In addition, the containers to be run on Kubernetes, their configuration and everything else that is needed to run them, are described in the Kubernetes resources. - -In consequence, two kinds of artifacts are needed to run applications on Kubernetes: - -- Container images - -- Kubernetes resources - - -The following diagram shows the steps to run on the SAP BTP, Kyma runtime: - -![](images/Deploy_a_CAP_Application_in_the_Kyma_Runtime_d3a3414.png) - -For detailed steps to deploying your application in the SAP BTP, Kyma runtime, see[Deploy in Kyma Runtime](https://cap.cloud.sap/docs/guides/deployment/deploy-to-kyma). - -If you want to perform an automated deployment via pipeline, SAP Continuous Integration and Delivery has a ready-to-use pipeline for CAP on SAP BTP, Kyma runtime. See [Continuous Integration and Continuous Delivery](continuous-integration-and-continuous-delivery-d973132.md). - diff --git a/docs/deploy-d7aec3c.md b/docs/deploy-d7aec3c.md deleted file mode 100644 index dbd04ff..0000000 --- a/docs/deploy-d7aec3c.md +++ /dev/null @@ -1,4 +0,0 @@ - - -# Deploy - diff --git a/docs/design-314ae3e.md b/docs/design-314ae3e.md deleted file mode 100644 index a2f5470..0000000 --- a/docs/design-314ae3e.md +++ /dev/null @@ -1,54 +0,0 @@ - - -# Design - - - - - -## ABAP Cloud Design Principles - -ABAP Cloud is based on a model-driven architecture approach that focuses on improving development efficiency through standardization and formalization of the programming model and the tooling environment ensuring efficiency and scalability. Programming models generally define the design time software architecture with specific technologies, concepts, and development objects. It essentially defines a standard architecture for app and service development from the database to the business service exposure. - -ABAP Cloud builds on the strengths of powerful frameworks and a standardized architecture for different use cases, aiming at saving as much implementation time as possible while providing you with flexibility - you can model your business processes with apps and services based on your business requirements along predefined technical processes. As much as possible is handled by the frameworks to decrease the probability of consistency errors during runtime. This standardized and consistent architecture across all apps and services developed with ABAP Cloud has many advantages from development perspective: - -- Efficiency increase and scalability - - The developer efficiency is increased because standard architecture patterns are easily scalable. Once you are familiar with developing with the ABAP Cloud development model, the additional effort decreases with each developed service or application. - -- Adaptability and maintenance - - A standardized architecture fosters code quality and thus testability and code maintenance. ABAP Cloud comes with specific mock-frameworks for data models and events that support the code quality assurance and avoid regressions on all test levels. - -- High abstraction level - - The development model executes all low-level technical and infrastructure-related tasks. - - -The cloud-optimized ABAP languages like Data Definition Language or the Entity Manipulation Language match the data modeling requirements and are designed to support the modeling and ABAP-specific development process closely as possible. - - - - - -## Benefits of the Model-Driven Approach - -A standardized architecture approach saves you time and scales easily with multiple apps or services. In case of ABAP Cloud, also ensures the separation of concerns between data model behavior, and service exposure ensuring interoperability between different use cases, so that you can reuse data models for different purposes like analytical reports and transactional apps at the same time. - - - - - -## Transactional Consistency Across Applications and Services - -Interoperability is guaranteed because all implementations adhere to the same technical rule set, and the framework determines the technical contracts and process flows. This enables you to design end-to-end processes without having to worry about how to implement an authorization or locking concept for only for one specific part of the process. Instead, you make process design decisions that incorporate the technological advantages of the different ABAP Cloud technologies, frameworks, and building blocks in each step of a process. For more details about transactional consistency, see Transactional Consistency. - -**Related Information** - - -[Design a Transactional Application](design-a-transactional-application-608432c.md "") - -[Design an Analytical Application](design-an-analytical-application-8819cb7.md "") - -[Design an Integration Service](design-an-integration-service-ec2ac31.md "") - diff --git a/docs/design-a-multitenant-application-1ac614d.md b/docs/design-a-multitenant-application-1ac614d.md deleted file mode 100644 index b62c64f..0000000 --- a/docs/design-a-multitenant-application-1ac614d.md +++ /dev/null @@ -1,50 +0,0 @@ - - -# Design a Multitenant Application - -You can use the multiclient architecture of the ABAP system for multitenancy enablement and list the design principles to reach multitenancy. - -- Store tenant-related data in client-dependent tables of type A, C, or L. - -- Store system-related data in client-independent tables of type S. - -- Always add the selection of the client to ABAP database procedures \(AMDPs\). - - -Make sure consumers cannot modify the client parameter or any other part of the AMDP using the application or by tampering requests. - -- Don't generate development objects or other client-independent data system-locally in the provider system. - -- Don't evaluate the actual value of the 3-digit client field \(IF sy-mandt = ‘nnn’. …. ENDIF\). - - -You have to classify database tables according to their content. There are the following types: - -- Tenant Content \(client-dependent\) - - - Tenant configuration data – tables with delivery class “C” - - - Tenant application data – tables with delivery class “A” - - - Tenant temporary data – tables with delivery class “L” - - - Database tables for tenant content must be client-dependent. This means that the first field of the table must be of datatype “CLNT”. We recommend using the inline declaration „abap.clnt“. - - Only the content of client-dependent “C” and “A” tables is considered during tenant copy and tenant move. Content of client-independent tables that are not delivered from the development system and “L” tables are lost during tenant lifecycle processes such as tenant move. - - During tenant deletion, the content of all client-dependent tables is removed. - - The delivery class must be “C”, “A”, or “L”. - - The delivery classes “E”, “G” and “W” are not supported in the ABAP environment at all. - -- System Content \(client-independent\): System configuration data – tables with delivery class “S” - - Store data that is defined by the service provider and not specific for any tenant in a client-independent “S” table. Define the content in the respective development system and export it as TABU entries via a development transport request. The content is considered as code and imported like other development artifacts into subsequent systems such as the provider system. - - Access to tables and all further ABAP Cloud Syntax is by default tenant aware. - - -See [Multitenancy Development Guideline](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/multitenancy-development-guideline). - diff --git a/docs/design-a-transactional-application-608432c.md b/docs/design-a-transactional-application-608432c.md deleted file mode 100644 index 0f7d58e..0000000 --- a/docs/design-a-transactional-application-608432c.md +++ /dev/null @@ -1,20 +0,0 @@ - - -# Design a Transactional Application - -Transactional applications and services implement use cases where read, create, update, or delete operations on the data set are required. - -A transactional application consists of a client, the business service exposure that defines the service that is consumed by the client, domain-specific models and domain-specific logic that implements behavior. Data is either accessed from the SAP HANA database or with the service consumption model from remote services. - -The following graphic gives you an overview of the main parts of the transactional application’s architecture: - -![](images/Design_a_Transactional_Application_d715f00.png) - -The client is either an SAP Fiori elements or SAPUI5 application or any API consumer. - -In the business service exposure the kind of service that is exposed is defined. A UI service is an OData service specifically designed to cater to SAP Fiori elements consumers but is used for OData UI consumers in general. API services expose the underlying data- and behavior-models as APIs to unspecified clients either with the OData protocol or business events. It is possible to define both UI and API services at the same time. - -The ABAP RESTful Application Programming Model \(RAP\) is used to create UI and API services including the domain model and implementation. The center piece of RAP is the business object. RAP's business objects consist of the data model implemented with the core data services and the transactional behavior implemented with the Entity Manipulation Language \(EML\). - -The architectural separation of concerns between the domain-specific implementation and the business service exposure allows you to expose the same data model for analytical and transactional applications and services. - diff --git a/docs/design-an-analytical-application-8819cb7.md b/docs/design-an-analytical-application-8819cb7.md deleted file mode 100644 index f5d5095..0000000 --- a/docs/design-an-analytical-application-8819cb7.md +++ /dev/null @@ -1,14 +0,0 @@ - - -# Design an Analytical Application - -Analytical Applications implement use cases where multi-dimensional data models are queried to analyze business data and derive business KPIs. The main focus is on creating data models to analyze business data in embedded or cross-system setups and to visualize the data in dashboards or as part of apps. - -The following graphic gives you an overview of the main parts of the analytical architecture: - -![](images/Design_an_Analytical_Application_80e21cc.png) - -Analytical data models are CDS-based. The analytical provider consists of a reusable star or snowflake schema \(based on cubes, dimensions, and hierarchies\) and scenario-specific analytical projections \(analytical queries\). - -ABAP Cloud enables you to develop InA-based services for multidimensional user apps. The InA services are either consumed in SAP Fiori UIs or by SAP Analytics Cloud. - diff --git a/docs/design-an-integration-service-ec2ac31.md b/docs/design-an-integration-service-ec2ac31.md deleted file mode 100644 index 4db03bc..0000000 --- a/docs/design-an-integration-service-ec2ac31.md +++ /dev/null @@ -1,12 +0,0 @@ - - -# Design an Integration Service - -Integration Services implement system-to-system communication use cases to enable data or process integration between systems across a range of different protocols and frameworks. - -You can use data integration to exchange data between two or more parties without being part of specific and predefined business process, for example, for analytical use cases. - -Process integration requirements can span data exchange across system boundaries like, for example, to trigger follow-on actions with events when a value in an app is changed. - -![](images/Design_an_Integration_Service_c04a651.png) - diff --git a/docs/design-dcdc2d9.md b/docs/design-dcdc2d9.md deleted file mode 100644 index 7b1901c..0000000 --- a/docs/design-dcdc2d9.md +++ /dev/null @@ -1,4 +0,0 @@ - - -# Design - diff --git a/docs/develop-58df1d6.md b/docs/develop-58df1d6.md deleted file mode 100644 index dec01dd..0000000 --- a/docs/develop-58df1d6.md +++ /dev/null @@ -1,107 +0,0 @@ - - -# Develop - -Learn more about developing applications on the SAP BTP, Cloud Foundry environment. - -> ### Note: -> Direct reuse from [SAP BTP Core documentation](https://help.sap.com/docs/btp/sap-business-technology-platform/development-in-cloud-foundry-environment?version=Cloud). - - - - - -## Overview - -SAP BTP, Cloud Foundry environment is an open Platform-as-a-Service \(PaaS\) targeted at microservice development and orchestration. - - -
-
- -Develop polyglot applications - -
-
- -Build on open standards with SAP Java, Node.js, and Python buildpacks or bring your own language with community buildpacks for PHP, Ruby, Go. - - - -
- -Manage the lifecycle of applications - -
-
- -Start, stop, scale, and configure distributed cloud applications using standard Cloud Foundry tools, our web-based administration user interface for SAP BTP, and dev-ops capabilities. - - - -
- -Optimize development and operations - -
-
- -Use the rich set of SAP BTP services including messaging, persistence, and many other capabilities. - - - -
- -Use the application programming model - -
-
- -Use programming languages, libraries, and APIs tailored for full-stack application development. - - - -
-
- - - -The following graphic is designed to help you find the information you need for your programming purposes. The bottom row represents the tools, frameworks, services, and deployment options recommended by SAP. If you want full flexibility you can also bring your own development tools and languages, as shown in the top row. - - - -
- -## Development Options Overview - -![](images/Image_Map_Development_Options_Overview_d716bab.png) - - - - - -## The Recommended Path - -This development approach offers guidance for important development decisions and features proven best practices recommended by SAP. You can follow a model path for application and service development that is based on the Cloud Application Programming Model \(CAP\). When working with CAP, we recommend using Java and Node.js because they receive the highest level of tool support and are well suited for most use cases. This path provides you with a list of key aspects to consider, but the order shown in these steps isn't mandatory. You can adapt the steps as you wish to better fit your use case. - - - - - -## Choose Your Own Path - -You're not forced to use one language exclusively, but can choose between Java, Node.js, and Python. - -For more information on the supported programming languages, see: - -- [Developing Java in the Cloud Foundry Environment](https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Validation/en-US/a3f90069d6cd41da82f34a6123d82ce6.html "Find selected information for Java development on SAP BTP, Cloud Foundry and references to more detailed sources.") :arrow_upper_right: - -- [Developing Node.js in the Cloud Foundry Environment](https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Validation/en-US/3a7a0bece0d044eca59495965d8a0237.html "This section offers selected information for Node.js development on SAP BTP, Cloud Foundry and references to more detailed sources.") :arrow_upper_right: - -- [Developing Python in the Cloud Foundry Environment](https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Validation/en-US/acf8f49356d047fbb1a4d04dcec3fd36.html "This section offers selected information for Python development on the SAP BTP, Cloud Foundry environment and references to more detailed sources.") :arrow_upper_right: - - - - -If you already have monolithic applications running on SAP BTP and are looking for a way to run them in the Cloud Foundry environment, read our migration best practice guide. See [Migrating from the Neo Environment to the Multi-Cloud Foundation (Cloud Foundry and Kyma)](https://help.sap.com/viewer/b017fc4f944e4eb5b31501b3d1b6a1f0/Validation/en-US/aae4e0ae1cdf434b908c3c8cf3ea942a.html "Learn why and how to migrate your scenarios on SAP Business Technology Platform (SAP BTP) from the Neo environment to the multi-cloud foundation.") :arrow_upper_right:. - diff --git a/docs/develop-a-multitenant-application-3151e2a.md b/docs/develop-a-multitenant-application-3151e2a.md deleted file mode 100644 index cf220ba..0000000 --- a/docs/develop-a-multitenant-application-3151e2a.md +++ /dev/null @@ -1,18 +0,0 @@ - - -# Develop a Multitenant Application - -Multitenancy in the SAP BTP, ABAP environment enables independent software vendors or partners, which are the application providers, to develop and operate ABAP solutions as software as a service \(SaaS\). It leverages the SAP BTP infrastructure while hosting several consumers on the same ABAP system. The resources on SAP BTP consumed by the solution are paid for by the application provider. - -Application consumers, which are the end customers of the provider, subscribe to a provider’s multitenant application and use it in a specific consumer subaccount, which is called a tenant. Consumers access the provider’s SaaS application via a consumer-specific URL. Consumers cannot see the data of other consumers and Identity and Access Management is kept isolated between different tenants. - -The multitenant application is deployed to the provider subaccount and serves as the entry point for the consumer-specific URLs so that requests are routed to the corresponding consumer tenant in the ABAP system. Only after the multitenant application has been deployed, the application will be available for subscription to consumers. See [Developing Multitenant Applications in the ABAP Environment](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/developing-multitenant-applications-in-abap-environment). - -The ABAP system used to serve the application to the consumers is provisioned in the provider subaccount during the first subscription. See [Creating an ABAP System](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/creating-abap-system). - -Different tenants are created as separate clients in the system. Tenants in the ABAP system have different capabilities represented by the tenant business type and lifecycle status. The ABAP system contains by default a tenant used by the application provider \(client 100\) for system-level operations like the import of software components to the system. For each subscription to the multitenant application, a tenant used by the consumer \(client \>= 200\) is created. If any consumer tenants still exist in the ABAP system, the system cannot be deleted. - -The Landscape Portal functions as a central plane for tenant management that allows providers to perform lifecycle management operations such as add-on updates, creating test tenants or support users, and more. For more information on how to access and use the Landscape Portal, see [Landscape Portal](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/landscape-portal). - -Multitenancy in the SAP BTP, ABAP environment is technically based on client-dependent database tables. Developers need to make sure to define their custom database tables with the CLIENT field and the respective delivery class. The ABAP SQL access takes the current CLIENT of the logged-on user automatically into consideration. See [Multitenancy Development Guideline](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/multitenancy-development-guideline). - diff --git a/docs/develop-c8906e4.md b/docs/develop-c8906e4.md deleted file mode 100644 index ceb93a4..0000000 --- a/docs/develop-c8906e4.md +++ /dev/null @@ -1,4 +0,0 @@ - - -# Develop - diff --git a/docs/development-guidance-cc37b7a.md b/docs/development-guidance-cc37b7a.md deleted file mode 100644 index 1999b9d..0000000 --- a/docs/development-guidance-cc37b7a.md +++ /dev/null @@ -1,4 +0,0 @@ - - -# Development Guidance - diff --git a/docs/enterprise-application-building-blocks-03139be.md b/docs/enterprise-application-building-blocks-03139be.md deleted file mode 100644 index c8e5b51..0000000 --- a/docs/enterprise-application-building-blocks-03139be.md +++ /dev/null @@ -1,6 +0,0 @@ - - -# Enterprise Application Building Blocks - -![](images/Technical_Architecture_251a03a.png) - diff --git a/docs/from-concept-to-code-a5b8129.md b/docs/from-concept-to-code-a5b8129.md deleted file mode 100644 index 55c31d5..0000000 --- a/docs/from-concept-to-code-a5b8129.md +++ /dev/null @@ -1,376 +0,0 @@ - - -# From Concept to Code - -Before starting to implement an application on SAP BTP, it's better if you do some planning and research beforehand. - - - - - -## Identify the Business Problem - -A business problem represents a gap between the desired and actual outcome of a task. It can be any hurdle, situation, or variation that prevents a business from achieving its objectives. A business problem may not have an immediately obvious resolution, and may be masked or hidden by perception and assumption. To define a true problem, you need to remove the factors that obscure the real reason behind the problem. - -To solve a problem for an internal or an external customer when using a product, you need to ask questions that can help you understand the customer’s needs, expectations, pain points, and feedback. Some examples of such questions are: - -- What are the tasks that customers are trying to achieve with a product? - -- How do the customers use the product in their daily workflow? - -- What are the main challenges or frustrations that the customers face when the product? - -- How can you improve the product to better serve the customers' needs? - -- How satisfied are the customers with the product and the customer service? - -- What are the benefits or value that the customers get from the product? - -- How do the customers measure the success or impact of the product on their goals? - - - - - - -## Deliver a Cloud Application from Concept to a Final Product - -The columns in the following graphic show for which use cases using a well-modularized architecture suits best, what is the motivation, the steps and the benefits. - -This image is interactive. Hover over the image and click the highlighted areas so you are placed in the respective cell in the table. - -![](images/Well-Modularized_Architecture_53b6d43.png) - - - -### Context - -Let's assume the following scenario: you and your team are tasked to deliver a multitenant application on SAP BTP or SAP S/4HANA Cloud Public Edition and you want to base the application either on SAP Cloud Application Programming Model \(CAP\) or on ABAP Cloud. - - - -### Trigger - -Use the following triggers as a motivation to engage in sophisticated design process: - -- Renovating, evolving or reimplementing an existing solution - - This involves transforming a legacy system into a modern, more efficient and scalable solution. Legacy systems often pose difficulties in terms of maintainability, integration with newer technologies, and can be a bottleneck for a business's growth. This transformation process could involve refactoring code, adopting new architecture patterns like microservices, or completely reimplementing the software with a new technology stack. - -- Designing a new Software-as-a-Service solution based on microservices - - Software-as-a-Service is a model where software is provided over the internet on a subscription basis. When designing a new Software-as-a-Service solution based on microservices, the system is decomposed into a collection of services that are independently deployable, scalable, and can be developed by different teams. Each microservice corresponds to a specific business capability and can be developed, deployed and scaled independently. This architectural style promotes flexibility and scalability, and it can speed up the development process by enabling parallel development across teams. It's important to design these services around the business capabilities. - -- Considering more asynchronous behavior and event-sourced applications - - Asynchronous behavior in an application refers to operations that can be executed independently and don't block the flow of the program. This makes the application more responsive and can improve system-wide performance. Event sourcing is an architectural pattern that stores changes to the application state as a sequence of events, rather than just storing the current state. This can provide a full audit trail, simplify debugging by allowing the state of an application at any point in time to be recreated, and can facilitate asynchronous, message-driven architectures. By integrating these into the system, it can enhance the system's scalability and reliability. - -- Designing a Software-as-a-Service application on SAP BTP - - When designing a Software-as-a-Service application on SAP BTP, the application is built to be delivered over the internet and leverages the services provided by SAP BTP. This can include data storage services, AI and machine learning capabilities, analytics and more. Using such a platform can speed up development time, as many of the underlying infrastructure considerations and services are taken care of by the platform. - - - - -### Steps - -Follow these steps to ensure smooth implementation of your application: - -1. Understand the business domain. - - Understanding the business domain is of the utmost importance. The business domain refers to the area of expertise or business that a software solution is intended to support. This understanding includes the business's processes, rules, norms, and intrinsic challenges. This knowledge forms the basis of the model that the software will encapsulate. Developers should work closely with domain experts to ensure that the software accurately reflects the real-world domain, with all its complexity and nuance. A thorough understanding of the business domain will help in creating software that is useful, flexible, and capable of evolving alongside the business. - -2. Identify the required modules. - - Identifying the required modules means breaking down the overall system into smaller, manageable, and functionally cohesive units. Each module is designed to encapsulate a specific portion of the domain model and is typically aligned with a specific sub-domain or business capability. By identifying the modules, developers can ensure separation of concerns and make the system more maintainable. Each module should be able to operate independently, reducing dependencies and allowing for parallel development and easier testing. - -3. Define the communication between the modules. - - Once the modules are identified, the next step is to define how they will interact with each other. This involves establishing interfaces, contracts, or APIs for communication. This is often guided by the concept of context mapping, which helps to define the relationships and interactions between different related contexts. Communication between modules should be carefully managed to preserve the autonomy of the modules. The communication could be synchronous or asynchronous, and could be based on various patterns like request/response, events, or commands. - -4. Plan the implementation. - - After you have an understanding of the business domain, have identified the required modules, and defined how they will communicate, the next step is to plan the implementation. This is the moment where you decide which technologies, patterns, and practices to use to build each module. This can include selecting the programming languages, databases, message brokers, and other tools that will be used. It also involves choosing the architectural patterns \(like layered architecture, hexagonal architecture, or microservices\) and design patterns that will be applied. The implementation should be guided by the principles of the domain model, encapsulating the business logic in entities, value objects, aggregates, and domain events. Additionally, the implementation should consider non-functional requirements like scalability, performance, security, and maintainability. - - - - -### Value - -If you follow the steps mentioned in the previous section, you will achieve the following benefits: - -- Well-modularized architecture. - - In the context of software development, a well-modularized architecture refers to the design of a system where the different functionalities and responsibilities are partitioned into distinct modules. Each module encapsulates a specific subset of the system's behavior and can be developed, tested, and maintained independently of the others. Modules are often designed to be loosely coupled, meaning that they interact with each other through well-defined interfaces, but their internals are hidden from each other. This encapsulation increases the maintainability of the system because changes inside one module don't impact the others. It also improves the scalability of the system, as individual modules can be scaled up or down based on their individual requirements. Finally, modularization can increase the speed of development because different teams can work on different modules at the same time without interfering with each other. - -- Higher likelihood to delivery value to your customers. - - The focus is on understanding the business domain and creating a software model that reflects and serves that domain. By aligning the software closely with the business needs, there's a higher likelihood of delivering value to the customer. This comes from a deep understanding of the business, its rules, and its needs. This understanding guides the software development process, ensuring that the software solves the right problems and provides the features that the business actually needs. As a result, the software is more likely to be valuable to the end users, who are the ones interacting with the business domain on a daily basis. - -- Better decomposition that would lead to shorter innovation cycles and clearer focus. - - Decomposition in software design is the process of breaking down a complex system into smaller, manageable parts or components. Better decomposition, often achieved through practices like domain-driven design and microservices architecture, allows for clearer focus on individual parts of the system and can lead to shorter innovation cycles. With a well-decomposed system, teams can focus on specific components or services, understand them thoroughly, and make improvements or innovations without having to understand the entire system. This can significantly shorten the time it takes to go from an idea to a working feature, because changes are localized to specific parts of the system and don't require broad, system-wide understanding or modifications. Moreover, better decomposition can lead to clearer focus because each component or service can be designed around a specific business capability or domain concept. This allows the team working on that component to focus on the specific business problems and user needs related to that capability or concept, rather than being distracted by other parts of the system. This kind of focus can lead to better solutions and more valuable software. - - - - - - -## Understand Modularization in General - -Modularization is a general programming concept where you separate program functions into independent pieces, called modules. These modules then act like building blocks, with each block containing all the necessary parts to execute a piece of the functionality. When the modules are put together, they make up the executable program. - -A modular code is: - -- **Easier to maintain** - - It's easier to read, understand, debug, and modify code that is modularized. It also reduces the risk of introducing errors or conflicts when changing or adding new features. A good modularization also enables reuse of existing modules across different products, which saves time and effort. - -- **Easier to test** - - Each module can be tested individually and independently from the rest of the system. This also facilitates automated testing and continuous integration, which improve the quality and reliability of the software product. - -- **Easier to scale** - - Each module can be deployed, updated, or replaced separately, without affecting the whole system. This also allows for parallel development and faster delivery of new features or bug fixes. A good modularization also supports distributed and cloud-based architectures, which enhance the performance and availability of the software product. - -- **More reliable** - - Each module has a clear and well-defined interface and responsibility. This also reduces the coupling and dependency between modules, which minimizes the impact of failures or errors in one module on the rest of the system. A good modularization also enables fault tolerance and recovery mechanisms, which improve the resilience and robustness of the software product. - -- **More adaptable** - - Each module can be easily modified or extended to meet changing requirements or customer needs. This also increases the flexibility and diversity of the software product, as different modules can be combined or configured in various ways. - -- **Easier to evolve** - - Each module can be evolved independently or collaboratively, without affecting the overall functionality. This also promotes innovation and creativity, as new modules can be created or reused to generate novel solutions or features. - - - - - - -## Understand Modularization in the Context of Microservice-Based Architecture - -The right modularization is very important in the context of microservices, because microservices are essentially a form of modular software development. Microservices aim to create small, focused, and independent services that communicate through well-defined interfaces and protocols. Each service is responsible for a specific functionality or domain, and can be developed, deployed, and scaled independently from other services. This way, microservices enable a high degree of modularity, flexibility, and agility in software development. - -However, not all modularizations are equally effective or beneficial for microservices. A poor modularization can lead to problems such as: - -- **High coupling and low cohesion** - - If the services are not well-defined and separated, they may depend on each other too much, or have too many responsibilities. This can result in tight coupling between services, which makes them hard to change, test, or reuse. It can also result in low cohesion within services, which makes them complex, inconsistent, or redundant. High coupling and low cohesion reduce the maintainability, testability, and reliability of microservices. - -- **Service sprawl and fragmentation** - - If the services are too fine-grained and numerous, they may become difficult to manage, monitor, and coordinate. This can result in service sprawl, which increases the operational complexity and overhead of microservices. It can also result in service fragmentation, which reduces the performance and availability of microservices. Service sprawl and fragmentation reduce the scalability and adaptability of microservices. - -- **Lack of alignment and consistency** - - If the services are not aligned with the business domain and goals, they may not deliver the expected value or quality. This can result in lack of alignment, which reduces the relevance and effectiveness of microservices. It can also result in lack of consistency, which reduces the usability and interoperability of microservices. Lack of alignment and consistency reduce the evolution and innovation of microservices. - - -The right modularization is essential if you want to benefit from using microservices. For example: - -- **Maintain modules easily** - - The right modularization helps you create simple, consistent, and reusable services that are easy to read, understand, debug, and modify. It also enables the isolation and decoupling of services, which reduces the risk of errors or conflicts when changing or adding new features. - -- **Test each service individually and independently from the rest of the system** - - The right modularization enables you to use automated testing and continuous integration, which improve the quality and reliability of the software product. - -- **Deploy, update, or replace each service separately, without affecting the whole system** - - The right modularization supports distributed and cloud-based architectures, which enhance the performance and availability of the software product. - -- **Have clear and well-defined interface and responsibility of each service** - - The right modularization reduces the coupling and dependency between services, which minimize the impact of failures or errors in one service on the rest of the system. It also enables fault tolerance and recovery mechanisms, which improve the resilience and robustness of the software product. - -- **Modify or extend each service to meet changing requirements or customer needs** - - The right modularization increases the flexibility and diversity of the software product, as different services can be combined or configured in various ways. - -- **Evolve each service independently or collaboratively, without affecting the overall system functionality** - - The right modularization promotes innovation and creativity, as new services can be created or reused to generate novel solutions or features. - - - - - - -## Learn Why Domain-Driven Design Is an Adequate Approach - -Domain-driven design is a major software design approach, focusing on modeling software to match a domain according to input from that domain's experts. Under domain-driven design, the structure and language of software code \(class names, class methods, class variables\) should match the business domain. - -Domain-driven design helps achieving the traits of a good modularization by: - -- **Placing the project's primary focus on the core domain and domain logic** - - Domain-driven design emphasizes close collaboration between domain experts and developers to create software that accurately models the problem domain. By focusing on the domain's core concepts, relationships, and behavior, domain-driven design enables you to create more robust, flexible, and maintainable systems. - -- **Building complex designs on the model of the domain** - - Domain-driven design helps you to define the boundaries of each module by identifying the core concepts, aggregates, and their associated business logic. This enables teams to develop and maintain these modules independently, promoting scalability and modularization within the overall system. - -- **Initiating a creative collaboration between technical and domain experts to iteratively refine a conceptual model that addresses particular domain problems** - - Domain-driven design fosters a common language shared by domain experts, users, and developers: the ubiquitous language. The ubiquitous language is used in the domain model and for describing system requirements. This enhances the communication and understanding among the stakeholders, and facilitates the adaptation and evolution of the software product. - - - - - - -## Learn About the Domain-Driven Design Starter Modeling Process - -The domain-driven design starter modeling process is a process for learning and applying domain-driven design in practice. It covers eight steps from aligning with the business model to coding the domain model. It is flexible and iterative, and suitable for beginners who want to master domain-driven design. See the [Domain-Driven Design Starter Modeling Process](https://github.com/ddd-crew/ddd-starter-modelling-process) GitHub repository that is part of the [Domain-Driven Design Crew](https://github.com/ddd-crew) GitHub organization. - - - - - -## Check How Complex Your Scenario Is - -Check which requirements your scenario has and sum up the points for the respective requirement. If your score above is 7 or higher, you should evaluate how to leverage the concept and tools of the domain-driven design in your project. - -We also recommend that you follow the domain-driven design modeling process. - -See [Domain-Driven Design Starter Modeling Process](https://github.com/ddd-crew/ddd-starter-modelling-process). - -**** - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -Scenario Requirements - - - -Points - - - -Comments - -
- -For applications that work with the four functions: create, read, update, delete \(CRUD\), and only perform simple database queries, no special design is required. A simple database tool with a user interface is enough. - - - -0 - - - -A simple application does have the complexity to benefit elaborated design methods. - -
- -You have a simple application if it has up to 30 use cases. You can build it with a CAP application that works with the four functions: create, read, update, delete \(CRUD\). - - - -1 - - - -Just for reference, this means your application does not have more than 30 functions. - -
- -Your application has between 30 and 40 use cases. - - - -2 - - - -Make sure you don't underestimate any hidden complexities. - -However, having many methods or functions doesn't always mean high complexity. They might be simple and well-structured. It's when a class or module has many responsibilities, indicated by methods or functions that perform widely varying tasks, that complexity becomes a challenge. - -
- -Your application may not be complex now, but it could grow later. - - - -3 - - - -Talk to domain experts to discuss the complexity of your application. The complexity increases with the number of features that the stakeholders need. - -
- -Your application will change a lot over time, and you don’t know what kind of changes will happen. - - - -4 - - - -You require a sophisticated design method to manage the complexity of refactoring your model over time. - -
- -You are building an application in a new and exciting domain that nobody has done before. This means it could be complex and challenging. - - - -5 - - - -You need to collaborate with domain experts and try different models to make your application work. - -
- -**Related Information** - - -[Domain-Driven Design Crew GitHub Organization](https://github.com/ddd-crew) - -[Domain-Driven Design Community at SAP](https://github.com/SAP/curated-resources-for-domain-driven-design) - diff --git a/docs/hands-on-experience-7fa228f.md b/docs/hands-on-experience-7fa228f.md deleted file mode 100644 index 51be17a..0000000 --- a/docs/hands-on-experience-7fa228f.md +++ /dev/null @@ -1,4 +0,0 @@ - - -# Hands-On Experience - diff --git a/docs/images/Deploy_a_CAP_Application_in_Cloud_Foundry_Runtime_50243ce.png b/docs/images/Deploy_a_CAP_Application_in_Cloud_Foundry_Runtime_50243ce.png deleted file mode 100644 index 1c52006..0000000 Binary files a/docs/images/Deploy_a_CAP_Application_in_Cloud_Foundry_Runtime_50243ce.png and /dev/null differ diff --git a/docs/images/Deploy_a_CAP_Application_in_the_Kyma_Runtime_d3a3414.png b/docs/images/Deploy_a_CAP_Application_in_the_Kyma_Runtime_d3a3414.png deleted file mode 100644 index 146dd3e..0000000 Binary files a/docs/images/Deploy_a_CAP_Application_in_the_Kyma_Runtime_d3a3414.png and /dev/null differ diff --git a/docs/images/Design_a_Transactional_Application_d715f00.png b/docs/images/Design_a_Transactional_Application_d715f00.png deleted file mode 100644 index 94a53a5..0000000 Binary files a/docs/images/Design_a_Transactional_Application_d715f00.png and /dev/null differ diff --git a/docs/images/Design_an_Analytical_Application_80e21cc.png b/docs/images/Design_an_Analytical_Application_80e21cc.png deleted file mode 100644 index 16c9706..0000000 Binary files a/docs/images/Design_an_Analytical_Application_80e21cc.png and /dev/null differ diff --git a/docs/images/Design_an_Integration_Service_c04a651.png b/docs/images/Design_an_Integration_Service_c04a651.png deleted file mode 100644 index 903c792..0000000 Binary files a/docs/images/Design_an_Integration_Service_c04a651.png and /dev/null differ diff --git a/docs/images/Image_Map_Development_Options_Overview_d716bab.png b/docs/images/Image_Map_Development_Options_Overview_d716bab.png deleted file mode 100644 index aa59d02..0000000 Binary files a/docs/images/Image_Map_Development_Options_Overview_d716bab.png and /dev/null differ diff --git a/docs/images/SAPCloudALM_operations_d378eed.jpg b/docs/images/SAPCloudALM_operations_d378eed.jpg deleted file mode 100644 index b29a316..0000000 Binary files a/docs/images/SAPCloudALM_operations_d378eed.jpg and /dev/null differ diff --git a/docs/images/SAP_BTP_Developer_s_Guide_Overview_61b7816.png b/docs/images/SAP_BTP_Developer_s_Guide_Overview_61b7816.png deleted file mode 100644 index f667194..0000000 Binary files a/docs/images/SAP_BTP_Developer_s_Guide_Overview_61b7816.png and /dev/null differ diff --git a/docs/images/Technical_Architecture_251a03a.png b/docs/images/Technical_Architecture_251a03a.png deleted file mode 100644 index bd10a8b..0000000 Binary files a/docs/images/Technical_Architecture_251a03a.png and /dev/null differ diff --git a/docs/images/Well-Modularized_Architecture_53b6d43.png b/docs/images/Well-Modularized_Architecture_53b6d43.png deleted file mode 100644 index 3b31360..0000000 Binary files a/docs/images/Well-Modularized_Architecture_53b6d43.png and /dev/null differ diff --git a/docs/index.md b/docs/index.md deleted file mode 100644 index d7d9cdf..0000000 --- a/docs/index.md +++ /dev/null @@ -1,37 +0,0 @@ -# SAP BTP Developer's Guide - -- [What Is SAP BTP Developer’s Guide?](what-is-sap-btp-developer-s-guide-ba26ec4.md) -- [What's New for SAP BTP Developer's Guide](what-s-new-for-sap-btp-developer-s-guide-7cf7a39.md) -- [SAP Suite of Business Modules](sap-suite-of-business-modules-4efd0bc.md) -- [From Concept to Code](from-concept-to-code-a5b8129.md) -- [Hands-On Experience](hands-on-experience-7fa228f.md) - - [Tutorials for ABAP Cloud](tutorials-for-abap-cloud-fd87aaa.md) - - [Tutorials for SAP Cloud Application Programming Model](tutorials-for-sap-cloud-application-programming-model-eb7420a.md) -- [Enterprise Application Building Blocks](enterprise-application-building-blocks-03139be.md) - - [ABAP: End-to-End Development Process](abap-end-to-end-development-process-f3641a5.md) - - [Basic Platform Setup](basic-platform-setup-3b774f8.md) - - [Service Cheat Sheet](service-cheat-sheet-511cac8.md) - - [ABAP Cloud Roadmap](abap-cloud-roadmap-48150e1.md) - - [Automated SAP BTP Instrastructure Setup](automated-sap-btp-instrastructure-setup-6dd97e1.md) - - [Operate](operate-f7f2977.md) -- [Development Guidance](development-guidance-cc37b7a.md) - - [ABAP Cloud](abap-cloud-9aaaf65.md) - - [Design](design-314ae3e.md) - - [Design a Transactional Application](design-a-transactional-application-608432c.md) - - [Design an Analytical Application](design-an-analytical-application-8819cb7.md) - - [Design an Integration Service](design-an-integration-service-ec2ac31.md) - - [Design a Multitenant Application](design-a-multitenant-application-1ac614d.md) - - [Develop](develop-c8906e4.md) - - [Transactional Application](transactional-application-373046e.md) - - [Analytical Application](analytical-application-b845c85.md) - - [Integration Service](integration-service-c079f33.md) - - [Develop a Multitenant Application](develop-a-multitenant-application-3151e2a.md) - - [Deploy](deploy-d7aec3c.md) - - [SAP Cloud Application Programming Model: Node.js, Java and Typescript](sap-cloud-application-programming-model-node-js-java-and-typescript-696ec23.md) - - [Design](design-dcdc2d9.md) - - [Develop](develop-58df1d6.md) - - [Add User Interface](add-user-interface-9f1d42e.md) - - [Deploy](deploy-45d5acf.md) - - [Continuous Integration and Continuous Delivery](continuous-integration-and-continuous-delivery-d973132.md) - - [Reference Application](reference-application-34065a4.md) - diff --git a/docs/integration-service-c079f33.md b/docs/integration-service-c079f33.md deleted file mode 100644 index 3789af4..0000000 --- a/docs/integration-service-c079f33.md +++ /dev/null @@ -1,4 +0,0 @@ - - -# Integration Service - diff --git a/docs/operate-f7f2977.md b/docs/operate-f7f2977.md deleted file mode 100644 index c96577c..0000000 --- a/docs/operate-f7f2977.md +++ /dev/null @@ -1,47 +0,0 @@ - - -# Operate - -SAP Cloud ALM is included in your SAP Cloud Service subscription containing Enterprise Support, cloud editions, in SAP Enterprise Support and in Product Support for Large Enterprises. - -SAP Cloud ALM helps you to implement and operate intelligent cloud and hybrid business solutions. You benefit from an out-of-the-box, native cloud solution running on SAP BTP, designed as the central entry point to manage your complete SAP landscape with content-driven guided implementation and highly automated operations. - -With with the operations solutions in SAP Cloud ALM, you can handle both SAP BTP-based SaaS applications and your own applications. - -SAP Cloud ALM for operations provides a personalized and unified operations user experience. You can use purpose-driven different monitoring, analysis, and management use cases optimized for certain operations aspects. SAP Cloud ALM for operations empowers you to understand the health of your SAP business solutions and acts as collaboration platform between lines of business and IT. - -Under [Supported Solutions](https://help.sap.com/docs/cloud-alm/setup-administration/supported-solutions), you see which monitoring capabilities are available with SAP Cloud ALM. Under *SAP Solution*, filter for BTP and check the supported services from the operations area. - -Benefit from the powerful *Intelligent Event Processing*, embedded analytics, and intelligence functionality with a large variety of inbound and outbound integration. *Synthetic User Monitoring* monitors the performance and availability of web applications from a client-side perspective based on Selenium-based scripts. *Business Service Management* consolidates all operational events at business service level and shows them in a well-arranged event calendar. - -Specifically for Java and Node.js custom-built applications in SAP BTP, Cloud Foundry runtime, there are the Data Collection Instrumentation Libraries based on Open Telemetry designed to enable the data collection infrastructure in SAP Cloud ALM. With these libraries, you can collect data for the following use cases: - -- *Real User Monitoring*: Leverage both front-end and back-end measurements on single request level. - -- *Health Monitoring*: Gain insights on application health based on technical metrics. - -- *Integration and Exception Monitoring*: Collect and react on exceptions raised by the application. - -- *Job and Automation Monitoring*: Monitor SAP Job Scheduling Service jobs. - - -SAP Cloud ALM is the central place to integrate and access the monitoring of your existing IT service management processes, such as ticketing systems. - -Inbound and outbound APIs enable you to integrate data from your own applications. For more information, see the [API Guide for SAP Cloud ALM](https://help.sap.com/docs/cloud-alm/apis/api-reference). - -![](images/SAPCloudALM_operations_d378eed.jpg) - - - -
- -## More - -- [Implement SAP Cloud ALM](https://help.sap.com/docs/cloud-alm/setup-administration/provisioning) via SAP for Me - -- Application help for [SAP Cloud ALM for Operations](https://help.sap.com/docs/cloud-alm/applicationhelp/operations) - -- [SAP Cloud ALM for operations](https://support.sap.com/en/alm/sap-cloud-alm/operations.html) \(SAP Support Portal\) -- [Expert Portal for SAP Cloud ALM Operations](https://support.sap.com/en/alm/sap-cloud-alm/operations/expert-portal.html) \(SAP Support Portal\), with detailed configuration instructions - - diff --git a/docs/reference-application-34065a4.md b/docs/reference-application-34065a4.md deleted file mode 100644 index e6c5a9f..0000000 --- a/docs/reference-application-34065a4.md +++ /dev/null @@ -1,4 +0,0 @@ - - -# Reference Application - diff --git a/docs/sap-cloud-application-programming-model-node-js-java-and-typescript-696ec23.md b/docs/sap-cloud-application-programming-model-node-js-java-and-typescript-696ec23.md deleted file mode 100644 index d53dbe3..0000000 --- a/docs/sap-cloud-application-programming-model-node-js-java-and-typescript-696ec23.md +++ /dev/null @@ -1,74 +0,0 @@ - - -# SAP Cloud Application Programming Model: Node.js, Java and Typescript - - - - - -## Overview - - - - - -## Set Up SAP Business Application Studio - - - - - -## Develop - -Develop your application using the SDKs, libraries, and services of SAP BTP. Make sure to follow best practices and design patterns specific to SAP BTP. - -See [Develop](develop-58df1d6.md). - - - - - -## Test Locally - -Test your application in your local development environment to ensure it works correctly before deploying it to the cloud. - -See . - - - - - -## Deploy - -Deploy your application in SAP BTP using the environment you have chosen. - -See [Deploy](deploy-45d5acf.md). - - - - - -## Integrate - -See . - - - - - -## Monitor and Optimize - -Once your application is running on SAP BTP, set up the Monitoring and Audit Logging services to track application performance, resource usage, and other metrics. Optimize your application and deployment setup based on the insights you gain from these metrics. - -See . - - - - - -## Set Up Continuous Integration and Deployment - -Set up a Continuous Integration and Deployment pipeline to automate building, testing, and deploying your application whenever you make changes to the codebase. This will help you maintain a high-quality codebase and ensure quick and reliable deployments. - -See . - diff --git a/docs/sap-suite-of-business-modules-4efd0bc.md b/docs/sap-suite-of-business-modules-4efd0bc.md deleted file mode 100644 index 1e21083..0000000 --- a/docs/sap-suite-of-business-modules-4efd0bc.md +++ /dev/null @@ -1,4 +0,0 @@ - - -# SAP Suite of Business Modules - diff --git a/docs/service-cheat-sheet-511cac8.md b/docs/service-cheat-sheet-511cac8.md deleted file mode 100644 index 853ef7e..0000000 --- a/docs/service-cheat-sheet-511cac8.md +++ /dev/null @@ -1,137 +0,0 @@ - - -# Service Cheat Sheet - -**Golden Path Services for the Core Reference Application: Mid June 2023** - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -Capability - - - -Service - -
- -Development Environment - - - -There are two alternatives available: - -- Visual Studio Code and SAP Fiori tools - -- SAP Business Application Studio - - - - -
- -Programming Model - - - -[SAP Cloud Application Programming Model](https://cap.cloud.sap/docs/) - -
- -Programming Languages - - - -- Node.js - -- Java - - - - -
- -User Interface - - - -[SAP Fiori](https://sapui5.hana.ondemand.com/#/topic/03265b0408e2432c9571d6b3feb6b1fd) - -
- -Database - - - -[SAP HANA Cloud](https://help.sap.com/docs/HANA_CLOUD/f4997718ff9d45f49f90f5d01d16d5a0/2f0c5e3dc11d4eb8a1d6cb878a311f43.html) - -
- -Runtime - - - -Choose between the following runtimes: - -- Cloud Foundry - -- Kyma - - - - -
- -Digital Experience Portals - - - -[SAP Cloud Portal service](https://help.sap.com/docs/cloud-portal-service/sap-cloud-portal-service/sap-cloud-portal-service) - -
- -Continuous Integration and Delivery - - - -[Hyperspace](https://hyperspace.tools.sap/docs/) - -
- diff --git a/docs/transactional-application-373046e.md b/docs/transactional-application-373046e.md deleted file mode 100644 index fbbbe01..0000000 --- a/docs/transactional-application-373046e.md +++ /dev/null @@ -1,4 +0,0 @@ - - -# Transactional Application - diff --git a/docs/tutorials-for-abap-cloud-fd87aaa.md b/docs/tutorials-for-abap-cloud-fd87aaa.md deleted file mode 100644 index 534d346..0000000 --- a/docs/tutorials-for-abap-cloud-fd87aaa.md +++ /dev/null @@ -1,74 +0,0 @@ - - -# Tutorials for ABAP Cloud - -The ABAP Cloud best practices are documented in the form of step-by-step tutorials for learning how to develop and deploy full-stack transactional and analytical applications using the ABAP RESTful Application Programming Model \(RAP\) and embedded analytics. - -The exercises are based on the Travel sample application of the [Flight Reference Scenario](https://github.com/SAP-samples/abap-platform-refscen-flight) that is the best practice example for developing, deploying, and operating a full-stack application using ABAP RESTful Application Programming Model \(RAP\) and SAP Fiori. - -You can also go through the [Develop a Full-Stack RAP Application Following the SAP BTP Developer’s Guide](https://discovery-center.cloud.sap/missiondetail/4380/4666/) that is based on the Travel sample application. This mission has three main parts. The first part contains the RAP100 basics, for building an SAP Fiori application with RAP. The second part is for creating, developing, and integrating an SAP Fiori application. The third part builds on top of RAP100 basics and contains the intermediate tutorials, with additions such as dynamic feature control and ABAP unit tests. - - - -
- -## Analytical Scenario - -The analytical scenario shows the end-to-end development of an analytical application. It consists of a business service exposing an analytical query and a report built with SAP Analytics Cloud. The analytical report can be used to analyze complex situations and freely interact with large amounts of data in real time. - -The analytical scenario is provided in the form of tutorials with beginner and intermediate experience levels. - - - - - -## Transactional Scenario - -The transactional scenario shows the end-to-end development of a transactional SAP Fiori elements list report application. It consists of an OData-based business service built with RAP and an SAP Fiori elements-based UI. It also shows the deployment of the SAP Fiori application in the ABAP environment and its integration in the local SAP Fiori launchpad for SAP BTP, ABAP environment. - -You will develop a simple, transactional list report application, the Travel Processing application, that is used by a department responsible for processing worldwide travel for multiple agencies. - -The transactional scenario built with RAP is provided as a tutorial mission, which is divided into three tutorial groups with beginner and intermediate experience levels. - -The following beginner tutorial groups are available for the transactional scenario: - -- Build an SAP Fiori App Using the ABAP RESTful Application Programming Model \(RAP\) – Basics \[RAP100\] - - - [Get to Know the ABAP RESTful Application Programming Model](https://developers.sap.com/tutorials/abap-environment-restful-programming-model.html) - - - [Create Database Table and Generate UI Service](https://developers.sap.com/tutorials/abap-environment-rap100-generate-ui-service.html) - - - [Enhance the Business Object Data Model and Enable OData Streams](https://developers.sap.com/tutorials/abap-environment-rap100-enhance-data-model.html) - - - [Enhance the Business Object Behavior with Unmanaged Internal Numbering](https://developers.sap.com/tutorials/abap-environment-rap100-early-numbering.html) - - - [Enhance the Business Object Behavior with Determinations](https://developers.sap.com/tutorials/abap-environment-rap100-determination.html) - - - [Enhance the Business Object Behavior with Validations](https://developers.sap.com/tutorials/abap-environment-rap100-validation.html) - - -- Create, Deploy and Integrate an SAP Fiori elements App into SAP Fiori Launchpad for SAP BTP, ABAP Environment \[RAP100\] - - - [Create and Deploy an SAP Fiori Elements App to SAP BTP, ABAP Environment](https://developers.sap.com/tutorials/abap-environment-deploy-fiori-elements-ui.html) - - - [Integrate an SAP Fiori Elements App into the SAP Fiori Launchpad for SAP BTP, ABAP Environment](https://developers.sap.com/tutorials/abap-environment-integrate-app-into-flp.html) - - - -The advanced exercises of the transactional scenario are provided as a tutorial group. They are built on top of the exercises of the beginner tutorial groups. - -Build an SAP Fiori App Using the ABAP RESTful Application Programming Model \(RAP\) – Intermediate \[RAP100\]: - -- [Enhance the Business Object Behavior with Instance Actions](https://developers.sap.com/tutorials/abap-environment-rap100-instance-action.html) - -- [Enhance the Business Object Behavior with Factory Action](https://developers.sap.com/tutorials/abap-environment-rap100-factory-action.html) - -- [Enhance the Business Object Behavior with Dynamic Feature Control](https://developers.sap.com/tutorials/abap-environment-rap100-dynamic-feature-control.html) - -- [Write an ABAP Unit Test for the RAP Business Object](https://developers.sap.com/tutorials/abap-environment-rap100-unit-testing.html) - - -The [Develop and Consume Queries on SAP Analytics Cloud](https://developers.sap.com/tutorials/abap-environment-analytics.html) beginner tutorial is available for the analytical scenario. - -The [Develop Queries Based on Booking Supplement and Consume on SAP Analytics Cloud](https://developers.sap.com/tutorials/abap-environment-booking-supplements-analytics.html) tutorial covers the advanced exercises of the analytical scenario. - diff --git a/docs/tutorials-for-sap-cloud-application-programming-model-eb7420a.md b/docs/tutorials-for-sap-cloud-application-programming-model-eb7420a.md deleted file mode 100644 index b0c34e2..0000000 --- a/docs/tutorials-for-sap-cloud-application-programming-model-eb7420a.md +++ /dev/null @@ -1,127 +0,0 @@ - - -# Tutorials for SAP Cloud Application Programming Model - -The business scenario of the Incident Management application helps a company like ACME, a company dealing with electronics, that hires call center support representatives to process and manage customer incidents. A call center support representative, called a processor, receives a phone call from an existing customer and creates a new incident on behalf of the customer. The newly created incident is based on the customer complaint received during the phone call so the call center support representative also adds the conversation with the customer to the incident. - -This application enables the interaction between the members of the support team who are working on the customer's incident. The application is designed to allow support team members to initiate incident reports which are then processed by other support team members. - -The tutorials are built using the Incident Management application. Where applicable, these tutorials use the free plans of the respective services. - -Before you start using the services or runtimes, you need to manage your entitlements and add quotas to your subaccounts. See [Entitlements and Quotas](https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Validation/en-US/00aa2c23479d42568b18882b1ca90d79.html "When you purchase an enterprise account, you’re entitled to use a specific set of resources, such as the amount of memory that can be allocated to your applications.") :arrow_upper_right:. - -Note that if you want to try out services for free, you need to select free tier service plan, if available. For a list of free services, check the Service Catalog at [SAP Discovery Center](https://discovery-center.cloud.sap/servicessearch/Free%20Tier/). - -> ### Note: -> There is also a free plan for the SAP BTP, Cloud Foundry runtime and SAP BTP, Kyma runtime. To use the free plan of the runtimes, you have to configure the entitlements in the SAP BTP cockpit. You have one free plan for each runtime per global account and you can assign it to one subaccount at a time. - -The tutorials are organized in the following way. - -- Basic groups of tutorials for the Incident Management application. See: - - - [Develop a Full-Stack CAP Application](https://developers.sap.com/group.cap-application-full-stack.html) - - - [Deploy a Full-Stack CAP Application in SAP BTP, Cloud Foundry Runtime](https://developers.sap.com/group.deploy-full-stack-cap-application.html) - - - [Deploy a Full-Stack CAP Application in SAP BTP, Kyma Runtime](https://developers.sap.com/group.deploy-full-stack-cap-kyma-runtime.html) - - -- Separate tutorials for the additional modules based on the Incident Management application. - -- All these tutorials are grouped together in the [Develop a Full-Stack CAP Application Following the SAP BTP Developer’s Guide](https://discovery-center.cloud.sap/missiondetail/4327/4608/) mission in the SAP Discovery Center. - - - - - - -## Develop a Full-Stack CAP Application - -The [Develop a Full-Stack CAP Application](https://developers.sap.com/group.cap-application-full-stack.html) group of tutorials covers the following steps for developing the Incident Management sample application: - -- Setting up the development environment. See [Set Up SAP Business Application Studio](https://developers.sap.com/tutorials/set-up-bas.html). - -- Building a CAP application with SAP Fiori elements user interface and a custom logic. See: - - - [Build a CAP Application](https://developers.sap.com/tutorials/build-cap-app.html) - - - [Add SAP Fiori Elements UIs](https://developers.sap.com/tutorials/add-fiori-elements-uis.html) - - - [Add Custom Logic](https://developers.sap.com/tutorials/add-custom-logic.html) - - -- Adding local launchpad, authorization, tests for local development and preparing for production. See: - - - [Use a Local Launch Page](https://developers.sap.com/tutorials/use-local-launch-page.html) - - - [Add Authorization](https://developers.sap.com/tutorials/add-authorization.html) - - - [Add Test Cases](https://developers.sap.com/tutorials/add-test-cases.html) - - - [Prepare for Production](https://developers.sap.com/tutorials/prep-for-prod.html) - - - - - - - -## Deploy a Full-Stack CAP Application in SAP BTP, Cloud Foundry Runtime - -The [Deploy a Full-Stack CAP Application in SAP BTP, Cloud Foundry Runtime](https://developers.sap.com/group.deploy-full-stack-cap-application.html) group of tutorials covers the following steps for deploying the Incident Management application in the SAP BTP, Cloud Foundry runtime: - -- Deploying the application in a productive account in SAP BTP, Cloud Foundry runtime. See - - - [Prepare for Deployment in the SAP BTP, Cloud Foundry Runtime](https://developers.sap.com/tutorials/prepare-btp-cf.html) - - - [Deploy in SAP BTP, Cloud Foundry Runtime](https://developers.sap.com/tutorials/deploy-to-cf.html) - - - [Assign the User Roles](https://developers.sap.com/tutorials/user-role-assignment.html) - - -- Using SAP Build Work Zone, standard edition. See [Integrate Your Application with SAP Build Work Zone, Standard Edition](https://developers.sap.com/tutorials/integrate-with-work-zone.html). - -- Setting up continuous integration and delivery pipeline in SAP BTP. See [Set Up a CI/CD Pipeline](https://developers.sap.com/tutorials/set-up-cicd.html). - - - - - - -## Deploy a Full-Stack CAP Application in SAP BTP, Kyma Runtime - -The [Deploy a Full-Stack CAP Application in SAP BTP, Kyma Runtime](https://developers.sap.com/group.deploy-full-stack-cap-kyma-runtime.html) group of tutorials covers the following steps for deploying the Incident Management application in the SAP BTP, Kyma runtime: - -- Deploying the application in a productive account in SAP BTP, Kyma runtime. See - - - [Prepare for Deployment in the SAP BTP, Kyma Runtime](https://developers.sap.com/tutorials/prepare-btp-kyma.html) - - - [Deploy in SAP BTP, Kyma Runtime](https://developers.sap.com/tutorials/deploy-to-kyma.html) - - - [Assign the User Roles](https://developers.sap.com/tutorials/user-role-assignment.html) - - -- Using SAP Build Work Zone, standard edition. See [Integrate Your Application with SAP Build Work Zone, Standard Edition](https://developers.sap.com/tutorials/integrate-with-work-zone.html). - -- Setting up continuous integration and delivery pipeline in SAP BTP. See [Set Up a CI/CD Pipeline for SAP BTP, Kyma Runtime](https://developers.sap.com/tutorials/set-up-cicd-kyma.html). - - - - - - -## Additional Modules - -The tutorials for the additional modules are built on top of the basic groups of tutorials. Depending on what you need, you can pick up different modules. For each of these modules, the basic groups of tutorials is a prerequisite. The modules are: - -- [Connect to a Remote Service Using the SAP Destination Service](https://github.com/SAP-samples/btp-developer-guide-cap/blob/main/documentation/remote-service/README.md). - -- [Set Up Eventing Using the SAP Event Mesh Service](https://github.com/SAP-samples/btp-developer-guide-cap/blob/main/documentation/eventing/README.md). - -- [Set Up Audit Logging Using the SAP Audit Log Service](https://github.com/SAP-samples/btp-developer-guide-cap/blob/main/documentation/auditlog/readme.md). - -- [Configure Authorization and Authentication Using the Authorization Management Service and the Identity Authentication Service](https://github.com/SAP-samples/btp-developer-guide-cap/blob/main/documentation/xsuaa-to-ams/README.md). - -- [Implement Change Tracking](https://github.com/SAP-samples/btp-developer-guide-cap/blob/main/documentation/change-tracking/README.md). - - diff --git a/docs/what-is-sap-btp-developer-s-guide-ba26ec4.md b/docs/what-is-sap-btp-developer-s-guide-ba26ec4.md deleted file mode 100644 index 9e73cf9..0000000 --- a/docs/what-is-sap-btp-developer-s-guide-ba26ec4.md +++ /dev/null @@ -1,108 +0,0 @@ - - -# What Is SAP BTP Developer’s Guide? - -Learn about the SAP BTP Developer’s Guide and how you can use it to improve the process of implementing a business application on SAP BTP. - - - - - -## Overview - -The goal of the SAP BTP Developer’s Guide is to help you implement business applications on SAP BTP. This guide explains the building blocks for developing, delivering, and integrating business applications. - -Development projects for business applications have similar characteristics. Standardized development guidance is driving developer efficiency. - -Based on the experiences of successful business applications, this guide condenses best practices and technologies that can be safely recommended to you. These recommendations include: - -- A blueprint with a curated list of services that implement the standard nucleus of SAP business applications on SAP BTP. - -- An automated SAP BTP Infrastructure setup that handles provisioning, management, and configuration of resources on SAP BTP. - -- A standard set of technologies that ensure smooth integrations. - -- Guidance for delivering SAP cloud qualities and intelligent enterprise suite qualities. - - -The SAP BTP Developer’s Guide recommends the ABAP Cloud and SAP Cloud Application Programming Model \(CAP\) as the best architecture styles to implement for business applications. Both programming models integrate with SAP BTP services. - -![](images/SAP_BTP_Developer_s_Guide_Overview_61b7816.png) - -The SAP BTP Developer’s Guide complements existing documentation, such as the Best Practices for SAP BTP guide, by providing guidance concerning the recommended process to implement business applications on SAP BTP, especially for developers. See [Best Practices for SAP BTP](https://help.sap.com/docs/btp/best-practices/best-practices-for-sap-btp?version=Cloud). - -Another resource is the SAP BTP Guidance Framework - this is the central access point for architects, developers, and administrators to build and run enterprise-grade solutions on SAP BTP. It comprises decision guides, reference architectures, methodologies, recommendations, and DevOps principles. See [SAP BTP Guidance Framework](https://help.sap.com/docs/sap-btp-guidance-framework/guidance-framework/what-is-sap-btp-guidance-framework). - - - - - -## ABAP Cloud - -ABAP Cloud reflects the modern way to develop ABAP. It allows you to build lifecycle-stable and cloud-ready business applications, services, and extensions. - -ABAP Cloud provides tools and techniques that ensure cloud qualities, promotes new technologies, contains a cloud-optimized subset of the ABAP language, and makes upgrade cycles easier by a clear separation between custom code and SAP code by only using released APIs and objects. - - - - - -## SAP Cloud Application Programming Model - -The SAP Cloud Application Programming Model \(CAP\) is a framework of languages, libraries, and tools for building enterprise-grade services and applications. It supports Java \(with Spring Boot\), JavaScript, and TypeScript \(with Node.js\), which are some of the most widely adopted languages. CAP guides developers along a path of proven best practices and a great wealth of out-of-the-box solutions to recurring tasks. - -CAP-based projects benefit from a primary focus on the domain. Instead of delving into overly technical disciplines, CAP focuses on accelerated development and safeguarding investments in a world of rapidly changing cloud technologies. - -Here are some of the benefits that come with the SAP Cloud Application Programming Model \(CAP\): - -- Built-in best practices - -- Support for Visual Studio Code and SAP Business Application Studio tools - -- Safeguarded application development investments - -- No runtimes lock-in - -- Reuse and integration of SAP BTP application services - -- Latest UX and themes - - - - - - -## SAP Build Code - -SAP Build Code offers an AI-powered cloud development environment specifically tailored for SAP Cloud Application Programming Model \(CAP\) and SAPUI5 developers and supporting JavaScript, TypeScript and Java. - -By seamlessly integrating coding, testing, and application management, it streamlines the application development process on SAP BTP. SAP Build Code combines SAP Business Application Studio with the most essential services and SDKs on SAP BTP. - -With the integration of Joule, the innovative AI copilot of SAP, SAP Build Code enables automatic generation of application code, data models, services, and sample data. - -Using SAP Build Code ensures adherence to the best practices and guidance outlined in the SAP BTP Developer's Guide. - - - - - -## Contribute to the SAP BTP Developer’s Guide - -> ### Tip: -> The English version of this guide is open for contributions and feedback using GitHub. This allows you to get in contact with responsible authors of SAP Help Portal pages and the development team to discuss documentation-related issues. To contribute to this guide, or to provide feedback, choose the corresponding option on SAP Help Portal: -> -> - *Feedback* \> *Create issue*: Provide feedback about a documentation page. This option opens an issue on GitHub. -> -> - *Feedback* \> *Edit page*: Contribute to a documentation page. This option opens a pull request on GitHub. -> -> -> You need a GitHub account to use these options. -> -> More information: -> -> - [Contribution Guidelines](https://help.sap.com/docs/open-documentation-initiative/contribution-guidelines/readme.html) -> -> - [Introduction Video](https://www.youtube.com/watch?v=WJ0oarMlVW4) -> -> - [Introduction Blog Post](https://blogs.sap.com/2021/11/29/sap-btp-documentation-goes-github-new-collaboration-process/) - diff --git a/docs/what-s-new-for-sap-btp-developer-s-guide-7cf7a39.md b/docs/what-s-new-for-sap-btp-developer-s-guide-7cf7a39.md deleted file mode 100644 index 830c1cd..0000000 --- a/docs/what-s-new-for-sap-btp-developer-s-guide-7cf7a39.md +++ /dev/null @@ -1,159 +0,0 @@ - - -# What's New for SAP BTP Developer's Guide - - - - - -**2024** - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -Technical Component - - - -Environment - - - -Title - - - -Description - - - -Action - - - -Lifecycle - - - -Type - - - -Line of Business - - - -Modular Business Process - - - -Product - - - -Latest Revision - - - -Available as of - -
- -SAP BTP Developer's Guide - - - -- ABAP -- Kyma -- Cloud Foundry - - - - - -Build Your Application from Concept to Code - - - -The SAP BTP Developer's Guide now provides insights on how to deliver a cloud application from concept to a final product. The section **From Concept to Code** outlines a progressive approach that includes the following steps: - -- Identify the business problem - -- Deliver a cloud application from concept to a final product - -- Understand modularization in general - -- Understand modularization in the context of microservice-based architecture - -- Learn why the domain-driven design is an adequate approach - -- Learn about the domain-driven design starter modeling process - -- Check how complex your scenario is - - -For more information, see [From Concept to Code](https://help.sap.com/docs/btp/btp-developers-guide/from-concept-to-code?version=Cloud). - - - -Info only - - - -General Availability - - - -Announcement - - - -Technology - - - -Not applicable - - - -SAP BTP Developer's Guide - - - -2024-03-26 - - - -2024-03-21 - -
-