I need to containerize a service that talks to a SAP system. The service is written using Spring Boot.
I have a document that performs steps manually on Linux Machine which will help to connect to the SAP system. The steps it follows are:
I'm thinking to write a Dockerfile that included all the above steps. Don't know of any other alternatives for now.
Few Queries:
Can someone help me?
Appreciate all your help! Thanks in advance!
If you have a Java-based Spring app you can utilize SAP Jco library which can be used to connect to SAP system externally. The configuration steps are described here:
https://help.mulesoft.com/s/article/Enabling-SNC-in-SAP-connector
It is given in Mulesoft help but the main points will be the same for any Java-based system.
The most important JCo parameters that need to be set up for SNC:
Parameter | Name | Description |
---|---|---|
jco.client.snc_mode | SNC mode | 1: SNC is activated 0: SNC is not activated |
jco.client.snc_lib | SNC library path | Specifies the path and file name of the external library. The default is the system-defined library as defined in the environment variable SNC_LIB. Example: C:SAP\J2EE_Engine\SAPCrypto\libs\apcrypto.dll |
jco.client.snc_qop | SNC level | Specifies the level of protection to use for the connection. 1: Authentication only 2: Integrity protection 3: Privacy protection (default) 8: Use the value from snc/data protection/use on the SAP application server 9: Use the value from snc/data_protection/max on the SAP application server |
jco.client.snc_myname | SNC name | Specifies the SNC name. This parameter should be set to ensure that the correct SNC name is used for the connection. Example: p:CN=SAPJ2EE, O=MyCompany, C=US |
jco.client.snc_partnername | SNC partner | Specifies the SAP application server's SNC name. It can be found in the SAP profile parameter snc\identity\as. Example: p:CN=ABC, O=MyCompany, C=US |
Yes, I have a Java-based Spring app that connects to the SAP system externally. However, I need to containerize this Spring boot app. I was wondering once I write a Dockerfile that contains a command to run a simple Java application How will it connect to the SAP externally? Should I include those configurations in Dockerfile (The JCO library and parameters related to it)?
This question is more for Docker pro's, I'm not familiar with best-practice here
Thank you so much Suncatcher for your time and for sharing all the information.
So give kudoz if you find it useful