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 Context Intelligence Platform. 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_TYPENo (Optional) Must be "JKS" JAR_VERIFIER_KEYSTORE_PATHYes Path to the key store file JAR_VERIFIER_KEYSTORE_PASSYes Password for the key store file JAR_VERIFIER_CERTIFICATE_ALIASYes Alias of a certificate that was used to sign the JAR files (export JAVA_OPTS="$JAVA_OPTS... -DloqateDefaultCountry=USA...")