When PRIME is running in the cloud it does not have access to internal customer systems, like, for example, LDAP. It can not be guaranteed that a service in the customer's network can be accessed. To get access to customer systems, the DataSyncProxy is introduced. The DataSyncProxy is a small Spring Boot application. It is placed and runs on a machine in the customers network environment. The machine on which the DataSyncProxy runs must have access to internal systems like LDAP. The DataSyncProxy connects with PRIME (in the cloud) with a normal http connection. The connection is held as long as the proxy is running. While the connection is held, PRIME (in the cloud) is able to send Server-Sent Events (SSE) to the DataSyncProxy. The DataSyncProxy allows accessing a subsystem (search and export) in the same way as with any data source in a non-cloud installation of PRIME.
The picture illustrates how the DataSyncProxy is placed in the customer's network.
This article is valid from Nexus PRIME 3.8.
In PRIME's system.properties you can configure the following values. This has to be done for PRIME Explorer (for executing searches, exporting data, ...) and for PRIME Designer (for testing connection, getting the scim resource types and getting the attribute lists).
# turn DataSyncProxy on/off dataSyncProxy.enabled=true dataSync.responsePollingIntervalInMs=200 dataSync.responsePollingTimeoutInMs=30000 dataSync.proxyConnectionTimeoutInMs=3600000 # when the connection timeout above occurs, spring logs a message on error level. To disable this enter: (Note: if you want to be sure not to miss any other logs do not turn this on) dataSync.suppressSpringMvcExceptionsWhileTimeout=true
In the custom.properties of the DataSyncProxy you can configure the following values:
# Custom logging configuration logging.config=./log4j2.xml # The Url of the Prime server prime.rest.url=https://123.456.789.121:8443/prime_explorer # The Tenant id the Proxy is used for prime.rest.tenantId=1 # The userName for which to call the Rest Service prime.rest.userName=admin # The password of the user which triggers the Rest Service prime.rest.password=admin # The delay how often the proxy checks if the connection is still active (in milliseconds) prime.rest.reconnect.delay=15000