Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
TiaXu
Product and Topic Expert
Product and Topic Expert
34,253

Series – TMS:

Before having Content Agent service (CAS), the only way to transport integration content artifacts between integration tenants in the CF environment was to manually export and import them. This changes with the introduction of the SAP Content Agent service.

Content Agent service is a Cloud Foundry-based utility service. It acts like an agent that allows you to assemble the integration content and also export it to the transport queue using transport solutions like SAP Cloud Transport Management or the Enhanced Change and Transport System (CTS+). This is equivalent to the assembly and export functionality provided by Solution Lifecycle Management Service in the Neo Environment.

The following sample configuration describes the scenario: Transport SAP Cloud Integration (CI/CPI) Content with Transport Management Service (TMS) and Content Agent Service (CAS). You have different subaccounts, for example, a DEV subaccount, a TEST subaccount, and a PROD subaccount, and each subaccount has a CPI tenant. You want to transport the content archives of the source DEV subaccount to the target TEST subaccount and further PROD account.

cpi_tms.png

Prerequisites

  • Three separate subaccounts (for DEV Node, TEST Node, and PROD Node)
  • Integration content (a package, for example)
  • Entitlements:
    • Integration Suite, Cloud Integration (for each subaccount)ServicePlanCategory
      Process Integration(any)Application
      Process Integration RuntimeapiService
    • Transport Management Service (can be provisioned to any single subaccount, called TMS subaccount in this post):

      ServicePlanCategory
      Cloud Transport ManagementstandardService
      Cloud Transport Managementstandard (Application)Application
    • Content Agent Service (can be provisioned to any single one subaccount, called CAS subaccount in this post, where should have a destination for CI and TMS configured)

      ServicePlanCategory
      Content Agent ServicestandardService

Configuration Entries

  • Transport Destination for TEST Node and PROD Node (TMS subaccount)
  • Transport Node for DEV Node, TEST Node, and PROD Node (TMS subaccount)
  • Transport Route between DEV Node, TEST Node, and PROD Node (TMS subaccount)
  • A Destination pointing to the CAS Service (DEV subaccount)
  • A Destination pointing to the CI Service (CAS subaccount)
  • A Destination pointing to the TMS Service (CAS subaccount)

TMS and CAS can be provisioned to any single one subaccount. In this post, for convenience, you can place them together, for example, DEV subaccount.

TMS.drawio.png

 

Step 1: Set Up the TMS Environment (TMS subaccount)

Please follow this guide to set up your TMS environment: https://help.sap.com/viewer/7f7160ec0d8546c6b3eab72fb5ad6fd8/Cloud/en-US/8d9490792ed14f1bbf8a6ac08a6...

Then, in order to enable TMS transport configuration in CI tenant, you should have the Role AuthGroup.Administrator assigned. Besides, in order to see the Transport button in CI tenant to trigger the whole transport process, you should ensure the Role WorkspacePackagesTransport assigned to yourself as well:

image-20220322145053109.png

You can either add this Role to your existed Role Collection, or add it into a new one.

Step 2: Configure Destinations for Deployment (TMS subaccount)

In SAP Cloud Transport Management, transport destinations are used to address the target endpoint of a deployment process, so transport destinations (for deployment) need to be set for each node that is planned to deploy the content. In this scenario, we should configure transport destinations for both TEST Node and PROD Node.

Create Destination for TEST Node

In SAP BTP Cockpit of the subaccount with TMS provisioned, choose Connectivity -> Destinations -> New Destination.

image-20220225154735209.png

Fill in with the following information:

FieldValueDescription

NameTest_NodeFor example.
TypeHTTP 
URLhttps://deploy-service.cfapps.<default-domain>/slprot/<myorg>/<myspace>/slp.As a result, the CI content (MTA) is deployed into the space <myspace> of the organization <myorg>. The default domain can be found in the API Endpoint. For example (BTP@AliCloud): https://deploy-service.cfapps.cn40.platform.sapcloud.cn/slprot/beta-support_testagain-75bwmerz/tms/s...
AuthenticationBasicAuthentication 
User Specify the name of the technical user that is used for the deployment. The technical user used for the destination must be a valid user on Cloud Foundry environment, and it must have the role SpaceDeveloper in the target space.
Password  

For example:

image-20220325170356394.png

Click Save.

Click Check Connection, it will return 200: OK

image-20220322145709672.png

For more details, please read: Create Transport Destinations

Create Destination for PROD Node

The same as above.

For example:

image-20220325170747746.png

