Decision Management (ODM,ADS)

 View Only
  • 1.  Installing ODM In Environments That Cannot Share Data

    Posted Tue September 20, 2022 09:51 AM
    Typically, when we install ODM in multiple environments (Dev, Test and Prod) there is only one Decision Center to support all the environments. I have a client who wants to install ODM in containers on Openshift on AWS. Each environment will in a separate availability zone. None of the environments can share data, and you cannot connect from one environment to the other. How should Decision Center be installed under such conditions?

    ------------------------------
    Jeff Hampton
    Hybrid Cloud Process Transformation Technical Sales Specialist
    IBM
    Fort Worth TX
    817.688.0265
    ------------------------------


  • 2.  RE: Installing ODM In Environments That Cannot Share Data

    Posted Tue September 20, 2022 12:34 PM

    There is nothing stopping you installing a Decision Center  in each of the environments but you need a strong justification for it for two main reasons. The main consideration is that there is no mechanism to synchronise between two different Decision Center (DC) instances. The other is the additional license implication.

    Imagine the situation where you have Dev, Test and Prod instances, each one with a DC. If a user makes a change in the Dev DC then there is no simple way to synchronise the change to  Test and Prod. You can export the whole project from the Dev DC and import it to the Test DC but what happens if the rules are changed in both the Dev and Prod environment? How will you merge them?

    We have had clients do this in the past (rarely) as it is manageable if you only push changes in one direction Dev > Test > Prod but you will still need to make sure you are not overwriting changes. But this does beg the question - Do you really need business users with DC access in each environment? Both the Decision Center and Decision Server have rich APIs so it may be possible to automate the DevOps deployment to all environments from a single DC using file based deployments rather than direct HTTP connections.



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



  • 3.  RE: Installing ODM In Environments That Cannot Share Data

    Posted Tue September 20, 2022 12:41 PM
    OK, thanks for the insight and validation.

    ------------------------------
    Jeff Hampton
    Hybrid Cloud Process Transformation Technical Sales Specialist
    IBM
    Fort Worth TX
    817.688.0265
    ------------------------------



  • 4.  RE: Installing ODM In Environments That Cannot Share Data

    Posted Tue September 20, 2022 03:02 PM
    Hi Jeff,

    I would not install multiple Decision Centers as this would require management of rule artifacts in multiple environments.  This can easily lead to the rules in one environment being different in another environment.


    I would view it very much like CODE in this scenario.  How does the customer push code across the environments?  

    I have a client that uses offline deployments to their higher environments where connectivity is not allowed.  We utilize the Decision Center API to pull down the deployable ruleapp and then use the Decision Server API to deploy to the target environment.  This client can allow this as it is "viewed" as a code deployment and doesn't require a DEV environment to connect to a PROD environment directly.  

    Jay Birchmeier


    Acorn Solutions Group

    Email:  jay.birchmeier@acornsg.com

    Phone:  517-490-3303


     






  • 5.  RE: Installing ODM In Environments That Cannot Share Data

    Posted Tue September 20, 2022 03:10 PM
    Thanks, that is the approach that I will suggest.

    ------------------------------
    Jeff Hampton
    Hybrid Cloud Process Transformation Technical Sales Specialist
    IBM
    Fort Worth TX
    817.688.0265
    ------------------------------



  • 6.  RE: Installing ODM In Environments That Cannot Share Data

    Posted Wed September 21, 2022 08:35 AM
    Hi Jeff,
    I am not sure why your client would want to install Decision Center in each environment. Decision Center is a business rules repository with a rule authoring capability. Does your client have a separate and synchronized GIT repositories and Eclipse | IntelliJ IDEs installed for each of their environments?
    What is normally moved between Dev, Test and Prod environments are compiled and packaged code. i.e. ears, war and jar archives. Your client should be moving the ODM equivalent - rulesets and ruleApps - across Dev, Test and Prod. This is probably what Jay Birchmeier means by treating ODM as code, and as Andy MacDonald has also pointed out, there are great ODM Rest APIs for doing just this!
    In addition to the above you should also be clear as to when you must do this. There are 2 kinds of ODM changes 
    • Business changes where rules are created | changed in Decision Center, tested using Decision Runner and deployed to RES.
    • IT changes where changes are made to the rule application in Rule Designer   i.e. the XOM and BOM  and require synchronization between Rule Designer and Decision Center.
    Business changes do not need to be pushed through all environments as rules are meant to be changed frequently and rapidly under governance for business agility. That, after all, is the point of ODM. And well designed ODM rules do not make errors like code, they just make better or worse decisions! (if you are worried about rules throwing exceptions due to data quality e.g. NPEs, you haven't got ODM set up correctly as such data should never get near the rules - you should be using a mediation component to validate data as described here. https://www.linkedin.com/pulse/building-better-rule-application-architecture-peter-warde. ).
    IT changes do need to be fully pushed through Dev, Test and Prod environments as these kinds of changes affect integration with other applications.
    If you follow the above you will need only 2 Decision Centers - one in the Dev environment - or even the developer desktop - for developer testing, and one in production for rule authoring and deployment. If you want to understand this in greater detail see this article https://www.linkedin.com/pulse/building-automated-cicd-pipelines-ibm-odm-peter-warde.  I think it will help sort out some of your client's thinking.
    Très cordialement / Kind Regards
     
    Peter Warde

    peterwarde@rulearchitect,com


    ------------------------------
    Peter Warde
    ------------------------------



  • 7.  RE: Installing ODM In Environments That Cannot Share Data

    Posted Thu September 22, 2022 04:30 AM
    Edited by Pierre-Andre Paumelle Thu September 22, 2022 04:30 AM
    Hi Jeff,

    You need to define a full topology for this customer.
    I published a set of articles on ODM topologies and on Disaster recovery.

    ODM Topologies on Certified Kubernetes

    CP4BA ODM topologies on OpenShift
    Planning for ODM disaster recovery on OpenShift

    You should take a look as these topologies are validated by Lab Tests.
    Best regards

    ------------------------------
    Pierre-Andre Paumelle
    Performance Architect
    IBM
    -
    ------------------------------



  • 8.  RE: Installing ODM In Environments That Cannot Share Data

    Posted Fri September 23, 2022 07:45 AM
    Thank you. those will be very handy.

    Jeff Hampton
    Business Automation Technical Specialist
    IBM Technology Sales, U.S. Public and Federal Market
    Mobile: 817.688.0265
    Emailjlhampto@us.ibm.com

    Want to know more?