I want to use a rule engine to centralize business rules. My rules require information not typically owned by systems that call the rules engine.

I don't want to complicate these systems (System A and System B) by having them fetch data from a datastore, and I don't want to customize the rule engine to source data directly from the datastore because the rules engine is a COTS product and difficult to extend.

I'm thinking about adding an intermediary service to ensure calls to the rule engine contain enough information for the rules engine to make decisions.

Is there an existing software design pattern similar to the below? I'd like to refer to a pattern to look at the pros and cons and any gotchas.

|       System A
|             +------------------+
|             |                  |
+-------------+                  |
+-------------+           +------v------+          +-------------+
|       System B          |             |          |             |
|             +-----------> Interceptor +---------->  Rule Engine|
|             |           |             |          |             |
+-------------+           +------+------+          +-------------+
                           |            |
                           |   Data store
                           |            |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.