Decision Management & Intelligence (ODM, DI)

Decision Management & Intelligence (ODM, DI)

Connect with experts and peers to elevate technical expertise, solve problems and share insights

 View Only
  • 1.  ODM Data enrichment

    Posted Mon September 15, 2025 09:20 AM

    I am new on IBM ODM and I have a question/advise, does ODM (application) is concerned with data enrichment while processing requests? to be clearer, when client call ODM service, it must provide all needed data to be enriched on the input data, or it is subject to be validation by ODM itself and if not provided ODM integrate with external system to get the needed information on runtime then continue processing.



    ------------------------------
    Ahmed Hawas
    ------------------------------


  • 2.  RE: ODM Data enrichment

    Posted Tue September 16, 2025 04:27 AM

    This is a big topic with many possible answers. At the highest level it is recommended to pass all the data that you need into the rules for many good reasons - ease of deployment, simple ruleset testing, portability, performance etc. If you want domains of data values (enumerations) to perform lookups/transformations etc. then ODM has out of the box ways to manage such data in a dynamic way.

    If you want to dynamically load some relevant data part way through the ruleset execution using your own Java code or a REST calls then this is also possible.

    Check out this blog article for more ideas - Using Reference Data for Rule Authoring in IBM Operational Decision Manager 



    ------------------------------
    Andy Macdonald
    ------------------------------



  • 3.  RE: ODM Data enrichment

    Posted Tue September 16, 2025 09:59 AM

    Hi Ahmed,

    Andy Macdonald is right - this is a big topic. As he says it is best to pass all the data the rules need and not too look up data during rule execution. That way you avoid tightly coupling the rules to the underlying data. When something goes wrong you can more easily work out what the problem is.

    A good design solution for data enrichment, transformation, validation and error handling is to use the Mediator Pattern, which can decouple ruleset execution from ruleset invocation.

    No alt text provided for this image

    No alt text provided for this image

    It is a big setup to build such a framework, but if you do right, once you have it it is very maintainable and reusable. You can read about it here: https://www.linkedin.com/pulse/building-better-rule-application-architecture-peter-warde/



    ------------------------------
    Peter Warde
    peterwarde@rulearchitect.com
    ------------------------------