cTMS Architecture – Integration Suite (CPI)
Similar to transporting BTP Role Collections, the Content Agent Service can also be used to transport Cloud Integration (CPI) content.
While the overall setup remains largely the same, a few additional configurations specific to CPI are required.
Here we have four environments Dev, QA, UAT, and Prod, each corresponding to a separate BTP subaccount. We have provisioned the Cloud Transport Management Service (cTMS) in a separate subaccount. The Cloud Integration team develop/configure their content and export the same from the Dev subaccount using Content Agent Service integrated with Cloud Transport Management Service (cTMS), which then adds the transport to the QA node. From there, it is imported into QA and the subsequent environments (UAT, Prod) through Solution Manager (SolMan), leveraging Focused Build (FB) or Charm status transitions.
Additionally, this setup can be integrated with SAP Cloud ALM
Setup Steps:
Since several of these SaaS applications share common setup steps, please begin by following the initial setup steps outlined here Setting Up Cloud TMS for Various SAP SaaS Solutions
Step1: Enabling Content Transport
Enabling Content Transport involves the following major steps:
Step1a: Subscribe to Content Agent Service in Dev Subaccount
If you subscribe to Content Agent Service, you can trigger transports using it, if you want to use Cloud Integration to do that, you will have to setup additional destination, which was discussed in down section.
Follow These Steps:
Navigate to your SAP BTP Dev subaccount, where you want to subscribe to the Content Agent Service.
From the left-hand navigation pane, go to: Services → Service Marketplace
In the Service Marketplace, search for Content Agent.
Select the Content Agent tile from the search results.
Click Create
From the Plan dropdown, select free (the service type is preselected as Content Agent).
Click Create to confirm the subscription.
Click on Go Application to access Content Agent Service UI
From there you will be able to select the Content and export as transport using cTMS.
Step1b: Create Service Instance/key for Process Integration Runtime
Create a service instance/key for Process Integration Runtime to implement inbound communication. This should be setup in source subaccount.
1. From the Dev subaccount that hosts your SAP Cloud Integration application → Navigate to Instances and subscriptions → create
Plan – depending on your use case, select one of the following options, for our scenario, we used api plan
integration-flow
Use this plan to define inbound authentication for senders calling the integration flow endpoint (on an SAP Cloud Integration worker node).
api
Use this plan to define inbound authentication for API clients calling the SAP Cloud Integration OData API.
2. Select these roles in next section
Service Instance setup, create a Key and it is ready to use for “CloudIntegration” destination
Step1c: Selecting the Transport Mode
The content transport mechanism offers flexibility to move your integration artifacts using CTS+, cTMS and MTAR File Download to a local file system.
To enable a transport mode in Integration Suite:
Go to Settings → Tenant Settings → Open the Transport tab → Under Transport Mode, choose the following :Transport Management Service
Step2: Create a Service Instance and Key for Content Agent Service
In the Target SAP BTP account, where you want to perform Import you create the service instance and service key for the SAP Content Agent service with application plan.
This service key will be used in creating Destinations.
Note: Setup this in Source Subaccount also if you plan to setup Content Agent Destination for triggering transports from Cloud Integration
Step3: Create Content Agent Destination
You can skip creating this destination if you want to use the Content Agent Service’s web UI to trigger the transport. If you want to trigger from Cloud Integration, this destination is required and it should be setup in Source BTP Subaccount.
Name: Must be “ContentAssemblyService”
URL: https://content-agent-assembly.cfapps.<dc>.hana.ondemand.com
Authentication: OAuth2ClientCredentials
Token Service URL: Provide the URL under UAA from the CAS service key details
Client Id & Secret – Use the Content Agent Service Key details to setup this Destination.
Step4: Create Cloud Integration Destination
We need to setup this destination in Source Subaccount, where you perform export operations.
Name: Must be “CloudIntegration”
URL: https://<cpitenant>.cfapps.<dc>.hana.ondemand.com/api/1.0/transportmodule/Transport
Authentication: OAuth2ClientCredentials
Token Service URL: Provide the value of the oauth → tokenurl field from the Process Integration Runtime service key
Client Id & Secret – Use details from Process Integration Runtime service key
Step5: Create TransportManagementService Destination
SAP Content Agent service supports content transport using SAP Cloud Transport Management. To enable this service to Export the content to the transport queue of cTMS, this destination must be created in the Source SAP BTP account with this name.
Name: Must be “TransportManagementService”
URL: uri from the cTMS service key
Authentication: OAuth2ClientCredentials
Token Service URL: uaa → url from the cTMS service key
Use the Client ID & Secret from cTMS Service Key.
Step6: Create Destinations to CF Subaccounts
In the subaccount where the Cloud Transport Management (cTMS) service is subscribed, create a destination to each target BTP subaccount. We don’t setup any destination for Dev subaccount. Dev node in cTMS will be virtual for this scenario.
Name: Give appropriate name to resemble your CTMS Node
URL: https://content-agent-engine.cfapps.<dc>.hana.ondemand.com
Token Service URL: https://my-subdomain.authentication.<region>.hana.ondemand.com/oauth/token
client id, secret – use the details from Content Agent service key created in step2 above.
Step7: Configure Transport Nodes in cTMS
Prerequisites
You have been assigned one of the following roles: Administrator or LandscapeOperator.
From the cTMS UI, you can define transport nodes to represent your system landscape. There are multiple ways to create a node:
You can either Create a node on the Landscape Visualization screen or from Transport Nodes screen.
Allow Upload to Node: Enable this checkbox to allow file uploads to the node. Enabled for the Dev node only but in this scenario, Dev node will virtual.
Forward Mode: Default value is Auto, You can change this setting based on your landscape and transport flow requirements.
Controlled by SAP Solution Manager: Select this checkbox only if you plan to integrate with SAP Solution Manager (e.g., Charm or Focused Build). We will only enable this for QA and upper environments. When you enable this, it will not allow manual imports from cTMS UI, only through Charm/FB status change.
Note: If you plan to integrate with Cloud ALM, do not check this option.
Content Type: For Content Agent Service, select Multitarget Application archives.
Destination: Select the appropriate target destination you previously configured in your cTMS subaccount in Step6.
Step8: Create Transport routes in cTMS
In SAP Cloud Transport Management, transport routes are used to connect transport nodes.
Name: Provide the appropriate name
Chose the Source node & Target node and click on OK.
Your landscape loos like this
Note: You can also use Transport Landscape Wizard, with which you can setup the all your landscape nodes & routes at a time.
Step9: Integrate with Solution Manager
To integrate Cloud Transport Management (cTMS) with SAP Solution Manager (Charm / Focused Build), follow the step6 from below article.
If you want to integrate with Cloud ALM, follow the step7 from below article.
Setting Up Cloud TMS for Various SAP SaaS Solutions
Conclusion:
I hope you learned, how to setup cTMS for CPI using Content Agent Service. Now the setup is complete and ready for transporting the content using cTMS either integrated with SAP Solution Manager or Cloud ALM.
Thank you for reading my article, feel free to provide any feedback or comment for any questions.
Thanks,
Raghu
cTMS Architecture – Integration Suite (CPI)Similar to transporting BTP Role Collections, the Content Agent Service can also be used to transport Cloud Integration (CPI) content.While the overall setup remains largely the same, a few additional configurations specific to CPI are required.Here we have four environments Dev, QA, UAT, and Prod, each corresponding to a separate BTP subaccount. We have provisioned the Cloud Transport Management Service (cTMS) in a separate subaccount. The Cloud Integration team develop/configure their content and export the same from the Dev subaccount using Content Agent Service integrated with Cloud Transport Management Service (cTMS), which then adds the transport to the QA node. From there, it is imported into QA and the subsequent environments (UAT, Prod) through Solution Manager (SolMan), leveraging Focused Build (FB) or Charm status transitions.Additionally, this setup can be integrated with SAP Cloud ALMSetup Steps:Since several of these SaaS applications share common setup steps, please begin by following the initial setup steps outlined here Setting Up Cloud TMS for Various SAP SaaS Solutions Step1: Enabling Content TransportEnabling Content Transport involves the following major steps:Step1a: Subscribe to Content Agent Service in Dev SubaccountIf you subscribe to Content Agent Service, you can trigger transports using it, if you want to use Cloud Integration to do that, you will have to setup additional destination, which was discussed in down section. Follow These Steps:Navigate to your SAP BTP Dev subaccount, where you want to subscribe to the Content Agent Service.From the left-hand navigation pane, go to: Services → Service MarketplaceIn the Service Marketplace, search for Content Agent.Select the Content Agent tile from the search results.Click Create From the Plan dropdown, select free (the service type is preselected as Content Agent).Click Create to confirm the subscription.Click on Go Application to access Content Agent Service UIFrom there you will be able to select the Content and export as transport using cTMS.Step1b: Create Service Instance/key for Process Integration RuntimeCreate a service instance/key for Process Integration Runtime to implement inbound communication. This should be setup in source subaccount.1. From the Dev subaccount that hosts your SAP Cloud Integration application → Navigate to Instances and subscriptions → createPlan – depending on your use case, select one of the following options, for our scenario, we used api planintegration-flowUse this plan to define inbound authentication for senders calling the integration flow endpoint (on an SAP Cloud Integration worker node).apiUse this plan to define inbound authentication for API clients calling the SAP Cloud Integration OData API.2. Select these roles in next sectionService Instance setup, create a Key and it is ready to use for “CloudIntegration” destinationStep1c: Selecting the Transport ModeThe content transport mechanism offers flexibility to move your integration artifacts using CTS+, cTMS and MTAR File Download to a local file system.To enable a transport mode in Integration Suite:Go to Settings → Tenant Settings → Open the Transport tab → Under Transport Mode, choose the following :Transport Management ServiceStep2: Create a Service Instance and Key for Content Agent ServiceIn the Target SAP BTP account, where you want to perform Import you create the service instance and service key for the SAP Content Agent service with application plan. This service key will be used in creating Destinations. Note: Setup this in Source Subaccount also if you plan to setup Content Agent Destination for triggering transports from Cloud IntegrationStep3: Create Content Agent DestinationYou can skip creating this destination if you want to use the Content Agent Service’s web UI to trigger the transport. If you want to trigger from Cloud Integration, this destination is required and it should be setup in Source BTP Subaccount. Name: Must be “ContentAssemblyService”URL: https://content-agent-assembly.cfapps.<dc>.hana.ondemand.comAuthentication: OAuth2ClientCredentialsToken Service URL: Provide the URL under UAA from the CAS service key detailsClient Id & Secret – Use the Content Agent Service Key details to setup this Destination. Step4: Create Cloud Integration DestinationWe need to setup this destination in Source Subaccount, where you perform export operations. Name: Must be “CloudIntegration”URL: https://<cpitenant>.cfapps.<dc>.hana.ondemand.com/api/1.0/transportmodule/TransportAuthentication: OAuth2ClientCredentialsToken Service URL: Provide the value of the oauth → tokenurl field from the Process Integration Runtime service keyClient Id & Secret – Use details from Process Integration Runtime service key Step5: Create TransportManagementService DestinationSAP Content Agent service supports content transport using SAP Cloud Transport Management. To enable this service to Export the content to the transport queue of cTMS, this destination must be created in the Source SAP BTP account with this name. Name: Must be “TransportManagementService”URL: uri from the cTMS service keyAuthentication: OAuth2ClientCredentialsToken Service URL: uaa → url from the cTMS service key Use the Client ID & Secret from cTMS Service Key. Step6: Create Destinations to CF SubaccountsIn the subaccount where the Cloud Transport Management (cTMS) service is subscribed, create a destination to each target BTP subaccount. We don’t setup any destination for Dev subaccount. Dev node in cTMS will be virtual for this scenario. Name: Give appropriate name to resemble your CTMS NodeURL: https://content-agent-engine.cfapps.<dc>.hana.ondemand.comToken Service URL: https://my-subdomain.authentication.<region>.hana.ondemand.com/oauth/tokenclient id, secret – use the details from Content Agent service key created in step2 above. Step7: Configure Transport Nodes in cTMSPrerequisitesYou have been assigned one of the following roles: Administrator or LandscapeOperator.From the cTMS UI, you can define transport nodes to represent your system landscape. There are multiple ways to create a node:You can either Create a node on the Landscape Visualization screen or from Transport Nodes screen. Allow Upload to Node: Enable this checkbox to allow file uploads to the node. Enabled for the Dev node only but in this scenario, Dev node will virtual. Forward Mode: Default value is Auto, You can change this setting based on your landscape and transport flow requirements.Controlled by SAP Solution Manager: Select this checkbox only if you plan to integrate with SAP Solution Manager (e.g., Charm or Focused Build). We will only enable this for QA and upper environments. When you enable this, it will not allow manual imports from cTMS UI, only through Charm/FB status change. Note: If you plan to integrate with Cloud ALM, do not check this option. Content Type: For Content Agent Service, select Multitarget Application archives.Destination: Select the appropriate target destination you previously configured in your cTMS subaccount in Step6.Step8: Create Transport routes in cTMSIn SAP Cloud Transport Management, transport routes are used to connect transport nodes.Name: Provide the appropriate nameChose the Source node & Target node and click on OK. Your landscape loos like thisNote: You can also use Transport Landscape Wizard, with which you can setup the all your landscape nodes & routes at a time.Step9: Integrate with Solution ManagerTo integrate Cloud Transport Management (cTMS) with SAP Solution Manager (Charm / Focused Build), follow the step6 from below article. If you want to integrate with Cloud ALM, follow the step7 from below article. Setting Up Cloud TMS for Various SAP SaaS Solutions Conclusion:I hope you learned, how to setup cTMS for CPI using Content Agent Service. Now the setup is complete and ready for transporting the content using cTMS either integrated with SAP Solution Manager or Cloud ALM.Thank you for reading my article, feel free to provide any feedback or comment for any questions.Thanks,Raghu Read More Technology Blog Posts by Members articles
#SAP
#SAPTechnologyblog