SDK Overview
  • 29 Jul 2022
  • 2 Minutes to read
  • Dark
    Light
  This documentation version is deprecated, please click here for the latest version.

SDK Overview

  • Dark
    Light

Article summary

Overview

Decisions has a comprehensive Software Development Kit (SDK) that allows developers to extend, control, configure and customize the platform in many different ways. It operates behind the core philosophy of being a comprehensive yet low barrier to entry feature.  While the things that are most commonly performed using the SDK are fairly easy, the kit also offers tremendous capabilities that extend the Decisions platform.

SDK vs. API

Every Decisions Flow, Rule, and Report is accessible as an API. If you're looking to make calls to Decisions from another system, you need to look at the API, not SDK. The SDK is used very specifically for developing custom code that runs inside the Decisions environment. This custom code extends or configures the Workflow Engine, Rule Engine, and beyond. 


Adding to the Product 

The most common use for the SDK is adding to the product.  To meet their company's needs, developers can create integrations that do not come with Decisions or edit an existing Decisions integration, for example, making a very specific set of Flow steps to talk to a database. If companies don't want to use the Decisions integration system, developers can create custom steps to talk to a web service in their environment. To follow along with the documentation, you will be making use of a module called the Local Module.  Please read Getting Started with Visual Studio to learn the pre-requisite information about creating SDKs.

Controlling the Product 

Controlling the product gives designer-level users a view that they can understand and that they can interact with confidently and safely. Controlling the product can narrow someone's focus, so they aren't presented with all the capability that is available in Decisions and instead are only having to deal with the types of rules and business objects that are in their environment; for example, if there is an invoicing system and a lot of rules about invoices are required, the Rule engine should only know about invoices. This makes designs easier to use for certain users.

Initialization and Customization 

Initialization and customization code is code that can run at install time or when extensions are added to the product, and this code can do things like re-brand the product, change the logos and slogans, or install specific features from Decisions that you want to use. Please keep in mind Initialization and Customization is not used for deployment; that is the role of the designer repository or deployment images. 


Was this article helpful?

What's Next