Jump to: navigation, search

Difference between revisions of "Configure EventNotification Endpoint and Enterprise Service for CUI"


(Notification Endpoint)
(Direct Access)
 
(36 intermediate revisions by the same user not shown)
Line 7: Line 7:
 
* Configure all mandatory settings for the Notification Endpoint Webservice
 
* Configure all mandatory settings for the Notification Endpoint Webservice
 
* Configure the Notification Endpoint Webservice URL in COMOS and enable notifications
 
* 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 =
Line 16: Line 18:
  
  
= IIS Manager=
+
== IIS Manager ==
 +
 
 +
= Direct Access =
 
* Add a new website under the "Sites" folder in IIS Manager.
 
* 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]]
 
* 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]]
 
* Configure a "Binding" for the website.<br/>[[Image:BindingIISConf.PNG|300px]]
 
** The URL can be used as a direct access target,
 
** The URL can be used as a direct access target,
** or used as an internal target for URL redirection.
+
** '''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": 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.
+
* "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  
+
* "InComingLogPath": All received COMOS notifications will be stored here  
* "ProcessUrl": The URL of the Enterprise Service endpoint
+
* "ProcessUrl": The URL of the Enterprise Service web interface
 +
<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,
* Check if CUI plugin installed,
+
* Copy and paste UBIK.Interface.CUI.dll to the “Injection” folder (create it if it does not exist).
** Copy paste UBIK.Interface.CUI.dll to “Injection” folder.
+
* Open UBIK.EnterpriseService.exe.config, find the “appSettings” section, configure all necessary information, and add the "ContentControllerConfigPath" setting to the end:
* If Injection does not exist, create it.
+
** Open UBIK.EnterpriseService.exe.config:
+
* Find “appSettings” session, configure all necessary information, and add "ContentControllerConfigPath" to the end :
+
 
<source lang = "xml">
 
<source lang = "xml">
        <appSettings>
+
<appSettings>
<!-- System.Diagnostics.ProcessWindowStyle: Normal = 0, Hidden = 1, Minimized = 2, Maximized = 3 -->
+
    <!-- System.Diagnostics.ProcessWindowStyle: Normal = 0, Hidden = 1, Minimized = 2, Maximized = 3 -->
<add key="ConsoleRunMode" value="1" />
+
    <add key="ConsoleRunMode" value="1" />
<!-- Nothing = 0, Mark = 1, Delete = 2 -->
+
    <!-- Nothing = 0, Mark = 1, Delete = 2 -->
<add key="CommandFileAction" value="0" />
+
    <add key="CommandFileAction" value="0" />
<add key="ClearWatchFolders" value="0" />
+
    <add key="ClearWatchFolders" value="0" />
<!-- Path to json file. Pointing to EnterpriseServicePluginExecutionConfigHolder -->
+
    <!-- Path to json file. Pointing to EnterpriseServicePluginExecutionConfigHolder -->
<add key="PluginExecutionConfigPath" value="" />
+
    <add key="PluginExecutionConfigPath" value="" />
<add key="ClientSettingsProvider.ServiceUri" value="" />
+
    <add key="ClientSettingsProvider.ServiceUri" value="" />
<!--TEST IF ONLINE USING BROWSER  // GET http://localhost:9000/api/basicenterpriseservice/getuptimeinfo-->
+
    <!--TEST IF ONLINE USING BROWSER  // GET http://localhost:9000/api/basicenterpriseservice/getuptimeinfo-->
                <!-- switch on WebInterface: 1, switch off WebInterface : 0 -->
+
    <!-- switch on WebInterface: 1, switch off WebInterface : 0 -->
<add key="ExecuteWebInterface" value="1" />
+
    <add key="ExecuteWebInterface" value="1" />
<add key="ExecuteTaskByJsonFile" value="0" />
+
    <add key="ExecuteTaskByJsonFile" value="0" />
                <!-- Notification Endpoint config ProcessUrl -->
+
    <!-- Notification Endpoint config ProcessUrl -->
<add key="WebInterfacePort" value="9000" />
+
    <add key="WebInterfacePort" value="9000" />
<add key="WebInterfaceHost" value="http://localhost" />
+
    <add key="WebInterfaceHost" value="http://localhost" />
                <!-- Add this to the ES config file -->
+
    <!-- Add this to the ES config file -->
<add key="ContentControllerConfigPath" value="C:\UBIK\CUI.ES.Config\ContentController.json" />
+
    <add key="ContentControllerConfigPath" value="your\setting\path\ContentController.json" />
</appSettings>
+
</appSettings>
 
</source>
 
</source>
'''Make sure ContentController.json exist.'''
+
'''Make sure ContentController.json exists.'''
* Open ContentController.json, change the content base on the requirement:
+
* Create or adapt ContentController.json according to your database connection:
 
<source lang = "yaml">
 
<source lang = "yaml">
 
{
 
{
Line 71: Line 91:
 
       "SQLServer": "your SQL Server",
 
       "SQLServer": "your SQL Server",
 
       "SQLInitialCatalog": "DB name"
 
       "SQLInitialCatalog": "DB name"
      }
+
    }
 
}
 
}
 
</source>
 
</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.

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)
  • 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".
    WebsiteConfIIS.PNG
    • "Site Name", "Application pool" and "Physical path" should be adapted by your setting, here are only example
  • Configure a "Binding" for the website.
    BindingIISConf.PNG
    • 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":

Urlredirect.JPG

  • 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:

InboundRules.PNG InboundRules2.PNG

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>

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"
    }
}
  • Example:
    • "SQLUser": "aaa"
    • "SQLPassoword": "bbb"
    • "SQLServer": "(localdb)\ProjectModels"
    • "SQLInitialCatalog": "TEMPLATE.LOCAL"

Pay attention on JSON escape with ' \" ', ' \\ '

See also