BCM
The BCM or Business Connector Manager service is responsible for managing incoming requests from clients to the framework. It is also responsible for providing the communication between an application and an interface process.
Configuration
You can configure the BCM service in the Ometa Framework by following these steps:
- Click the blue application menu in the top left corner.
Click Settings and then Framework.
Click BCM Process.
Properties
Property | Description |
---|---|
Port | Specify the port number for the BCM service. Changing this property requires a restart of the BCM service. |
Buffer Size | 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 transferring large result sets or you are using a high bandwidth, high latency connection (such as a satellite broadband provider). Changing this property requires a restart of the BCM service. The buffer size is expressed in bytes. |
Enable Throttling Percentage | The queue throttling mechanism will be enabled when the active BCM slots reach this percentage of the maximum allowed BCM's. Throttling will cause requests from the same source to be evenly spread among the available BCM processes. Unique requests will get the highest priority for receiving a BCM slot. |
Same Source Allowed Percentage In Throttling | When the throttling mechanism is enabled (Enable Throttling Percentage is reached), only this percentage of the active BCM slots can be used by the same source. E.g.: if this percentage is set to 20 and 50 BCM slots are active, a request from the source, which already has 10 BCM slots (20% of 50), will be placed in the queue until a slot from the same source is released. |
One Identical Source | When the active BCM slots reach this percentage of the maximum allowed BCM slots, a new BCM can only be given to a unique request. E.g.: if this percentage is set to 90 and a maximum of 100 BCM's is set, the last 10 BCM slots can only be used to server unique requests. |
Working Directory | Specify the path to the work folder. By default work files are stored in %OMETA_INSTALL_ROOT%\Ometa Software Suite\WorkDir. Changing this property requires a restart of the BCM service. |
Maximum Number of Instances | Specify how many BCM tasks can be running at once on the server (number between 100 and 1000). |
Maximum Queue Length | How many BCM tasks can be waiting in the queue at once on the server (number between Maximum Number Of Instances and 5 times the Maximum Number Of Instances). Each request above this maximum will be aborted with a TooManyRequests error. |
SSL | Check if the communication between clients, framework and the interfaces are secured with an SSL certificate. |
SSL Certificate | Specify an SSL certificate for securing the connection. |
Ignore SSL Errors | Specify if you want to ignore certificate errors such as expiration of the certificate, name mismatch, etc. |
Maximum Cache Size | Specify the maximum size of the framework cache folder (cached results from methods). The minimum is 5Gb. |
Auto Restart When Unhealthy | Specifies if the service will try to restart itself when it detects unhealthy conditions. |
Auto Restart Delay Window | The amount of minutes the service must be unhealthy before it will attempt an auto restart. |
Unhealthy Frozen Queue Minutes | Sets the amount of minutes that the queue is allowed to stay frozen. If there are requests in the queue and none of them gets processed within this amount of minutes, the service will consider itself unhealthy. An unhealthy service can lead to potential restarts. |
Send Reports To Ometa | Specifies if reports will be sent to Ometa when issues are detected (e.g.: unhealthy services). This will help us to better investigate issues when they occur and understand how our product is used. |
Report Client Id | The client id to use for authorizing a report upload to Ometa. This information is provided to you by Ometa upon request. |
Report Client Secret | The client secret to use for authorizing a report upload to Ometa. This information is provided to you by Ometa upon request. |
Anonymize Reports | Specifies whether generated reports will be anonymized. The reports will still contain server information and performance counters but no sensitive data (e.g.: method context data, urls, claims, ...) will be included. |
Profile Error Throttling Enabled | This setting allows to enable or disable the profile error throttling. |
Profile Error Throttling Threshold | This threshold defines the number of technical errors that must have occurred before a profile is temporarily blocked. The default value is 10. |
Dropping Interface Worker Connections After Losing Request Connections
If the BCM request notices that it has lost the network connection from the client (Generic REST, WpfGUI, BCSP, custom clients, ...), it will automatically drop the connection to the interface worker to signal that worker that it can stop executing the method script if possible.
This behaviour exists to stop requests as quickly as possible and free up BCM slots. All to be able to process incoming requests faster and lower CPU and memory usages of the host system.
Fixing SSL Issues
After enabling SSL for all connections between the framework processes, it won't be possible to connect to the framework with the Ometa Business Connector (= WpfGUI) without an SSL connection. This also means that when SSL connections start to fail due to handshake or other SSL errors, it won't be possible to disable SSL via the Business Connector.
Follow the steps from article "Start Ometa Business Connector", paragraph SSL Handshake Error Occurred to disable SSL from the Config table in the Ometa Framework database.