What Is Decisions?
- Updated On 08 Oct 2020
- 3 Minutes To Read
Decisions is a business process automation platform with a comprehensive workflow, rule, integration, and reporting engine. It is designed to streamline and automate a wide variety of business processes and applications.
The key feature of Decisions is the suite of visual Designer Studios, which enable business users or non-technical citizen developers to conveniently create and maintain business logic - all without code. Business logic varies based on the needs of an organization, but can encompass some of the following use cases:
- Tracking the order or accounts involved in a given "approval" workflow.
- Handling different documents that are generated by a workflow.
- Evaluate data against customized Rule logic to meet certain criteria in a workflow.
Designer Studios are available to create Decisions elements like Flows, Rules, Forms, Dashboards, Reports, and much more. The Data Structure Designer can be used to create customized objects with properties that are specific to maintaining user and/or application data. These objects communicate with the database connected to Decisions on the back-end.
Integration options are available so that created Decisions elements can be used with REST API services. In addition to the Decisions Studio, where all of the other element Studios are contained, there is also an end-user Portal available.
Decisions is 100% web-delivered, fully operational in-browser, without any reliance on plugins or custom technology.
Decisions operates on modern browser technologies that are capable of HTML5 and CSS3. Decisions does not have browser-specific considerations, but the Decisions Studio is only certified against IE and Chrome due to their prevalence in the business community. For the Decisions installation pre-requisites, please visit the Installation Requirements article.
Decisions requires the following technical infrastructure to function:
- .NET Framework 4.6 or higher
- 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 somebody makes changes to the Flow in the User Interface, 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 is able to make adjustments in the UI.