Step 3: Configure Transport Nodes (TMS Subaccount)

In Cloud Transport Management, transport nodes represent the source and target endpoints of a deployment process - for example, a Cloud Foundry subaccount. Transports take place between transport nodes.

Create DEV Node

Make sure you have one of the roles Administrator or LandscapeOperator assigned to your user.

You have the following options to create transport nodes:

  • Choose Landscape Visualization from the navigation pane, and then click button + (Create a Node).
  • Choose Landscape Wizard from the navigation pane, then select a template for your landscape, and create your transport nodes as part of the process.
  • Choose Transport Nodes from the navigation pane, and click button + (Create a new node).

image-20220225162320977.png

In this post, we create node with option Transport Nodes.

Open the Transport Management home screen:

image-20220225163428974.png

Navigate to Transport Nodes, click button + (Create a new node):

image-20220225162638905.png

Only provide the name, description, and check the checkbox of Allow Upload to Node. Leave everything else as empty (by default) and click OK. This will act as your source transport node.

image-20220322152351250.png

For more details, please read: Create Transport Nodes

Create TEST Node

Create a new one and fill it in with the following information:

image-20220322152708715.png

We need to set the Destination so as to deploy the CI content into corresponding tenant.

Create PROD Node

Create a new one and fill it in with the following information:

image-20220322152746453.png

We need to set the Destination so as to deploy the CI content into corresponding tenant.

Step 4: Configure Transport Routes (TMS Subaccount)

You can use the same transport node as a source node for multiple transport routes. However, you can use the same transport node only once as a target node for a transport route.

You have the following options to create transport nodes:

  • Choose Landscape Visualization from the navigation pane, and then choose to Create a Route, or select a transport node and choose to Create Route from the side menu.
  • Choose Landscape Wizard from the navigation pane, then select a template for your landscape, and create your transport routes as part of the process.
  • Choose Transport Routes from the navigation pane, and choose to Create a route.

image-20220225163920100.png

In this post, we create a node with the option Transport Routes.

Create Transport Route between DEV Node and TEST Node

On your SAP Cloud Transport Management home screen, click button + (Create a route):

image-20220225164137970.png

Fill in with the following information:

image-20220322153022066.png

Click OK.

For more details, please read: Create Transport Routes

Create Transport Route between TEST Node and PROD Node

The same as above.

For example:

image-20220322153116734.png

Step 5: Create Instance and Service Key of CAS Service (CAS subaccount)

Under anyone subaccount, create a CAS instance and a service key:

image-20220324193227165.png

For more details, please read: Create Instance and Create Service Key

Step 6: Create Destination Pointing to CAS Service (DEV subaccount)

In SAP BTP Cockpit of the source DEV subaccount, choose Connectivity -> Destinations -> New Destination.

Fill in with the following information:

 

FieldDescription

NameProvide value as ContentAssemblyService. Please note that this value is case-sensitive.
TypeHTTP
DescriptionYou can provide a description for your reference. This field is optional.
URLProvide the URL from the service key details.
Proxy TypeInternet
AuthenticationOAuth2ClientCredentials
Client IDProvide the client ID from the service key details.
Client SecretEnter the client secret.
Token Service URLProvide the URL from the service key details. Note: Append the value oauth/token to the Token Service URL.
Token Service UserNo inputs required.
Token Service PasswordNo inputs required.

For example:

image-20220324193403157.png

If you check the connection, you can ignore response 401.

For more details, please read: Create SAP Content Agent Service Destination

Step 7: Create Instance and Service Key of CI Service (DEV subaccount)

Under your DEV subaccount, create an instance of Process Integration Runtime, plan api with Role WorkspacePackagesTransport:

image-20220120143727943.png

Create a service key for the instance:

image-20220324193312123.png

Step 8: Create Destination Pointing to CI Service (CAS subaccount)

In SAP BTP Cockpit of the subaccount with CAS provisioned, choose Connectivity -> Destinations -> New Destination.

Fill in with the following information:

 

FieldDescription

NameProvide value as CloudIntegration.This value is case-sensitive.
TypeHTTP
DescriptionYou can provide a description for your reference. This field is optional.
URLProvide the URL of the system that you want a create a destination to.The format is: <oauth → url>/api/1.0/transportmodule/Transport.
Proxy TypeInternet
AuthenticationOAuth2ClientCredentials
Client IDProvide the value of the uaa → clientid field from the service key.
Client SecretProvide the value of the uaa → clientsecret field from the service key.
Token Service URLProvide the value of the tokenurl field from the service key.
Token Service UserNo inputs required.
Token Service PasswordNo inputs required.

