Procedural logic

From FlexRule Wiki
(Redirected from Procedural engine)
Jump to: navigation, search

Procedural logic is a type of logic that specifies step by step instructions that a logic requires for implementation. It focuses on how a logic should be implemented, rather than what and why of it. More often than not, when system grows, more complex decisions are required to be taken inside the applications code. Or more complex algorithms (steps of code) need to be hard-coded (programmed). This makes your procedural logic more complex (more steps to specify to implement the logic). This hard-coded growing complexity stops your system from acting dynamic in the production environment and adapt the changes without changing code. FlexRule procedural logic document allows you to implement the procedural application logic outside of code as if you may want to write it inside the code. The benefit is then you can change it without touching your application code and just by changing the logic document your application behave in the new manner.

The benefits are:

  • Ease of changing the behaviour in the production environment
  • Very close to how your program is working at the moment
  • Capability of implementing the routine as detailed as a compiled hard-code routines

It supports:

  • Integration with Validation logic and Notifications
  • Extensible commands and behaviour model
  • CLR type access to
    • Invoke method call
    • Access properties
    • Change values
  • Interlink mechanisms to call other procedural rules
  • Ability to define input and output parameters of any type
  • Ability to access to external resources (Database, files, xml...)
  • Reuse existing procedural rules
  • Loop, iteration and control commands
    • If-ElseIf-Else
    • While, Do, Iterate
  • ... and more ...