Human Capital Management Blogs by SAP
Get insider info on SAP SuccessFactors HCM suite for core HR and payroll, time and attendance, talent management, employee experience management, and more in this SAP blog.
cancel
Showing results for 
Search instead for 
Did you mean: 
Anton_Mavrin
Product and Topic Expert
Product and Topic Expert
1,165
One of my customers recently migrated their SAP Enable Now On-Premise system to the Cloud. The migration went well; all the legacy on-premise content changed its residence to the Cloud, and the Single Sign-On was re-configured with SAML 2.0. However, a delicate issue has occurred. It turned out that a large amount of 3rd party content outside of SAP Enable Now (i.e. on the intranet portal, in various LMS assets) referenced the legacy On-Premise SAP Enable Now server. If the customer shuts down the on-premise Enable Now Manager, all references will stop working. Instead of the nice-looking SAP Enable Now tutorial, one will see the nasty HTTP 404 error. Of course, the first solution which comes to one's mind is to update all the references to make them point to the Cloud system, but what if:

  • No one knows exactly how many references exist

  • No one knows where these attempts to reach the legacy content could come from

  • Everybody is busy doing business-critical tasks

  • You need to make all the legacy links work right now or, better, since yesterday.


In this delicate situation, you might find helpful the following solution:

  1. On the machine where the legacy SAP Enable Now On-premise system was running, we'll spin up a lightweight proxy server to forward all the requests to the Cloud SAP Enable Now.

  2. The customer can shut down the Apache Tomcat and SAP HANA database used for the SAP Enable Now On-premise to conclude the termination of the SAP Enable Now On-premise licenses.

  3. The proxy server will give the customer enough time to update the references in the 3rd party content, i.e. when the update is required.



Requirements



  • The same virtual/physical server which was used for the SAP Enable Now On-Premise

  • NodeJS installed

  • The SSL certificate and the private key used for establishing an HTTPS connection to the legacy SAP Enable Now On-Premise (Optional when the HTTPS connection wasn't used)

  • The proxy server source code from my GitHub repository


Setup



  1. Create the local account in your SAP Enable Now Cloud system, which we'll use as a service account to pass through the authentication. Obviously, the password should be pretty complex. The default Learners role should be enough to consume the published versions. Also, check whether the Learners or the root are included in the workareas' permissions.

  2. Locate the .env file in the proxy source code and enter the required values: your SAP Enable Now Cloud URL, the "service account" credentials



  3. If your legacy SAP Enable Now server utilized the secure HTTPS connection, upload the SSL certificate with the private key to the certificate folder of the proxy server and update the paths on lines 18 and 19 in the index.js file.



  4. Update the path to your legacy SAP Enable Now Manager on line 61 in the index.js file. Example: if my legacy SAP Enable Now Manager had the URL like this: https://i-love-on-premise.com/enmanager/, then the value in the pathRewrite object on line 61 will look like this

  5. Set the same HTTP or/and HTTPS port as your legacy SAP Enable Now Manager had on lines 13 (HTTP) and 74 (HTTPS).

  6. If the legacy SAP Enable Now on-Premise Manager only had the HTTP connection, comment out line 74.

  7. Adjust the SAP Enable Now user session update interval on line 44. The value is in milliseconds. In the below screenshot, it's set to 30 minutes. It must be less than the Validity Time of Session(s) value set in your SAP Enable Now Cloud Manager (Administration - Server Settings - General - Cahes and Timeouts)

  8. Start the proxy server by executing npm start


That's all folks!