Software Development Kit (SDK) Overview
  • 29 Jul 2022
  • 1 Minute to read
  • Dark

Software Development Kit (SDK) Overview

  • Dark

Article summary


The Software Development Kit (SDK) allows developers to extend, control, configure and customize the environment to fit any business needs. 

Operating behind the philosophy of being a very comprehensive, yet low barrier to entry feature, the SDK allows developers to create custom code that runs inside the Decisions environment to support simple to complex features.

Using the SDK, developers are able to 

Difference Between SDK vs API

Every Decisions Flow, Rule, and Report is accessible as an Application Programming Interface (API). If making calls to Decisions from another system, see API and Authentication. If business needs are to extend system functions or create custom solutions, use the SDK.

Adding to the Product 

Developers may expand the list of supported integrations or edit an existing Decisions integration. For example, building a specialized  set of Flow steps to communicate to a database via a web service.

Controlling the Product 

Controlling the product gives Designer-level users a customized view of Decisions to focus on the necessary and/or desired types of Rules and business objects within the environment;. For example, in an invoicing system containing numerous Rules to function, then Rule engine should only know about invoices.

Initialization and Customization

Initialization and customization code that can run at install time or when extensions are added to improve processes like re-branding the product or installing specific features from Decisions. 

Please keep in mind Initialization and Customization is not used for deployment,; that is the role of the designer repository or deployment images. 

Object Relational Mapping (ORM)

Decisions utilizes ORM to store and retrieve entities within the main Decisions database. Developers build with ORM to automate changes to the database and its data without need of SQL queries. All changes with ORM must be written in the same coding language of choice as such demonstrated in C#.

While changes done in this manner adhere to the DRY ("do not repeat yourself") principle of software development, ORM demands time and patience to both learn and setup. Given its an advanced, heavyweight method, preparation is key to its success.

Was this article helpful?