For example:

image-20220324194124702.png

If you check the connection, you can ignore response 401. You can check the connection later in the CI tenant.

For more details, please read: Create SAP Cloud Integration Destination

Step 9: Create Destination Pointing to TMS Service (CAS subaccount)

In SAP BTP Cockpit of the subaccount with TMS provisioned, choose Connectivity -> Destinations -> New Destination.

Fill in with the following information:

 

FieldDescription

NameProvide value as TransportManagementService. Please note that this value is case-sensitive.
TypeHTTP
DescriptionYou can provide a description for your reference. This field is optional.
URLProvide the URL from the service key details.
Proxy TypeInternet
AuthenticationOAuth2ClientCredentials
Client IDProvide the client ID from the service key details.
Client SecretEnter the password
Token Service URLProvide the URL from the service key details.
Token Service UserNo inputs required
Token Service PasswordNo inputs required
Additional PropertiessourceSystemId: Enter the ID of the source node of the transport route, for example, DEV_Node.

You can check the sourceSystemId in the TMS tenant:

image-20220324200109124.png

For example:

image-20220324194205673.png

If you check the connection, you can ignore response 401. You can check the connection later in the CI tenant.

For more details, please read: Export using SAP Cloud Transport Management

Step 10: Configure Transport Mode in CI Service (DEV subaccount)

Log into your CI tenant as an administrator.

Click on Settings -> Transport, click on Edit (bottom right corner), and then set Transport mode to Transport Management Service and Save.

Note: To enable this setting AuthGroup.Administrator role required.

image-20220120145029757.png

Click Check Configuration to check the necessary configuration behind including both destinations pointing to CI service and TMS service. You will get results as below if your destinations are correctly configured:

image-20220120153421805.png

Step 11: Test (DEV subaccount)

Trigger Transport Process

Open the CI package that you want to transport and click the trigger button Transport in the upper right corner.

image-20220120154136065.png

Fill in comments for this transport and click Transport:

image-20220324201547073.png

If your content is successfully exported as an MTAR file by CAS service, it will return a message as below:

image-20220324201958809.png

You can check the status in the TMS tenant:

image-20220324202110685.png

Import to TEST Node and Transport to PROD Node

In the TMS service, the export process of DEV_Node will create a transport request and attach the content archive into the import queue of the target node, in this case, namely TEST_Node. Then, the administrator can manually trigger the import process to transport the content archive into the TEST subaccount. As a result, the CI package will be available in the CI tenant of the TEST subaccount, and at the same time, the content archive will be transported to the import queue of the next node PROD_Node.

Go into the TEST_Node, select the transport request, and click Import Selected, the content archive will be imported (deployed) into the TEST subaccount and immediately transported into the PROD_Node:

image-20220324202257752.png

Confirm the execution again by clicking OK:

image-20220324202450775.png

If this action is executed successfully, it means the application has been successfully deployed into the CI tenant of the TEST subaccount. At the same time, the content archive has been transported to the import queue of the PROD_Node.

image-20220324203654359.png

Check the package in the CI tenant of the TEST subaccount:

image-20220324203815191.png

Import to PROD Node

Repeat the operations exactly the same as you do for the TEST_Node. Then the content will be transported further into the next CI tenant.

Step 12: More Options to Transport CI Content with CAS

SAP Content Agent service enables you to assemble the content from the content providers (for example, CI service, API Management, etc.) in MTAR format. Later, this content is either available for download or exported to the configured transport queue, such as Change and Transport System (CTS+) or SAP Cloud Transport Management.

In another word, CI and CAS provide three options of Transport Mode for you to configure. In this post, we transport the content with the mode Transport Management Service.

The three options of Transport Mode in CI service:

image-20220324204841201.png

  1. CTS+ Direct: For more details, you can read: Export Using Change Management System (CTS) Destination
  2. MTAR Download: You can download the MTAR file locally and do further deployment or transportation manually.
  3. Transport Management Service: This can be achieved by performing all the above steps.

cas_cpi.png

For more details, please read: Content Assembly and Export

Reference

Help Portal - Sample Configuration Scenario: Transport of Content Archives directly in another Appli...

Help Portal - Enabling Content Transport, Cloud Foundry Environment

Blog - Introducing SAP Content Agent service: Enhanced Transport Capabilities for SAP Cloud Integrat...

 

 

22 Comments