- 29 Apr 2021
- 3 Minutes to read
- Print
- DarkLight
What is Decisions?
- Updated on 29 Apr 2021
- 3 Minutes to read
- Print
- DarkLight
Overview
Decisions is a business process automation platform with a comprehensive Workflow, Integration, Reporting, and Rules engine; it is designed to streamline and automate a wide variety of business processes and applications. The platform offers a Decisions Studio to build robust applications and an end-user Portal to run them.
Among the many key features within the Studio is the suite of visual Designers for creating/editing Flows, Rules, Forms, Dashboards, Reports, and more. In addition, the Data Structure Designer is used to create customized objects with specific properties that communicate with a database for maintaining user and/or application data. This functionality empowers business users (non-technical and technical) with the convenience of creating and maintaining business logic - all without code.
Though business logic varies based on organizational needs, here are a few use case examples:
- Approval Tracking: Purchase Requests, Insurance Claim Handling, Travel Requests
- Evaluating Data Against Rules: Loan Applications, Risk Management, Financial Aid Inquiries, Inventory
- Document Processing: Clinical Trials, Employee On-Boarding, Compliance Audits
Integration options, another key feature found within the Studio, provide connectivity with existing infrastructure and user experience through RESTful API services.
Client Requirements
Decisions is 100% web-delivered, fully operational in-browser without any reliance on plugins or custom technology; the software operates on modern browser technologies that are capable of HTML5 and CSS3. Though no browser-specific considerations exist for the end-user Portal, the Decisions Studio is designed to support Edge and Chrome due to their prevalence in the business community. Visit the Installation Requirements article to learn more.
Technology
Decisions requires the following technical infrastructure to function:
- .NET Framework 4.6 or higher
- Version 6.7.x and above require .NET Framework 4.8
- Windows Server 2012 or higher
- IIS 7 or higher
- MS SQL Server 2008 R2 or higher
The diagram below illustrates how the end-user or API client interacts with the Decisions web application, where run-time changes from the engine itself are reflected, and where data is distributed.
Decisions Automation Platform Architecture
Decisions Automation Platform architecture is based on three components:
- Front-end Client: Decisions Portal, API Client
- Back-end Application Server: Decisions Service Host Manager
- Database Source: Database Server or Servers in MS SQL Server Cluster
The Service Host Manager is a Windows Service that is written in C Sharp (C#) language and contains foundation services that define the Decisions platform. Examples of a foundation service include the Flow Edit Service, which defines the Flow Designer functionality; or the Flow Execution Service, which is responsible for Flow Execution processes.
The back-end tier is Web Application IIS Hosted (requires IIS version 7 or newer). This Web Application provides communication between Service Host Manager and the User Client. It is possible to create an environment with multiple Service Host Managers and Web Applications, but in order for this to be a single unified environment, these Application Servers have to communicate with the same Database Server.
A Database is the third component of the Decisions Automation Platform. A Database can be managed by multiple Servers in MS SQL Server Cluster. A single environment of the Decisions Platform can have only one Database because the platform has a single persistent source of data.
Because it is possible to have multiple Application Servers and only one logical Database, there are chances that communication with the database will be overloaded and dramatically slow down the process. In order to avoid this, the Decisions Platform stores as much data in the Application Server as it can, which is implemented by Caching.
In an environment with multiple Application Servers, all Application Servers talk to each other. If some data is changed in one Application Server, then it informs the other Application Servers to clear this data from the cache and get a new version of it from the Database. The data cannot change in the Application Server if it is changed directly in the database only; it should be changed through the Application Server, otherwise, the Application Server has to be restarted.
For successful communication between Service Host Manager and Web Application that performs client interactions, the Decisions Platform uses a Pushback mechanism. For example, when design changes are made to a Flow, the Web Application sends those changes to the Service Host Manager using Flow Edit Service. Service Host Manager pushes some data back to the Web Application to update the UI.