Configure EventNotification Endpoint and Enterprise Service for CUI
EventNotification Endpoint is a middleware which is responsible for receiving incoming COMOS event notifications, queuing them internally and forwarding them to the UBIK® Enterprise Service for further processing. This page describes how to setup the system.
Contents
Overview
- Make sure the Enterprise Service and the USAM are installed on the IIS Server.
- Install the Notification Endpoint Webservice on the IIS Server
- Configure all mandatory settings for the Notification Endpoint Webservice
- Configure the Notification Endpoint Webservice URL in COMOS and enable notifications
- Make sure all files are accessible
Install Notification Endpoint
- Download the Notification Endpoint Webservice from the release portal.
- Deploy the Notification Endpoint Webservice to the designated web app folder on the IIS Server (web app folder needs to be created if necessary)
- IIS Manager setting check: see IIS Manager
- Make sure COMOS is configured to send notifications.
IIS Manager
Direct Access
- Add a new website under the "Sites" folder in IIS Manager.
- Connect the new site to the corresponding physical folder via the website's "basic settings".
- "Site Name",
- Configure a "Binding" for the website.
- The URL can be used as a direct access target,
- or used as an internal target for URL redirection.
URL redirection
- Click on the Web Site, which will be exposed to the outside
- Open "URL Rewrite" at "....Home"
- Add rule(s) as 'Inbound Rule' like the following:
Rewrite URL is defined base on direct access
Notification Endpoint
Adapt “Your/EventNotificationEndpoint/Folder/Configuration/config.json” file, configure at least the mandatory settings:
- "USAMUrl": The URL of the USAM Service
- "QueuePath": The folder containing all files, which will be sent to Enterprise Service for processing. After having been processed by ES, the corresponding files will be deleted.
- "InComingLogPath": All received COMOS notifications will be stored here
- "ProcessUrl": The URL of the Enterprise Service web interface
Optional settings:
- "LogPath": Path to your log files folder
- "DeleteLogAfter": Maximum age (in days) to keep log files for
- "DBkeys": Json string array containing the white list of COMOS DBkeys (empty or delete for receiving all DBkeys)
Enterprise Service
- Go to the UBIK.EnterpriseService folder,
- Copy and paste UBIK.Interface.CUI.dll to the “Injection” folder (create it if it does not exist).
- Open UBIK.EnterpriseService.exe.config, find the “appSettings” section, configure all necessary information, and add the "ContentControllerConfigPath" setting to the end:
<appSettings>
<!-- System.Diagnostics.ProcessWindowStyle: Normal = 0, Hidden = 1, Minimized = 2, Maximized = 3 -->
<add key="ConsoleRunMode" value="1" />
<!-- Nothing = 0, Mark = 1, Delete = 2 -->
<add key="CommandFileAction" value="0" />
<add key="ClearWatchFolders" value="0" />
<!-- Path to json file. Pointing to EnterpriseServicePluginExecutionConfigHolder -->
<add key="PluginExecutionConfigPath" value="" />
<add key="ClientSettingsProvider.ServiceUri" value="" />
<!--TEST IF ONLINE USING BROWSER // GET http://localhost:9000/api/basicenterpriseservice/getuptimeinfo-->
<!-- switch on WebInterface: 1, switch off WebInterface : 0 -->
<add key="ExecuteWebInterface" value="1" />
<add key="ExecuteTaskByJsonFile" value="0" />
<!-- Notification Endpoint config ProcessUrl -->
<add key="WebInterfacePort" value="9000" />
<add key="WebInterfaceHost" value="http://localhost" />
<!-- Add this to the ES config file -->
<add key="ContentControllerConfigPath" value="your\setting\path\ContentController.json" />
</appSettings>
<!-- System.Diagnostics.ProcessWindowStyle: Normal = 0, Hidden = 1, Minimized = 2, Maximized = 3 -->
<add key="ConsoleRunMode" value="1" />
<!-- Nothing = 0, Mark = 1, Delete = 2 -->
<add key="CommandFileAction" value="0" />
<add key="ClearWatchFolders" value="0" />
<!-- Path to json file. Pointing to EnterpriseServicePluginExecutionConfigHolder -->
<add key="PluginExecutionConfigPath" value="" />
<add key="ClientSettingsProvider.ServiceUri" value="" />
<!--TEST IF ONLINE USING BROWSER // GET http://localhost:9000/api/basicenterpriseservice/getuptimeinfo-->
<!-- switch on WebInterface: 1, switch off WebInterface : 0 -->
<add key="ExecuteWebInterface" value="1" />
<add key="ExecuteTaskByJsonFile" value="0" />
<!-- Notification Endpoint config ProcessUrl -->
<add key="WebInterfacePort" value="9000" />
<add key="WebInterfaceHost" value="http://localhost" />
<!-- Add this to the ES config file -->
<add key="ContentControllerConfigPath" value="your\setting\path\ContentController.json" />
</appSettings>
Make sure ContentController.json exists.
- Create or adapt ContentController.json according to your database connection:
{
"SqlConnectionDefinition":
{
"SSPI": false (or true, based on your DB setting),
"SQLUser": "username",
"SQLPassword": "password",
"SQLServer": "your SQL Server",
"SQLInitialCatalog": "DB name"
}
}
"SqlConnectionDefinition":
{
"SSPI": false (or true, based on your DB setting),
"SQLUser": "username",
"SQLPassword": "password",
"SQLServer": "your SQL Server",
"SQLInitialCatalog": "DB name"
}
}