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.
Très cordialement / Kind Regards
Peter Warde
peterwarde@rulearchitect,com
------------------------------
Peter Warde
------------------------------
Original Message:
Sent: Tue September 20, 2022 03:10 PM
From: Jeff Hampton
Subject: Installing ODM In Environments That Cannot Share Data
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
Original Message:
Sent: Tue September 20, 2022 10:25 AM
From: Jay Birchmeier
Subject: Installing ODM In Environments That Cannot Share Data
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.
Original Message:
Sent: 9/20/2022 9:51:00 AM
From: Jeff Hampton
Subject: Installing ODM In Environments That Cannot Share Data
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
------------------------------