Difference between revisions of "Configure EventNotification Endpoint and Enterprise Service for CUI"
(→Notification Endpoint) |
(→Direct Access) |
||
(72 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | EventNotification Endpoint is a middleware which is responsible | + | 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. | This page describes how to setup the system. | ||
= Overview = | = Overview = | ||
− | * Make sure [[HowTo:Install_UBIK_Enterprise_Service|Enterprise Service]] and USAM are installed on IIS Server. | + | * Make sure the [[HowTo:Install_UBIK_Enterprise_Service|Enterprise Service]] and the [[HowTo:Install_UBIK_Web_Service#UBIK.C2.AE_Authentication_Web_Service_USAM.svc|USAM]] are installed on the IIS Server. |
− | * Install Notification Endpoint | + | * Install the Notification Endpoint Webservice on the IIS Server |
− | * Configure mandatory settings for Notification Endpoint Webservice | + | * Configure all mandatory settings for the Notification Endpoint Webservice |
− | * Configure Notification Endpoint | + | * Configure the Notification Endpoint Webservice URL in COMOS and enable notifications |
+ | * Make sure all files are accessible | ||
+ | [[Category:Version 4.3|Configure EventNotification Endpoint and Enterprise Service for CUI]] | ||
= Install Notification Endpoint = | = Install Notification Endpoint = | ||
− | * Download Notification | + | * Download the Notification Endpoint Webservice from the release portal. |
− | * Deploy the Notification | + | * Deploy the Notification Endpoint Webservice to the designated web app folder on the IIS Server (web app folder needs to be created if necessary) |
− | * Make sure COMOS is configured to | + | ** IIS Manager setting check: see [[Configure_EventNotification_Endpoint_and_Enterprise_Service_for_CUI#IIS_Manager|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". <br/> [[Image:WebsiteConfIIS.PNG|300px]] | ||
+ | ** "Site Name", "Application pool" and "Physical path" should be adapted by your setting, here are only example | ||
+ | * Configure a "Binding" for the website.<br/>[[Image:BindingIISConf.PNG|300px]] | ||
+ | ** The URL can be used as a direct access target, | ||
+ | ** '''or used as an internal target for [[Configure_EventNotification_Endpoint_and_Enterprise_Service_for_CUI#URL_redirection|URL redirection]].''' | ||
+ | |||
+ | [[Category:Version 4.3|Configure EventNotification Endpoint and Enterprise Service for CUI]] | ||
+ | |||
+ | =URL redirection= | ||
+ | * Install URL redirect feature by using "Server Manager", to "Add Roles and Features Wizard": | ||
+ | [[Image:Urlredirect.JPG|500px]] | ||
+ | * 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: | ||
+ | [[Image:InboundRules.PNG|500px]] | ||
+ | [[Image:InboundRules2.PNG|500px]] | ||
+ | |||
+ | '''Rewrite URL is defined base on direct access''' | ||
− | |||
= Notification Endpoint= | = Notification Endpoint= | ||
Adapt “Your/EventNotificationEndpoint/Folder/Configuration/config.json” file, configure at least the mandatory settings: | Adapt “Your/EventNotificationEndpoint/Folder/Configuration/config.json” file, configure at least the mandatory settings: | ||
− | + | * "USAMUrl": The URL of the USAM Service | |
− | * "USAMUrl": | + | * "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. |
− | * "QueuePath": | + | * "InComingLogPath": All received COMOS notifications will be stored here |
− | * "InComingLogPath": | + | * "ProcessUrl": The URL of the Enterprise Service web interface |
− | * "ProcessUrl": | + | <br/> |
+ | 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= | = Enterprise Service= | ||
− | * Go to UBIK.EnterpriseService folder, | + | * 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: | |
− | + | <source lang = "xml"> | |
− | + | <appSettings> | |
− | + | <!-- System.Diagnostics.ProcessWindowStyle: Normal = 0, Hidden = 1, Minimized = 2, Maximized = 3 --> | |
− | < | + | <add key="ConsoleRunMode" value="1" /> |
− | '''Make sure ContentController.json | + | <!-- 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> | ||
+ | </source> | ||
+ | '''Make sure ContentController.json exists.''' | ||
+ | * Create or adapt ContentController.json according to your database connection: | ||
+ | <source lang = "yaml"> | ||
{ | { | ||
− | + | "SqlConnectionDefinition": | |
+ | { | ||
"SSPI": false (or true, based on your DB setting), | "SSPI": false (or true, based on your DB setting), | ||
"SQLUser": "username", | "SQLUser": "username", | ||
Line 42: | Line 91: | ||
"SQLServer": "your SQL Server", | "SQLServer": "your SQL Server", | ||
"SQLInitialCatalog": "DB name" | "SQLInitialCatalog": "DB name" | ||
− | + | } | |
} | } | ||
− | + | </source> | |
+ | * Example: | ||
+ | ** "SQLUser": "aaa" | ||
+ | ** "SQLPassoword": "bbb" | ||
+ | ** "SQLServer": "(localdb)\ProjectModels" | ||
+ | ** "SQLInitialCatalog": "TEMPLATE.LOCAL" | ||
+ | '''Pay attention on JSON escape with ' \" ', ' \\ '''' | ||
==See also== | ==See also== | ||
<!-- DO NOT MODIFY THE NAME OF THIS SECTION, BUT REMOVE IT IF NOT REQUIRED --> | <!-- DO NOT MODIFY THE NAME OF THIS SECTION, BUT REMOVE IT IF NOT REQUIRED --> | ||
+ | * [[HowTo:Install_UBIK_Web_Service#UBIK.C2.AE_Authentication_Web_Service_USAM.svc]] | ||
+ | * [[HowTo:Install_UBIK_Enterprise_Service]] | ||
+ | |||
+ | [[Category:Version 4.3|Configure EventNotification Endpoint and Enterprise Service for CUI]] |
Latest revision as of 12:20, 23 August 2023
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", "Application pool" and "Physical path" should be adapted by your setting, here are only example
- 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
- Install URL redirect feature by using "Server Manager", to "Add Roles and Features Wizard":
- 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"
}
}
- Example:
- "SQLUser": "aaa"
- "SQLPassoword": "bbb"
- "SQLServer": "(localdb)\ProjectModels"
- "SQLInitialCatalog": "TEMPLATE.LOCAL"
Pay attention on JSON escape with ' \" ', ' \\ '