Decisions on Demand is a new cloud-based rules platform designed to bring the power of a business rules management system, and especially of decision tables, to users of Salesforce.com and other SaaS applications. The product comes in two flavors at present – Decisions on Demand for Salesforce and the Decisions on Demand Platform. The product has three main elements:
- The core platform
Hosted on Amazon Web Services and accessible through a REST API, this is not specific to Salesforce.com The platform has:
- A repository for storing business rules
- A Policy Management Server for accessing, compiling and versioning Business Policies (rulesets)
- A Decision Server for execution of the business rules, using the underlying JBOSS Drools engine
- AppExchange app
This is a native Salesforce app that supports both policy updates and calls for decisions at run time. Various Salesforce.com decision points like lead or case assignment and pricing decisions are pre-integrated, so that they can be easily applied to the standard data in Salesforce.com. Within the app rules can be edited using a decision table editor and any of the policies can be invoked from anywhere in Salesforce.com. The app is integrated and usable out of the box without coding and is extensible through the APEX API.
- A Developer Kit that enables creation of business policy templates for new decision points, and their upload into the Policy Management Server. The Developer Kit is currently available only for implementation partners.
Decisions on Demand is focused on delivering both a seamless integration with Salesforce.com and a simple, business user friendly interface for business rule management. The rule management interface allows an organization to manage a number of Business Policies. Each policy relates to a specific object in Salesforce.com and can contain one or many decision tables. A Business Policy is implemented as an object in Salesforce.com, so it can take advantage of the usual Salesforce.com processes to manage approvals, comment threads etc. Policies are versioned so that updates can be rolled back if necessary. A full audit trail is also kept..
The decision tables for a Policy can be edited within the Salesforce.com UI, with permissions based on the standard Salesforce.com structure for managed objects obviously. The native Salesforce.com UI uses a standard, easy to understand decision table or rule sheet format with one rule per row and columns corresponding to the fields on the Salesforce object. Drop downs (like product names or sales teams) are automatically provided using existing definitions in the Salesforce.com object model. Lookups against existing data are also provided through tight integration with the underlying model in Salesforce.com. Tools like search and filter are integrated into the display, which is flexible enough to allow custom objects and fields, computed columns etc.
Pre-defined policy templates are configured to use the Salesforce.com data model and define how many decision tables are involved in each policy and the columns of each table, as well as how those decision tables are executed as a sequence. The user can show, hide and re-order columns, as well as customize other presentation attributes of the tables. New templates, including for custom objects, are available upon request as a flat fee services offering.
From the editing environment a Business Policy can be tested against any object or set of objects and any version of the Policy can be so tested. Policy execution can be recorded as a Salesforce object also, with each execution logged to showing the object impacted, the decision made, version of rules used and (optionally) all the rule execution. The format of each Decision Table is specified independently of the data model and then mapped to the actual data as part of the template. Export to and import from Excel is also supported.
Business Policies can be invoked without coding by adding a custom button to a page or list view, dropping it into a VisualWorkflow or by activating a pre-built trigger. If invoked from a button the Business Policy can either apply the result directly or be set to allow an approve step by the user, a nice feature that should help with transition as users get familiar with rules-based automation. For those used to configuring Salesforce.com themselves the Decisions on Demand API also allows decisions to be invoked from custom VisualForce pages, triggers or Batch APEX..
Decisions on Demand’s core platform is not specific to Salesforce.com and can be invoked from any SaaS platform using the REST API. The REST API also allows for batch jobs, regression tests and other time-consuming tasks like simulation and impact analysis to be executed in the background.
Decisions on Demand is going to be in the next version of the Decision Management Systems Platform Technology report and you can get more information on the product here.