Table of Contents

Post Installation Settings

After the installation of the Ometa Framework is complete, there are still some settings you can tweak to get an even better performance and usability.

1. Core Web Service

Make sure the Core Web service is configured with the proper Framework BC Folder setting.

Please check the Core Framework Service - Framework BC Folder Configuration if you haven't done already.

2. Generic REST Settings

In framework versions before v5.4, all Generic REST settings were stored in the the appsettings.json configuration file. As this could pose security risks, all those settings are migrated to the Ometa Framework database starting from framework v5.4.

The migration step is done by the DbMigration after its data seeding. That migration process will read in the Generic REST settings from the appsettings.json file and copy them over to the corresponding database tables dbo.Config, config.SharePointAuthentications, config.SharePointRewriteUrls.

Note

The appsettings.json file is not modified. After the migration, the original settings will still be in the file but remain unused. This provides the opportunity to compare the original values to the ones in the database. It is safe to remove them from the appsettings.json file.

Important

Any already pre-existing values in the database will NOT be overwritten. Existing configuration is not modified and will have to be adapted manually in the database if necessary.

Consult the article Generic REST Service - Service Settings for more information.

3. BAM Windows Service

The BAM Windows service, BAM service for short, may need some configuration changes.

For a new installation of the framework the default settings match the old BAM method job settings as closely as possible.

Read the Configuration article for detailed settings information. A full description of all features can be found at BAM Service.

Note

Make sure that the BAM database connection string is provided or the service will fail to work.

Shared Settings

All settings of the BAM Windows service can be found in the general appsettings.json file, in the %OMETA_INSTALL_ROOT%\Ometa Software Suite directory.

In case of an upgrade, an appsettings.json file may be present in the %OMETA_INSTALL_ROOT%\Ometa Software Suite\Services\BAM WinService directory. We advice to move all settings from that file to the general appsettings.json file in %OMETA_INSTALL_ROOT%\Ometa Software Suite as that will make configuring the framework easier to manage. The BAM Windows service is equipped to search for the general settings file.

Any reference to SharedSettingsFiles can be removed.

4. Framework Settings

In this section you'll get an overview of all framework settings which can be fine-tuned.

In most scenario's the default settings are sufficient. However, take a look at the following settings because they might be relevant:

Follow the next steps to see the framework settings in the Ometa Business Connector:

  1. Start the Ometa Business Connector.
  2. Click on the blue application menu in the top left corner.
  3. Click on Settings.
  4. Click on Framework.

Framework Settings Application Menu

Architecture

The following architecture image gives you a better understanding of the internal working from a framework server.

Framework Architecture

  1. The Web API Server opens a socket via TCP 2005 to the BCM service.
  2. The BCM service opens a socket connection on TCP 2002 to the BCSL service.
  3. The BCSL service opens an internal connection to an interface, e.g.: BCS_SAP to retrieve data from SAP.
  4. The BCSL passes the connection of the BCM process to BCS_SAP (SAP interface). Communication is now directly between BCM and BCS_SAP.
  5. BCS_SAP executes the action on the SAP server.

BCA Service

The BCA or Business Connector Administration service is responsible for connection pooling and managing the work directory.

A larger buffer size potentially reduces the number of empty acknowledgements (TCP packets with no data portion), but might also delay the recognition of connection difficulties. Consider increasing the buffer size if you are using a high bandwidth or high latency connection (such as a satellite broadband provider).

In this case the default size is enough because messages sent to the BCA are always rather small. Changing this property requires a restart of the BCA service. The buffer size is expressed in bytes.

BCM Service

The BCM or Business Connector Manager service listens for incoming requests to the Ometa Framework.

The port number of the BCM service. Changing this property requires a restart of the BCM service. It is not recommended to change the port number.

Interface Server

The maximum amount of memory in megabytes that an interface process may use. If the interface process is above this amount three method executions in a row, it will be terminated despite any other settings. This setting is also applied to already running interfaces within one minute.

Example: if you change this setting to 50 MB, existing interfaces with a memory consumption of 50 MB, will be killed after three method executions. Wait one minute to make sure the setting is applied to all running interfaces. The counter of three is reset when the memory consumption goes below the setting.

BCSP Service

Parallel Workers

The amount of threads the BCSP service can start when multiple actions should be performed by the BCSP service.

Configuration Table

A lot of options are configurable through the GUI, but eventually most of them end up in the configuration table.

This is a list of the most important settings in our configuration table.

Key Value Example Description
Allowed Collection Fieldnames To Csv identity.emails,case.roles,originatingcase.roles Contains the names of the fields which will be serialized to a separate csv field. Names are comma separated.
E.g.: identity.emails is a collection of email addresses. With this configuration in place, a new field named identity.emails.csv will be created with the collection values as a csv.
Keep in mind that a new csv field will always be created, even if the field doesn't have a collection as value.
Authority Service Url https://authority.ometa.net The url of the Ometa Authority Service.
Core Service Url https://core.ometa.net The url of the Ometa Core Service.
Environment Development The environment of the installation. Valid values are Development, Testing, Acceptance & Production.
Generic REST Service Url https://rest.ometa.net The url of the Generic REST Service.
Repository Server framework.ometa.net The hostname of the framework server.

