0 votes
18 views
ago by (30.6k points)
We have Operational Decision Manager next to BAW. Process Designer has a "decision" artifact and ODM has REST endpoints - which should we use to run a ruleset from a BPD, and how do the business objects map?

1 Answer

0 votes
ago by (30.6k points)

Two supported routes, chosen by who owns the rules:

  • Decision services inside BAW (the Decision artifact: decision tables / rule flows authored in Process Designer, executed by the embedded rule engine): no ODM installation needed, versioned with the snapshot, called as a step in a service flow / BPD with typed mapping. Right for small, process-local rules maintained by the process team.
  • ODM Decision Server (rules authored in Decision Center by business analysts, deployed as rule apps): call the ruleset from BAW through its REST endpoint - the Hosted Transparent Decision Service (HTDS) of Decision Server publishes each ruleset with an OpenAPI / Swagger description; import it as a REST external service in BAW and you get the ruleset's input / output parameters as business objects.
# 1. Swagger of a ruleset (Decision Server, HTDS)
GET https://odm-host:9443/DecisionService/rest/api/swagger.json?ruleApp=LoanValidation&ruleset=LoanValidationRules    (or the "API" link in the Decision Server console)
# 2. BAW: External Service > New > "Import from URL / file" -> operation "executeLoanValidationRules"; Server definition = ODM Decision Server (basic auth or the CP4BA identity)
# 3. service flow: map tw.local.loan -> input BO; call; tw.local.decision <- output BO
# JSON of an HTDS call for reference
POST /DecisionService/rest/v1/LoanValidation/1.0/LoanValidationRules/1.0
{ "loan": { "amount": 12000, "duration": 36 }, "borrower": { "creditScore": 720 } }   ->  { "approval": { "approved": true, "reasons": [] } }

On CP4BA, ODM (Decision Server runtime) sits in the same Cloud Pak and the Server definition uses the internal route with the platform identity; Automation Decision Services (ADS) is the newer decision capability with first-class discovery in Studio (no Swagger import). Design rules: keep the ruleset's parameter model stable (a versioned XSD / JSON schema) so that BAW's generated business objects do not churn; version rulesets by ruleApp version and point BAW at a stable path; cache reference-data decisions with service caching; log the decision id returned by ODM (ruleset execution trace) in the instance for audits.

References

Related questions

723 questions

807 answers

98 comments

4.8k users

Join BPM Community Discord Channel

Welcome to BPM Tips Q&A, Community wiki/forum where you can ask questions and receive answers from other IBM BPM experts and members of the community. Users with 2000 points will automatically be promoted to expert level.
Created by Dosvak LLC
Our Youtube Channel
...