Jump to: navigation, search

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.

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