5. Antivirus Exclusions

Antivirus software could potentially have a huge performance impact on the whole Ometa framework.

Ometa recommends to exclude atleast the following directories to ensure the framework does not encounter any delays:

  • %OMETA_INSTALL_ROOT%\Ometa Software Suite\WorkDir
  • %OMETA_INSTALL_ROOT%\Ometa Software Suite\TopDir\BC\Bin\Interfaces
  • %OMETA_INSTALL_ROOT%\Ometa Software Suite\TopDir\BC\Profiles
  • %OMETA_INSTALL_ROOT%\Ometa Software Suite\TopDir\BC\Objects
  • %OMETA_INSTALL_ROOT%\Ometa Software Suite\Services\Ometa Generic REST Service\WorkDir

Optionally, exclude the log directories of BAM, Authority Service and Core Service.

  • %OMETA_INSTALL_ROOT%\Log

6. Understanding IIS Recycling

IIS (Internet Information Services) recycling is a critical process for maintaining the stability and performance of web applications hosted on IIS servers. It involves restarting application pools within IIS, which helps manage memory usage, prevent memory leaks, and ensure optimal performance by refreshing worker processes.

IIS recycling

Why IIS Recycling?

Over time, web applications running on IIS can consume increasing amounts of memory, leading to degraded performance and potential stability issues. IIS recycling addresses this by periodically restarting application pools, terminating existing worker processes, and starting new ones. This not only frees up memory but also ensures that resources are efficiently managed.

Scheduling IIS Recycling

It is crucial to schedule IIS recycling at a time when network traffic is minimal to minimize disruption. Typically, a fixed time such as 2:00 AM is recommended. Additionally, to stagger the downtime of each service, it's advisable to use different recycle times for each application pool. The interval between recycling actions can vary, but it's generally recommended to set it between 10 to 30 minutes. For example:

  • Ometa Core Service: 2:00 AM
  • Ometa Authority Service: 2:10 AM
  • Ometa Generic REST Service: 2:15 AM

Fine-Tuning the Recycling Schedule

With proper monitoring, you can optimize the recycling schedule further. By monitoring the memory consumption of the W3WP worker processes daily, you can gauge when recycling is necessary. Once you have sufficient data, you can extend the recycle time to once a week and schedule recycling for the weekend.

It's recommended to check memory consumption every Friday before the weekend to ensure that it is not alarmingly high. This proactive approach helps maintain system stability and ensures optimal performance for your web applications hosted on IIS servers.

7. Health Reports & Telemetry

The Ometa Framework monitors the health of the installed Ometa software and its server. In case of any detected health issues, reports are created which can be automatically send to Ometa Hq (opt-in feature). We encourage to enable this so Ometa will know immediately if something unexpected/unhealthy is happening with the Ometa installation.

This is what you'll need to do to enable this feature.

Request a Telemetry Client

First, Ometa needs to register an entry on its Telemetry environment to be able to receive the reports. Consult your Ometa contact and request this Telemetry Client.

Database Configuration Table

The following configuration parameters must be set in the dbo.Config table.

By default, all these parameters are empty.

Name Description
Send Reports To Ometa Hq Whether sending reports to Ometa is enabled. If anything but 'True' is configured, sending reports is disabled.
Ometa Hq Core Service Url The url of the core service responsible for processing the reports. Defaults to https://telemetry-core.ometa.net if not filled in.
Ometa Hq Auth Service Url The url of the authority service responsible for processing the telemetry client registration requests. Defaults to https://telemetry-auth.ometa.net if not filled in.
Report Client Id The client id of the telemetry registration. You'll receive this information from your Ometa contact.
Report Client Secret The client secret of the telemetry registration. You'll receive this information from your Ometa contact.
Anonymize Reports Whether or not to anonymize the data in the report. If anything but 'False' is configured, reports are anonymized and will not contain sensitive or personal data.
Important

Your firewall must be configured to allow HTTPS request to the 'Ometa Hq Core Service Url' and 'Ometa Hq Auth Service Url'.

Report Data

The following data is collected and send to Ometa (if enabled) when an health issue arises.

  1. Current Method Executions

    All methods which were executing at the time the report was created. This includes per method:

    • Start Time
    • Current Duration
    • Object
    • Method
    • Profile
    • Output
    • If the report is not anonymized: all context data of the method execution
    Important

    The context of a method execution can contain sensitive data from your (ERP) systems and your users (e.g.: claims). Make sure this is allowed by your company policies before disabling anonymization.

  2. Performance Data

    A complete set of system variables which include:

    • Hostname
    • Processor Count
    • Os Platform Information
    • Physical Memory (Usage) Information
    • Cpu (Usage) Information