Cleanse Functions Certification
Every cleanse function created and used in a Reltio configuration must pass certification for performance and other aspects before it can be used and deployed in production.
Consider the followings steps when passing the certification process.
- Certification by Reltio DEV - Ensure that the following points are taken care of:
- Does not contain memory leaks
- Does not contain exploits
- Does not contain attempts to work with file system, network, and any other slow devices (do not contain Reltio classes)
- Certification by Reltio QA - It must be tested using a test harness created by the
QA for performance before being used in live environments on the Reltio Data Cloud. While doing so, the following points must be taken care of:
- Record average time to execute and response time
- Minimum throughput of 1000tps
- Latency of less than 10ms
- Multi-threaded
- Location to deploy (maybe on Elastic Beanstalk for auto-scaling)
- Executable from Java
- Compile and sign JAR file(s) with the cleanse function implementation
- The cleanse function must be verified by the Reltio Dev and QA teams and then be compiled into JAR file(s).
- The person responsible for signing the cleanse function JAR file(s), must prepare the Java key store with the certificate to sign (for example, https://docs.oracle.com/cd/E19509-01/820-3503/ggfen/index.html).
- The compiled JAR file(s) must be signed using the certificate (using
jarsigner -keystore <path to.keystore> -storepass <password to .keystor> <path to jar file> <certificate alias>
). - Copy the keystore file to all Reltio API environments that require certificate validation for cleanse functions.
- Each API instance must be configured with the following System Properties:
Table 1. System Properties System Property Required Details JAR_VERIFIER_KEYSTORE_TYPE
No (Optional) Must be "JKS" JAR_VERIFIER_KEYSTORE_PATH
Yes Path to the key store file JAR_VERIFIER_KEYSTORE_PASS
Yes Password for the key store file JAR_VERIFIER_CERTIFICATE_ALIAS
Yes Alias of a certificate that was used to sign the JAR files (export JAVA_OPTS="$JAVA_OPTS... -DloqateDefaultCountry=USA..."
)