Exploring the Development Lifecycle with SAP Cloud Applications Studio

Objective

After completing this lesson, you will be able to explore the development process to create a custom solution.

SAP Cloud Applications Studio

SAP Cloud Applications Studio is an Integrated Development Environment (IDE) based on Microsoft Visual Studio and runs on Windows. It can be used to adapt and enhance the capabilities of SAP cloud solutions. These capabilities include creating and integrating new business content, services, user interfaces, and more.

It can be used to extend multiple SAP Cloud solutions such as:

  • SAP Sales Cloud/SAP Service Cloud (former name was Cloud for Customer, C4C).
  • SAP Business ByDesign (ByD)
  • SAP Cloud for Travel and Expense (CfTE, retired)

Note

This training focuses on SAP Sales/Service Cloud.

Alternative Names and Important Terms

People use different names and abbreviations to refer to SAP Cloud Applications Studio and extend SAP cloud solutions with it. The commonly used names are:

  • The Studio, which refers to the IDE.
  • Software Development Kit (SDK), which also refers to the IDE.
  • Partner Development Infrastructure (PDI) usually refers to the IDE; however, sometimes it refers to the development process or the developed solution/project.

    Note

    The term Partner Development Infrastructure dates from the past when mainly partners developed solutions (add-ons) for their customers. Nowadays, customers also develop add-ons on their own. However, the abbreviation PDI is still in use and you can find it in some places within the system, such as access rights.

Solutions

Solution is the official name for a development project in SAP Cloud Applications Studio. Sometimes, it's also referred to as an add-on or add-on solution due to the additional features and content that a solution provides.

Another term that is commonly used is customer-specific solution. It's often used to indicate that something does not belong to the SAP core solution, similar to an add-on. At the same time customer-specific solution emphasizes that a solution is specifically developed for a particular customer. This detail will be further explored in a subsequent chapter (Solution Types and Switching the Customer Assignment).

The term custom development, on the contrary, refers to the development process.

Life Cycle Process Overview

SAP Cloud Applications Studio supports you during the full development life cycle of customer-specific solutions. The following interaction shows the process broken down into distinct steps:

You can find more details on the development life cycle in the SAP Help Portal.

This training will guide you through the development life cycle, covering the steps from creating a solution to deploying it to another tenant. The primary focus is to familiarize learners with the development environment and to demonstrate the different activities that need to be carried out to create or enhance content.

Please be aware that this beginner-level training concludes after the initial deployment of the solution. The subsequent stages of the life cycle, such as patch development, are considered advanced topics and are not covered here. Therefore, it is essential to acquire additional knowledge beyond this point before starting larger projects or working in production environments.

Patch Development Briefly Outlined

Patch development is an advanced topic. We're mentioning it briefly here so that you're aware of it and have a general idea of what it involves.

After the initial development of a solution is completed, it is moved to another tenant (test or production tenant). For that, the solution must be assembled and downloaded. On assembling the original solution it becomes read-only and cannot be changed anymore. The only way to "change" the solution is to create a patch. Creating a patch copies the original solution to a "patch solution" where you can continue development, add new features, fix bugs, and more. However, be aware that handling patch solutions works differently in comparison to working with the original solution. There are some limitations and specialties.

You can find more details on patches in the SAP Help Portal.

In-App Extensibility with SAP Cloud Applications Studio

When working with the SAP Cloud Applications Studio, development content is stored in a repository within the cloud system. Activating development items moves them to the runtime, a form where end users can use and test them. That's the key aspect of in-app extensibility. SAP Cloud Applications Studio is only used to work on and manage the content. When the development of a solution is completed, it can be deployed to and activated in another tenant

The following graphic visualizes this sequence:

Solution Types and Switching the Customer Assignment

Solution Types

With the studio you can create two kinds of solutions:

  • Customer-Specific Solutions
  • Solution Templates

Customer-specific solutions, as the name suggests, are developed to meet the specific needs of individual customers that are not covered by the cloud solution's core capabilities. At the same time, the term customer-specific refers to the fact that a solution is designed specifically for a particular customer and cannot be delivered to or used by another customer. Because a solution is associated with the customer it is developed for and carries its customer number. This prevents you from uploading a solution to different customers.

To offer the same add-on features to multiple customers, you can create a Solution Template. Solution templates are not complete solutions intended for direct customer delivery. Instead, they store reusable content that can be imported into customer-specific solutions. This enables you to utilize the same content for several customers.

Switching the Customer Assignment

We have just learned that a solution is always assigned to a specific customer. By default, a solution is assigned to the owner of the development tenant. That means the easiest way to develop an add-on for a specific customer is to work on the customer's tenant. This is a common approach.

You can also develop solutions for other customers on your own development tenant, but this requires an additional step: The studio allows you to Switch the Customer Assignment. However, you must do this prior to creating a solution. Once a solution is created, you cannot change its customer assignment anymore.

You can switch the customer assignment by selecting the same named item from the Administration menu. Be aware that the Solution Explorer only shows solutions for the respective customer assignment. That means you have to select the appropriate customer assignment not only before creating, but also when working on a solution for a particular customer.

You can find more information about this topic in the SAP Help Portal. Developing for different customers on your development tenant is a typical scenario for partners. Therefore some people say "development on a partner's tenant" instead of "your development tenant".

The following graphic visualizes the extra step when working on a development/partner tenant:

Note

Please note that from a contractual perspective, there are only two kinds of tenants: test and production tenants. When talking about "development" tenants, people usually refer to test tenants that are used for development. Some customers prefer a three-tenant environment with separate tenants for development, testing, and production. You can find more details on this advanced topic in this excellent blog article.

For demonstrations later in this training, we assume we work on a customer's tenant without a customer assignment switch.

Development Life Cycle on Customer and Partner Tenants

So far, we've learned about the general development life cycle, different tenant types, and how to switch the customer assignment. Let's have one more look at another version of the development life cycle in the following interaction. This time with the various stakeholders involved:

Log in to track your progress & complete quizzes