Getting Started with Kapsel – Appendix K — SAP HANA Cloud Platform Mobile Services (SP09+)
Appendix L: SAP HANA Cloud Platform Mobile Services(HCPms)
The samples written for this guide were developed and tested against the SMP 3.0 server on premise version. This section will demonstrate how Kapsel can be used with SAP HANA Cloud Platform Mobile Services(HCPms) and point out a few differences.
One benefit of using software in the cloud is that with just a few clicks, an instance of the software is ready to be used. By comparison the download for the SMP 3.0 server install is over 2 GB and can take a while to download and install. In general a server that is hosted in the cloud will automatically have patches applied to it, have backups taken, handle failover, and have hardware capacity added or removed as needed. When the server is in the cloud, depending on the setup, individual developers may have less access to configuration files, log files and changes made by one developer could affect all others using the shared server.
One of the first differences seen between the cloud and on premise versions of the server is that the management cockpit is different. It is Fiori based.
Another difference is that the management cockpit host and the host used to access the server are different. The following is an example of the URL used for the management cockpit.
The following is the host name used to connect to the server from within the app.
One more difference is that the user name and password to access the HCPms server is your SAP Community Network user name and password or possibly an SAP supplied client certificate.
The following sections provide some examples and guidance for Kapsel plugins that interact with the HCPms.
- Open the Mobile Services Cockpit.
- Click on Applications, then click on the + icon in the bottom toolbar.
Create a new Application with an application ID of
and a name of
The type should be Hybrid and the Security Configuration can be set to None.
Provide the following URL for a Backend URL.
Set the Authentication Type to be Basic Authentication and provide the user name and password to access the Backend URL.
The proxy type can be No Rewriting or Rewrite URL on HANA Mobile Server
Select Proxy Type Internet since this URL is a publicly available URL as opposed to one that is only available internally on a corporate network.
- Register against this server in Chrome using register.html from the Logon section.
Remember to place a copy of datajs-1.1.2.min.js in the same directory as register.html.
Change the getSMPURL method to use HTTPS and port 443.
Also change the value for the SMP Host to be the URL for your server instance such as hcpms-i82xxxxtrial.hanatrial.ondemand.com.
Finally remember to restart Chrome using the –disable-web-security flag to avoid CORS errors.
- In order to use the Logon plugin to register against an SMP server that uses HTTPS, the mobile device or simulator will have to trust the certificate that the server is using. The certificate authority used by a particular HCPms server can be seen by examining the site in a Chrome browser as shown below.
Note, the Baltimore CyberTrust Root is installed by default on Android and iOS devices and emulators.
- If your network uses a proxy to access the internet, you may need to set a proxy for your device or emulator so that it can access the HCPms server. See also Proxy Setting for Android.
- Create or reuse a project similar to the one shown in the Logon section. Modify the serverHost variable to point to the name of the server hosting the HCPms, use port 443, and https=true.
In the management cockpit for the backend notice that the following URL which uses HTTP rather than HTTPS is used.
If you do wish to use HTTPS, the following instructions may be helpful. How to use HTTPS Connections with SMP Cloud.
The steps for using the AppUpdate plugin are essentially the same between the on premise and cloud server. Follow the instructions from the AppUpdatesection of the guide and make sure to change the host, port and https settings in index.html to match the values used for your HCPms server.
"serverHost": "hcpms-i82xxxxtrial.hanatrial.ondemand.com", //Place your SMP 3.0 server name here "https": "true", "serverPort": "443",
Also, when running the kapsel deploy command make sure to change the servername, port, user name and password.
kapsel package kapsel deploy com.mycompany.appupdate hcpms-i82xxxxtrial.hanatrial.ondemand.com:443 i82xxxx mypassword
Note that when using the kapsel deploy command the staged version (if there is one) is set to be the current version rather than the version being deployed. This has been reported as BCP issue 1570460186
The Management Cockpit can also be used to deploy the zip file generated by the kapsel package command. Under App Specific Settings, choose Upload Kapsel and then once uploaded, select it and choose Deploy.
In the above screenshot, the app with a deployment version of 1.0.5 is currently deployed to all users. The newer version could be made available as a staging version to testers by clicking on the stage link. Once it has been tested, it could then be deployed for all users.
To enable a user to receive staged versions, go to Registrations and Users, select the user and enable the Is Tester toggle.
Follow the instructions from the Push section of the guide and make sure to change the host, port and https settings in index.html to match the values used for your HCPms server. One difference is how a user is assigned to the Notification User role. This is the user name and password that is allowed to send a notification from the HCPms server to the registered devices.
Open the SAP HANA Cloud Platform Cockpit
Click on Services
Under SAP HANA Cloud Platform Mobile Services, click on the Roles icon.
Click on Roles, select the Notification User role and assign your user id to the role.
Note, it may take some time before this setting takes effect.
The following is an example of sending a notification to an app that has registered with the HCPms server. Notice that for the unauthenticated user is named public rather than nosec_identity as it would be if using the on premise version of the server.
Follow the instructions from the Logger section of the guide and make sure to change the host, port and https settings in index.html to match the values used for your HCPms server. The uploaded log files can be viewed under Logs > Logs and Traces. Various filters can be set to help find the uploaded log entry such as filtering by the application ID and by type.
Follow the instructions from the Settings section of the guide to enable the log level of the application to be set by the management cockpit and the settings plugin.
Follow the instructions from the Offline section of the guide and make sure to change the host, port and https settings in index.html to match the values used for your HCPms server.
The Maximum Connections setting under the Backend tab in the management cockpit for the application com.mycompany.offline2 must be set to 0 to workaround a problem where a read request against services.odata.org would take 60 + seconds following an update.
Follow the instructions from the SAP Fiori Client section of the guide and make sure to change the host, port and https settings in index.html to match the values used for your HCPms server.
Note that the Fiori Demo URL cannot be used when proxying through either the on premise or HCPms server.
The fiori lauchpad will call the path / after logout. Doing this will lead into a 401 because / is not mapped to the oDP session context.