---- Beta Feature ----
This article describes a feature that although is supported, is currently in a beta state. If you'd like to join the beta program and provide feedback and future requirement suggestions please contact us to join the program.
---- Beta Feature ----
The Senzing App now has the ability to connect to a Senzing API repository, enabling search, recall and display of the entity data from a Senzing API system in the desktop app. The Senzing App exposes external projects, these are used to connect to a non-local repository such as used by default in the Senzing App.
This article will describe the setup and configuration for the Sezning App on Windows to communicate with the Senzing API repository on MySQL.
Due to the current beta status there are a number of limitations to be conscious of:
- Searching and entity recall is supported, loading to a remote system isn't
- The Senzing App must be on the same release build as the Senzing API system
- Remote connection URI information is stored in an INI file
- Remote connection URI information is stored in clear text including the userid and password, there is no secure store at this time
- There is no authentication outside of the OS level login and database credentials specified in the connection INI file
- If a user can login to the OS and the connection string in the INI file authenticates the connection to the remote repository the user can access the repository and entity information
- There is no direct auditing in the Senzing App to record a users queries and searches
- Some features you may have created or used on the Senzing APIs may not be searchable from the Senzing App
- Refresh of the entire entity repository for stats and information on very large entity repositories can be slow
- This feature currently isn't designed for very large systems, e.g. greater than 10M records loaded into the Senzing API
- The Senzing App installed on Windows and the Senzing APIs installed on a supported system
- Senzing APIs configured and functional using a MySQL repository
- Loaded data via the Senzing APIs
- MySQL ODBC Drivers installed and configured on the Windows system
- Network connectivity between the machines with the Senzing App and APIs
- Port opening for the MySQL port to enable communications from the Senzing App to MySQL
Windows ODBC setup
In addition to the MySQL ODBC Connector the Senzing App also requires the MySQL Connector/C. The easiest way to install both of these is to download the MySQL Installer for Windows.
- Once downloaded run the installer.
- On the Choosing a Setup Type window select Custom.
- Under MySQL Connectors select the appropriate X64 or X86 versions for both the MySQL ODBC Connector and MySQL Connector/C options and move them to the Products/Features To Be Installed pane.
- Click Next and Execute to install.
ODBC Data Sources
After installing the required MySQL connectors add an ODBC data source to the Windows ODBC Data Source Administrator.
- Launch the ODBC Data Source Administrator with Windows Key and typing in ODBC Data Sources. You might see a 32-bit and 64-bit version, choose the one for your platform (usually 64-bit).
- Click on the System DSN tab and then the Add... button. Select MySQL ODBC 8.0 Unicode Driver as the driver type and then Finish.
- Enter a Name, Description, IP address or hostname, user credentials and database name in the configuration window. Click Test to ensure the details are correct.
- Click OK 3 times to close the open windows.
Create Senzing App INI File
For the Senzing App to communicate with the Senzing API MySQL repository it needs to know how to connect and authenticate. Similar to the connection URI used in the Senzing APIs G2Module.ini this is provided via an INI file.
On the Windows machine where the Senzing App is installed create a new text file and enter the following information.
- <userid> = Userid of the MySQL user
- <password> = Password for the above MySQL user
- <ip/hostname> = IP Address or hostname of the Senzing API MySQL server
- <port> = Port number of the Senzing API MySQL server
- <name> = Database name of the Senzing API MySQL database
An example for the connection URI.
Save this new file as an INI file, for example SenzAPIMySQL.ini
Create Senzing App External Project
To create an external project pointing to the remote Senzing API repository the INI file created in the previous step is utilized.
- Open the Senzing App.
- In the upper right hand corner click the cog icon to open the preferences and toggle Enable Multiple Projects to on.
- In the upper left corner click the hamburger icon (3 horizontal lines) to expand the application menu, click on Projects to open the Projects window. On the Add Project card click Link Existing External Project.
- In the Add Project window enter a name for your project. Click the Browse button, navigate to the location of the INI file you created above and choose the INI file.
- If you'd like to connect to the Senzing API MySQL repository immediately select the Open immediately checkbox. Click Create to create the new externally linked project.
- If you selected to open immediately you will be taken back to the main Senzing App dashboard. If you didn't select open immediately you can open the new external project from the Projects menu.
- Upon entering the dashboard for the first time after creating and accessing the remote project the Senzing App refreshes the statistics and collects data from the remote Senzing API MySQL repository. Depending on the size of this repository this refresh could take from minutes to multiple hours.
- Once complete, the dashboard will display the details for the remote Senzing API repository. You can explore the results of Senzing ER and perform searches.