0 votes
16 views
ago by (30.6k points)
On the Cloud Pak we have Operational Decision Manager and Automation Decision Services next to Workflow, plus IBM RPA. What are the supported ways to invoke a decision or a bot from a service flow, and how does authentication between the capabilities work?

1 Answer

0 votes
ago by (30.6k points)

All three are called from a service flow; the difference is which integration type you use and how the credentials flow:

  • ODM (Decision Server rules) - two ways: (a) the External Service generated from the ODM rule app's REST / OpenAPI (Decision Server exposes each ruleset as a REST operation with a Swagger at /DecisionService/rest/api/swagger.json); (b) the classic Decision service artifact in Process Designer for rules authored in BAW. On CP4BA the ODM Decision Server route is inside the same Zen domain, so a technical API key or the built-in service identity works; use a Server definition of type REST with the ODM route and the credentials secret.
  • ADS (Automation Decision Services) - deploy the decision to the ADS runtime, then in Studio's workflow designer use the built-in discovery: External Service > Discover from Automation Decision Services lists deployed decision operations and generates the service with the business objects; the call uses the platform identity (Zen) automatically.
  • IBM RPA - the workflow toolkit for RPA (the IBM RPA toolkit shipped with BAW 21+) provides Invoke RPA bot integration services that call the RPA API server (start a bot with parameters, poll the result, or wait asynchronously with a UCA callback); credentials are an RPA tenant user / API key stored in a Server definition.
// service flow script: call an ODM ruleset through its REST endpoint (when not using the generated external service)
var req = new BPMRESTRequest();                       // for BAW's own API only - for ODM use the generated REST external service:
// External service "Decisions" (from https://cpd.../odm/DecisionService/rest/api/swagger.json), operation "loanValidation"
tw.local.input = new tw.object.LoanRequest(); tw.local.input.amount = 12000; tw.local.input.score = 720;
// -> call the operation node; output tw.local.result.decision / tw.local.result.reasons

Authentication between capabilities: inside one Cloud Pak, calls go pod-to-pod through the service network with the Zen identity of the workflow server (a service account / API key configured once in the Server definition) - no per-user tokens are needed for system-to-system decisions; if a decision must run as the user, forward the user's bearer token from the coach through a service flow input. Document Processing (ADP) follows the same pattern with its own toolkit and service definitions.

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
...