- 29 Jul 2022
- 1 Minute to read
Software Development Kit (SDK) Overview
- Updated on 29 Jul 2022
- 1 Minute to read
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 simply complex features.
Using the SDK, developers are able to
- Integrate into other systems such as Visual Studio
- Manage Business Domains by creating a custom login page
- Simplify or Control Designer Experience with custom Elements such as Flow Steps
- Utilize the full breadth of a database's functionalities with Custom SQL Reporting
- Build a custom Module
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.
- SDK: Flow Steps (Basic)
- Create Custom Data Types with SDK
- Custom Reporting Data Source (Basic)
- SDK: Rule Steps (Basic)
- Embed Decisions Form in a Web App
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.
- Flow Behavior
- Folder Behavior
- Rule Behavior
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 Initialization and Customization is 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.