Applies to version: 2022.1.x and above; author: Łukasz Maciaszkiewicz
Introduction
WEBCON BPS uses services to run special operations that generally do not require user interaction. Unlike Portal, which acts as a host for a website, the service can have multiple roles performing calculations and executing long operations defined previously by a user.
This article describes the roles the services can perform in the WEBCON BPS system, and indicates modules linked with particular roles and presented in the “Running modules” report.
Process databases
Process databases are content databases that store instances of the processes created in the WEBCON BPS system. The majority of the service roles operate within the framework of such databases. When performing a role, a service processes the data included in the process database.
To access such data, the service must be associated with the process database. Such association is particularly important when there are several databases available. In such case it is possible to associate a specific process database with a specific service running on a separate server to ensure higher efficiency or to associate one service with all databases.
To add or delete process databases associated with a service, click respectively the plus or minus icon in the “Associated process databases” (the “System settings” button in the lower, left corner → the “Services configuration” node from the selection tree on the left → “Services” → service name → the “Service” tab in the newly opened window). However, note here that you can create additional process databases using the WEBCON BPS installer.
The “Associated process databases” with two process databases
Service roles
A service role defines an operation or a set of operations the service is responsible for. When performing such roles, a service runs modules, i.e. separate system components executing concrete functions in the framework of a role.
The modules that were activated can be seen in a report available in Designer Studio (the “Reports” button in the left, lower corner → the “BPS WorkFlow Service” from the selection tree → the “Running modules” item). You can configure the service roles by checking out the respective checkbox in the service configuration window (the “System settings” button in the lower, left corner → the “Services configuration” node from the selection tree on the left → “Services” → service name → the “Services” tab in the newly opened window). There are 9 service roles available. After checking or unchecking a given checkbox, save the configuration and click the “Load configuration” button. The new configuration would not load if the last-mentioned action is skipped.
Service role configuration
The service roles available in the WEBCON BPS system are discussed below along with information on their corresponding modules in the “Running modules” report.
Each process database has one basic features module. This means that you cannot have two services running the basic features for the same process database. Checking the “Basic features” role with several associated process databases means that the service executes tasks attributed to this role for all the associated databases.
The “Basic features” checkbox is a collective option that groups multiple functions in the service. The functions run within this role are the following:
User synchronization – a number of operations that involve copying data from external data sources. The service is responsible for synchronization of organizational structure acquired from external sources, such as Windows domain controllers, Azure Active Directory service, LDAP, or custom subordination structure sources. Moreover, the basic feature can run organizational structure synchronization in accordance with the user-defined schedule, and synchronize individual users. It is worth noting that the service also synchronizes user photos that are downloaded from external data sources and inserted in the WEBCON BPS database. The photos are then inserted in the form next to the user name and, in the majority of cases, their synchronization occurs during the user synchronization or shortly after it in accordance with the user-defined schedule. The service also provides data on domain and organizational unit for the purpose of user synchronization configuration in Designer Studio which involves downloading organizational structure in a user-configured manner (“System settings” → “BPS users list” → “Synchronization configuration”).
Associated modules: “User synchronization queue”, “User synchronization incremental schedule”, “User synchronization schedule”, “User photos synchronization”, „WCFService”.
Barcode handling – printing, reading, or inserting a barcode. A printer driver is used to print a barcode. It is also necessary to configure the “Printout a barcode label” action and the barcode printer itself. Printing takes place on a server a service operates on. It is thus necessary to ensure proper communication between such server and the printer by configuring a firewall, installing drivers, etc. The service is also tasked with reading barcodes inserted in attachments to instances due to the duration of such operation. The “Read a barcode” action is used to trigger the reading. “Read a barcode”. Another operation executed by the service is adding a barcode to a given file, e.g. a PDF file, attached to an instance by means of the “Add a barcode” action. As in the case of reading a barcode, the operation is executed by a service due to its duration.
Associated modules: “Barcode printer”.
Notifications – various operations related to delivering messages or notifications. The service sends, among other things, queued e-mail messages, i.e. the ones added to a queue by the “Send a custom e-mail” action, or mass notifications in the form of e-mail messages containing a summary of the number of active tasks (direct and CC) in all processes and task details for each process (in accordance with process configuration). Additionally, the service sends mobile PUSH notifications that update counters of new tasks assigned to a user in the system.
Associated modules: “Sending emails”, “Mass notifications”, “Push notifications”.
Actions and operations they trigger – a number of operations associated with specific actions. Among other things, service controls cyclical actions that, once configured in the WEBCON BPS system, are run by the service process with the basic features role configured for a given database. Another type of actions controlled by the service are the “On Timeout” actions. In this case, once you enter a step with the “On timeout” action, the action is postponed in the database and executed by the service responsible for the respective role after the time specified in the action elapses. Apart from the aforementioned actions, the service executes operations on the SharePoint server triggered by actions and data sources supporting connections with SharePoint Server. After configuring an action that, e.g. adds an attachment to the SharePoint list on path transition, the action is executed by the service. It is worth noting here that communication with the SharePoint platform is provided through the service. Additionally, the service executes the PowerShell code triggered by the “Run a PowerShell script”. The action is run on the server hosting the service and allows for execution of any Windows PowerShell command. Note here that once certain PowerShell add-ons are activated (Exchange, Lync, Azure, Sharepoint), the “Run a PowerShell script” action can execute any system operation that can be executed by a PowerShell script.
Associated modules: “Cyclical actions”, “Timeout actions”, “WCFCsomService”, “WCFService”.
Updating OLAP analyses – updating the internal system analyses of multidimensional data on, e.g. the average time users spend in a workflow step. In WEBCON BPS the OLAP analyses are run in accordance with the configured schedule.
Associated module: “OLAP”.
Setting substitutions for active tasks – the operation run in accordance with an active schedule. Following the processing of the configured substitutions schedule by the service, it updates the task to allow the substituting person specified by its initial performer to perform it.
Associated module: “Substitutions update”.
Deleting personal data (GDPR) – the service is responsible for executing the user-configured “Remove personal data” action in the background.
Associated module: “Personal data removal”.
Updating active task counters – updating active task counters available in the SQL reports.
Associated module: “Tasks info calculation”.
Importing process and application configurations – the import of a process or an application taking place between databases or DEV/TEST/PROD environments. The operation of saving data in the database is asynchronous, i.e. the service imports a process or an application even if the process is closed in Designer Studio.
Associated module: “Import”, “WCFService”.
Cloning process and workflow configurations in Designer Studio – cloning a process or workflow in Designer Studio is performed by the service in the background and is continued even if the process is closed in Designer Studio.
Associated module: “Import”, “WCFService”.
Administrative deletion of workflow instances with related data (tasks, attachments) – removal of all process-related instances from the database by means of the “Delete workflow instances from process” tool (the “Action” tab → “Administration tools” → “Delete workflow instances from process”). The service executes the operation in chunks, in the background.
Associated module: “Administrative elements removal”, “WCFService”.
Providing data for reports in Designer Studio (service activities, modules running, attachment processing) –a “Basic features”-enabled service delivers its own reports, e.g. on attachment processing, service activity, etc.
Associated module: „WCFService”.
Performing AI analyses – the analysis involves here only on-demand anomaly analysis. A service with configured “Basic features” functionality allows the administrator of a given instance to execute an AI analysis on demand after opening a respective instance form and clicking the lightbulb icon. The operation is possible if in the service configuration the “AI analysis” checkbox is checked, the analyses are configured, and recalculated.
Associated module: „WCFService”.
Monitoring a hotfolder [a local (in relation to the service) catalogue in the Windows system or a network location available from the computer running a service] for new files or documents. When detected, the new files are processed accordingly and moved to a different folder.
Associated module: “Hotfolders processing”.
Two functionalities under one role:
e-mail inbox monitoring is a functionality that uses the hotmailbox option (triggering automatically workflows or adding files based on e-mails sent to an inbox configured in the hotmailbox). In the configured intervals a service sends a query to such an inbox and checks the messages it holds. Depending on the configuration, if a configured inbox receives a new message, a service can start a new workflow instance in a given process and add the aforementioned message or its attachments to this workflow instance or process such attachments. The message is then moved to a different mailbox folder so as not to process it again;
MailApproval allows for delegating tasks assigned to different users in the system and automatically closing a task, as well as choosing a transition path by replying to a standard e-mail message sent by the system. Such a reply is given by means of the “Reply” function or buttons added to such a message. Once a reply is delivered, the system automatically moves a respective instance through a path indicated in the command.
Associated module: “Hotmailboxes processing”.
Recognition of information contained in delivered documents in order to transfer it to WEBCON BPS form. With the OCR engine, the system transforms scanned images into text, then recognizes specific headline data using neural network.
Associated modules: “OCR AI – Text layer”, “OCR AI – Recognition”, “OCR AI – Learning”,”OCR AI – Awaiting text layer”, “OCR AI – Awaiting recognition”, OCR AI – Awaiting learning”.
Anomaly analysis used for creating the “AI analysis” report (the “Reports” button → the “Basic reports” node → “AI analysis”) showing untypical process instances, e.g. an order for a much higher amount than the previous ones, or holiday requests for a very long time. Running the AI analysis allows for creating automatically process description – a set of AI rules based on actual data entered by users.
Associated modules: “AI”.
There are two dedicated actions in WEBCON BPS that provide archiving functionality: “Archive workflow instances” and “Archived instances retention”. Archiving can be delivered in three modes: “Move to archive database”, “Move to external network location”, and “Remove from content database”. Following user configuration, the archiving is executed by a service in the background and results in transferring workflow instances from the operational database to the archive database.
Associated module: “Workflow instance archiving”.
The operation is configured in the “Schedules” node (“System settings” → “Services configuration” → “Schedules”). It downloads exchange rates from user-defined source and inserts them in the database. The operation is executed in the intervals specified by the user.
Associated module: “Exchange rates update”.
Copying information from WEBCON BPS SQL relational database to SOLR non-relational (dictionary) database and its update. Since SOLAR database is non-relational, text indexes are built from the database instances, so it is possible to find quickly dictionary instances by entering text values. All operations that update instances in such a database are executed by a service. It is also used in searching for navigation instances in the left, upper corner of the Portal and reports in application configured with SOLR source.
Associated modules: “SOLR indexer”, “SOLR indexer – query plan cleaner”.
The only role operating independently from process databases. Only one service for each environment can perform this role. This means that when there are many services available, the role can be assigned only to one of them. The role is responsible for delivering licenses in the system.
Associated module: “License service”.
The always-on service roles
Apart from the user-configured roles, there are also roles that always operate and are managed by the service. They are discussed below: (The names used correspond to the names of the modules in the “Running modules” report).
Optimization of queries in databases that use database queues.
Periodical removal of old entries in WEBCON BPS logs to prevent excessive growth of databases. When starting database maintenance hours, the service cleans tables by removing at once up to 100 000 oldest records in respective tables.
Ensuring that communication with the service for the purpose of on-demand operations is technically possible.
Failover
The “Services of which roles will be taken over during failover procedure” field in the service configuration window allows you to configure the services associated with the current service through the failover mechanism. If a service assigned a specific role fails or is disabled, the role is taken over by the service stipulated in this field. Such a solution guarantees uninterrupted system operation, also in the event of a failure. Note here that the failover procedure configuration does not support cyclical dependencies, i.e. if there is a cycle set up in the service take-over schedule, the system does not detect it and does not hand over the roles in the event of a service failure.
The “Services of which roles will be taken over during failover procedure” field allows for defining services with roles taken over in failover procedurę
More information on failover procedure can be found in the article “Redundant service configuration in WEBCON BPS” available here.
The “Running modules” report
The “Running modules” report in WEBCON BPS (the „Reports” button → the „BPS WorkFlow Service” node → „Running modules”) presents all modules (enabled and disabled) supported by services.
These modules are associated with the service roles described above – disabling a given role is reflected on the report by unchecking its corresponding module (empty checkbox in the “Active” column). What is more, if a role is configured, but for some reason (e.g. due to an error) it is not operating, an exclamation mark icon is displayed next to the corresponding module.
The exclamation mark icon can be also displayed if a role is run, but the configuration has been changed so as to disable it. Then, until the configuration is reloaded, the checkbox remains checked (meaning that the role is operating) with the icon displayed next to it , which indicates that the role should not be enabled in the current configuration.
The „Running modules” report presents all the modules supported by the services
Service roles vs running modules on the report
Name of the service role | Module name on the report | Function |
Basic features | Administrative elements removal |
Administrative removal of workflow instances with associated data (tasks, attachments)
|
Cyclical actions |
Managing cyclical actions
|
|
Timeout actions | Managing “On timeout” actions | |
Substitutions update | Setting up substitutions for active tasks | |
Barcode printer | Producing a barcode printout using the printer driver | |
Mass notification schedules | Sending mass notifications | |
User synchronization incremental schedule | Triggering organizational structure synchronization in accordance with the schedule | |
User synchronization schedule | Triggering organizational structure synchronization in accordance with the schedule | |
User photos schedule for synchronization source: Azure Active Directory / LDAP / None | Triggering organizational structure synchronization in accordance with the schedule | |
Import | Importing process and application configuration and cloning process and workflow configuration in Designer Studio | |
User synchronization queue | Synchronizing organizational structure acquired from Active Directory / Azure Active Directory / LDAP | |
OLAP | Updating OLAP analyses | |
Mass notifications | Sending mass notifications | |
PUSH notifications | Handling mobile PUSH notifications | |
User photos synchronization | User photos synchronization | |
User photos synchronization invoked from Webcon Designer Studio in debug mode for synchronization source: Azure Active Directory / LDAP / None | User photos synchronization | |
Personal data removal | Personal data removal (GDPR) | |
Tasks info calculation | Updating active tasks counters | |
Sending emails | Sending queued e-mail messages | |
Folder monitoring: import of scanned files | Hotfolders processing | Monitoring hotfolder for new files or documents. When detected, the new files are processed accordingly and moved to a different folder |
E-mail/MailApproval inbox monitoring | Hotmailboxes processing |
E-mail inbox monitoring Depending on configuration, after receiving a new message it is possible to run a new workflow instance and annex the respective message or attachments to it to the aforementioned workflow instance, or process such attachments. Delegating tasks assigned in the system to other users and closing automatically a task and choosing a transition path |
OCR AI | OCR AI – Learning | Correcting and improving the effectiveness of the OCR AI recognition if field values were recognized unsatisfactorily or incorrectly |
OCR AI – Awaiting learning | A system step – awaiting for conclusion of neural network training | |
OCR AI – Awaiting recognition | A system step – awaiting for processing of files by the OCR AI – Recognition module | |
OCR AI – Awaiting text layer | A system step – awaiting for files processing (adding a text layer) | |
OCR AI – Recognition | Recognizing respective fields in a file and entering them subsequently into corresponding form fields | |
OCR AI – Text layer | Downloading files to process that will be attached to the workflow and overwriting the original files after generating text layer | |
AI Analysis | AI | Performing analysis of atypical instances in processes |
Workflow instance archiving | Workflow instance archiving | Archiving executed by a service in the background and resulting in transferring workflow instances from operational database to archive database |
Exchange rates synchronization | Exchange rates update | Downloading exchange rates from user-defined source and inserting them in the database. The operation is executed in the intervals specified by the user. |
SOLR indexer | SOLR Indexer | Copying information from WEBCON BPS SQL relational database to SOLR non-relational (dictionary) database and its update. Creating text indexes |
SOLR indexer – query plan cleaner | Technical module | |
License service | License service | Delivering licenses in the system |
The modules running always irrespective of configuration and operating independently | Master queue | Optimization of queries in databases that use database queues |
Log Cleaner | Removing old entries from tables | |
WCF Licence Service WCF Service WCF Csom Service |
Ensuring that communication with the service for the purpose of on-demand operations is technically possible. |