What Is Decisions?

Last Updated: 12/11/2018 Introduced in Version: 1.0

Overview

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 a family of visual designers that enable business users or non-technical citizen developers to design and adjust business logic. Examples of this business logic might be: 1) the order of a given approval workflow, 2) handling of the documents generated from the workflow, 3) the rules that are enforced and more. The family of designers includes: Flow Designer, Form Designer, Rule Designer, Report Designer, and Page Designer. Decisions also lets you create custom data structures and integrations, and it includes an End User Portal and audit access elements.

Decisions is 100% web delivered, in browser, without any reliance on plugins or custom technology.  

Client Requirements

Decisions operates on modern browser technologies that are capable of HTML5 and CSS3.  Decisions does not have browser specific considerations, but we only certify on IE and Chrome due to their prevalence in the business community.  

Technology

Decisions requires the following technical infrastructure to function:

  • .NET Framework 4.6
  • Windows Server 2012
  • IIS 7
  • MS SQL Server 2008 R2

The below diagram illustrates the way the components fit together to serve both the end user portal, and the designers.

 

Decisions Automation Platform Architecture

Decisions Automation Platform architecture is based three components: Front-end Client (Decisions Portal, API Client), Back-end Application Server (Decisions Service Host Manager), and 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#). It contains foundation services that define the Decisions platform. Examples of such service include the Flow Edit Service that define the Flow Designer functionality, or the Flow Execution Service which is responsible for Flow Execution processes.

Also, the back-end tier has a Web Application IIS Hosted (require IIS version 7 or newer). This Web Application provides communication between Service Host Manager and 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.

Database is third component of Decisions Automation Platform. Database can be managed by multiple Servers in MS SQL Server Cluster. Single environment of Decisions Platform can have only one Database because the platform has 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 database will be overloaded and dramatically slow down the process. In order to avoid this, Decisions Platform stores as much data in Application Server as it can. This 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 it informs other Application Servers to clear this data from cache and get new version of it from Database. Also, we cannot expect the data to be changed in Application Server if we change it directly in Database. It should be changed through Application Server. Otherwise, Application Server has to be restarted.

For successful communication between Service Host Manager and Web Application that performs client interactions Decisions Platform uses Pushback mechanism. For example, when somebody makes changes to the Flow in the UI, web application sends those changes to the Service Host Manager using Flow Edit Service. Service Host Manager pushes some data back so web application is able to make adjustments in the UI.

Additional Resources