- Updated On 07 May 2020
- 2 Minutes To Read
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 very 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.
- Integrate into other systems
- Business Domains and Data Models
- Simplify or Control Designer Experience
- Enforce Corporate Standards
- Basic Flow Steps
- Advanced Flow Steps
- Rule Verbs
- Data Types
- Building a Module
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.