Software Development Kit (SDK) Overview
  • 16 Jul 2024
  • 1 Minute to read
  • Dark
    Light

Software Development Kit (SDK) Overview

  • Dark
    Light

Article summary

Overview

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

Using the SDK, developers are able to 


Adding .dll file to Product

Starting from version 9, users can now load the .dll file directly from the platform instead of needing access to the file storage. For detailed information, refer to the article Projects SDK Extension.


Example Extensions 

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, the Rule engine should only know about invoices.


Initialization and Customization

Initialization and customization code 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 that initialization and customization are not used for deployment; that is the role of the designer repository or deployment images. 


Object Relational Mapping (ORM)

Decisions utilize 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 the need for SQL queries. All changes with ORM must be written in the same coding language of choice as demonstrated in C#.

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


Was this article helpful?