In this article:
A system is an information system that is developed as a sequence of environments that satisfy customer needs. To develop the system, one will require at least three environments:
Development environment (DEV). It is created at the same time as the test environment to develop a system functionality.
Test environment (TEST). It is created at the same time as the development environment to test the developed system functionality. The developed functionality is transferred to the test environment from the development environment.
Production environment (PROD). It is created on the customer side to implement the developed system functionality using company data. The developer functionality is transferred to the production environment only after successful testing in the test environment.
System configuration should take into account:
The method of organizing database servers where repositories will be created.
The DBMS, to which Foresight Analytics Platform can connect to get data.
Foresight Analytics Platform supports work in containerization and virtualization environments, with monitoring systems, data backup and recovery systems, security information and event management systems.
The test environment matches the development environment and assumes the following:
Database server, on which one of the supported DBMS is installed.
License server that is used to activate Foresight Analytics Platform using a network license and to control the number of simultaneously working users.
Licensing service that is used to handle queries between the BI server and the license server.
Task scheduler that is used to executed scheduled resource intensive tasks if required.
InMemory MOLAP server that is used for caching and additional data handling if required.
BI server.
Web application back end.
Client computers with access to the network, in which the web server with installed web application back end is located.
Designations:
. Interaction of system elements at product level.
. Interaction of system elements at user level in manual mode.
. Interaction of system elements that is possible after additional setup.
. Product components.
. Interaction protocol.
The algorithm of interaction of environment elements:
The user interacts with web application interface in the browser.
The browser interacts with web application back end. On the first use of the web application back end, the required web application files and the page with the login dialog box. The web application reads settings from the config.json configuration file.
The further interaction between the browser and the BI server depends on the method in use:
The browser interacts with the BI server via the web application back end. The web application back end handles the obtained browser requests and redirects them to the BI server by means of the PPServices.axd request handler used as a proxy server. Request proxying is required if the BI server is included in the other domain relative than the browser. This interaction method is used by default.
The browser interacts with the BI server by bypassing the web application back end. The web application back end does not interact with the BI server, the browser addresses the web application back end only to load required web application files and to read settings from the config.json configuration file. Browser queries are sent directly to the BI server via the PP.SOM.Som access point. The BI server works via the PP.SOM web service, which allows access to the product functionality.
The B server sends queries to the licensing service to determine access to the functionality.
The licensing service handles the obtained queries and redirects them to the license server. The license server checks if there is a valid license for corresponding features and sends response to the BI server via the licensing service.
The BI server interacts with the DBMS using business logic core.
The BI server includes business logic core and security core:
The business logic core provides logic of product work, logic of interaction between objects, executes functions of loading, handling, calculation, and saving data.
The security core executes administration and information security functions.
A task scheduler is added to the environment to execute scheduled resource intensive tasks:
Designations:
. Interaction of system elements at product level.
. Product components.
. Interaction protocol.
IMPORTANT. The task scheduler must be located separately from the BI server.
The user creates tasks using scheduled tasks container in the web application. The administrator prepares the Scheduler.xml configuration file, which stores task scheduler settings. The task scheduler interacts with the licensing service, license server, and DBMS as follows:
The task scheduler sends queries to the licensing service to determine access to the tools used in the scheduled tasks container and to the functionality.
The licensing service handles the obtained queries and redirects them to the license server. The license server checks whether there is a valid license for corresponding features and sends response to the task scheduler via the licensing service.
The task scheduler executes tasks based on the specified schedule and interacts with the DBMS.
Production environment configuration assumes, along with the presence of development/test environment elements, assumes the following:
Web servers clusters, BI servers clusters, licensing services clusters.
Load balancers for clusters.
State servers for BI servers clusters.
NOTE. State server, license server, and load balancer are not included in the software package of Foresight Analytics Platform.
Designations:
. Interaction of system elements at product level.
. Interaction of system elements at user level in manual mode.
. Interaction of task scheduler with system elements.
. Product components.
. Interaction protocol.
The algorithm of interaction of environment elements:
The user interacts with web application interface in the browser.
The browser interacts with the load balancer that is used to work with the web servers cluster.
The load balancer sends queries to one of the web application back ends in the cluster. On the first use of the web application back end, the required web application files and the page with the login dialog box. The web application reads settings from the config.json configuration file.
The browser interacts with the load balancer that is used to work with the BI servers cluster.
The load balancer sends queries to one of the BI servers in the cluster. Queries are sent via the PP.SOM.Som access point. The BI server works via the PP.SOM web service, which allows access to product functionality. If on executing a query the BI server failure occurred, the balancer resends the query to another BI server, which restores all necessary objects from the state server, executes the query and creates the report for the user.
The BI server interacts with the licensing service to determine access to the functionality. If required, set up fault tolerance of the licensing service. In this case a load balancer will be located between the BI server and the licensing service. The load balancer sends queries to one of the licensing services in the cluster.
The licensing service handles the obtained queries and redirects them to the license server. The license server checks if there is a valid license for corresponding features and sends response to the BI server via the licensing service. If required, set up one or several backup license servers to provide license server fault tolerance.
The BI server interacts with the DBMS using business logic core.
The BI server saves parameters of all objects at the state server after handling queries and addressing the DBMS.
When executing scheduled resource intensive tasks using the task scheduler:
The task scheduler interacts with the licensing service to determine access to the functionality. If required, set up fault tolerance of the licensing service. In this case a load balancer will be located between the task scheduler and the licensing service. The load balancer sends queries to one of the licensing services in the cluster.
The licensing service handles the obtained queries and redirects them to the license server. The license server checks whether there is a valid license for corresponding features and sends response to the task scheduler via the licensing service. If required, set up one or several backup license servers to provide license server fault tolerance.
The task scheduler interacts with the DBMS using the business logic core.
See also:
Installing and Setting Up Foresight Analytics Platform Applications