Manage Rule Engine dynamically

You can manage the Rule Engine dynamically using the Rule Engine Server.

Rule Engine Server is an optional component of Accounting Integrator. It provides an online accounting transformation service by encapsulating and dynamically managing a set of AccountingIntegrator rule engines instances.

Rule Engine Server is provided as a web application and can be orchestrated using Event Processor. For how to configure Event Processor for Rule Engine Server, see:

Rule Engine Server also provides a REST API to be used with an external orchestration tool. For how to use REST API for Rule Engine Server, see Configure using REST services.

One Rule Engine Server handles the runtimes for oneRule Engine core and must be installed on the same physical machine.

Architecture recommendations

TheRule Engine runtimes can be managed either manually or using Rule Engine Server.

Conflicts can appear if you configure several runtimes manually for the same Rule Engine core and use Rule Engine Server to manage them. Rule Engine Server cannot know which are the runtimes that were configured manually.

If you implement Rule Engine exits, you must put them in the core installation from where Rule Engine Server creates the runtimes. You cannot have different implementations of an exit on the same installation of Rule Engine core.

Rule Engine Server behavior

Rule Engine Server creates runtimes dynamically in the runtimes folder, under the Rule Engine root directory folder.

Note   The maximum number of runtimes the Rule Engine Server can create automatically is restricted by the AccountingIntegrator license.

Namig convention

The runtimes created automatically by Rule Engine Server are named ARE_i, where i will take values from 0 to n, n being the maximum number of runtimes that can be created.

The following graphic illustrates the behavior of Rule Engine Server.

Transformation process

The following describes a typical Rule Engine Server transformation process:

  • Rule Engine Server receives a file to process, with its AccountingIntegrator configuration name and the Processing Context-In name as Collection Type name.
  • For each Rule Engine it manages, Rule Engine Server knows:
    • The configuration name and version, which is deployed on it
    • Its status
  • Regarding the configuration to manage, it launches:
  • The Rule Engine instance where the same configuration name is already deployed:
    • With optional configuration update if the instance configuration is not updated (RDJDEP). This check is done according to the Repository configuration version.
    • With optional internal tables update if the tables are not updated (RDJMAJ). This check is done according to theRepository internal tables creation date
    • Accounting transformation (RDJEXP)
  • If not, it creates a new instance :
    • Installation (RDJINS)
    • Installation validation (RDJSIC)
    • Configuration deployment (RDJDEP), as much as there are configuration files to be deployed (stored in the Repository)
    • Internal tables deployment (RDJMAJ), as much as there are internal tables files to be deployed (stored in the Repository)
    • Transformation session (RDJEXP)
  • In case of unavailable instance:
    • When the maximum number of instances authorized by the AccountingIntegrator license is reached, it waits for one available instance.
    • When available :
      • Configuration reset process (RDJRAZ)
      • Configuration deployment (RDJDEP), as much as there are configuration files to be deployed, referring to the Repository configuration version
      • Internal tables deployment (RDJMAJ), as much as there are internal tables files to be deployed (stored in the Repository)
      • Accounting transformation (RDJEXP)

Related Links