Application infrastructure
Glossary Item Box
Introduction
From the server infrastructure view, the bpm’online is a three-tier architectural system with modifications (Fig. 1).
Fig. 1. Application infrastructure
The center of the infrastructure is the application server that runs under the Internet Information Services (IIS) version 7.0 or higher.
The next component of the architecture is the classic database server.
Client workplaces can be located on any available device (PC, laptop, mobile device). All requests to the server are performed via the web browser or mobile application.
In addition to the three main components, there are optional ones:
- database session server (Redis)
- version control server
- web services.
Application server
Application server consists of two parts: WebAppLoader and WebApp.
WebAppLoader
The main purpose of WebAppLoader is authorization, authentication and redirect of users to the main application. The main functions of the WebAppLoader:
- user authorization
- user licensing and authentication
- starting the scheduler.
WebApp
After incoming requests were processed in the loader they are redirected to the WebApp. This part is responsible for the business logic of the system. This is an application that implements specific configuration and workplace in the system.
The database server
Database stores a data necessary for user or for the operation of the system itself. All configuration settings that define functionality of the products are also stored in the database.
Systems that can be used as database server:
- MS SQL Server 2012 SP3 or higher
- Oracle DBMS 11 g Release 2 and up (when deploying on-site)
NOTE The MS SQL Server 2016 is used in the bpm’online cloud infrastructure. |
Client
All requests to the server are performed via the web browser. Following web browsers are supported:
- Internet Explorer 11.0+,
- Firefox, the last official version on the bpm’online release date
- Chrome, the last official version on the bpm’online release date
- Safari.
The bpm’online mobile application is used to access the server with mobile devices.
The session storage server (Redis)
Redis main functions:
- storing the data of user sessions
- storing cached data
- Data exchange between web farm nodes.
Redis advantages:
- data is stored in RAM, it provides high performance of the system
- server can work under Unix OS
Version control system server (SVN).
This is an optional component that is enabled only when you need to start the development of custom configuration on the platform in parallel with system operation. Server functions:
- Transition of modifications between configurations Modifications are transferred with the packages through version control system.
- Storing the status of the configurations as a packages of specific version. Everything that is developed in the packages is stored in the version control system.
More information about the version control system can b e found in the “Create repository in SVN server” article.
Web services
This is an additional cloud services that can be accessed from the several bpm’online applications.
Global Search Service
The Global Search Service is created for integration of the ElasticSearch with the bpm'online and performs following functions:
1. Registration:
- Connects the client by creating an index in ElasticSearch, and stores the index application connection.
- Disconnects the client, upon request by deleting the index in the ElasticSearch.
2. Transition:
Participates in the indexing process. Takes the data from the application database and sends it to the ElasticSearch.
GSS consists of three components:
- Service – API for registration and access management to the global search
- Worker – exports data from the database and imports to the ElasticSearch index
- Scheduler – the scheduler of the Worker.
Bulk email service
Used for integration of bpm’online and bulk email services (ElasticEmail, UniOne, etc.). Enables to work with following bulk email types:
- Bulk emails.
- Transactional emails (immediate delivery to one recipient).
Access to the service is performed via public Web API.
Website event tracking service
Enables to track events from on the client site and pass them to the bpm’online. Application identification is preformed via unique API key by which the temporary event storage and the bpm’online instance for synchronization are defined. The JavaScript code embedded in the site pages used to perform tracking. The code sends events to the service.
The database enrichment service
Account data enrichment service uses different search technologies to find information about accounts and their communications from the open Internet sources.
The service for enriching contacts from email uses different search technologies to find information about contacts and their communications from the emails.
System installation schemas
Figure 2 contains two possible installation schemas of the bpm’online application.
Fig. 2. Installation schemas
Non fault tolerance system installation requires one application server, one Redis server, one database server and using SVN server for development.
Fault tolerance system requires:
- several workload balancers
- several web farm nodes
- several nodes of database cluster
- several nodes of the Redis cluster
SVN server can be used for development, but it is not recommended on such complex fault tolerance systems.
Deployment options
There are two deployment options:
1. On-site
2. Cloud.
On-site deployment
In On-site deployment, all costs associated with the organization of the server part (installation, configuration, maintenance, administration) are assigned to the customer.
One of the advantages of this deployment option is the simpler integration with the Active directory, since the domain controller is usually located in the enterprise LAN. Also, the on-site deployed application is better for development.
Disadvantages of this deployment options are that the customer bears constant costs to support this infrastructure (update, administration, maintenance costs).
Cloud deployment
In the cloud deployment option, the application is deployed on the Amazon servers. All application server part is stored in the data centers and administrated by bpm’online employees. All issues related to administration, speed, scalability are solved by the bpm’online employees and client uses only the client part of the application.
Advantages of the Cloud deployment:
- timely updates
- maximal performance
- compliance with industry standards on data availability and security.