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 the logic requires for implementation. It focuses on how the logic should be implemented, rather than the what and why of it. More often than not, when a system grows, more complex decisions need to be taken inside the application's 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 dynamically in the production environment and adapting to the changes without changing code. The FlexRule procedural logic document allows you to implement the procedural application logic outside of the code as if you have written it inside the code. The benefit is that you can change it without touching your application code. Just by changing the logic document, your application behaves in a different manner.

The benefits are:

  • Ease of changing behavior in the production environment
  • Very similar to how your program is working at the moment
  • Capable of implementing a routine in as much detail as a compiled hard-code routine

It supports:

  • Integration with Validation logic and Notifications
  • Extensible commands and behavior 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 (i.e., Database, files, xml, etc.)
  • Reuses existing procedural rules
  • Loop, iteration and control commands
    • If-ElseIf-Else
    • While, Do, Iterate
  • ... and more ...