<<

Architecture Main application Version 7.18 This documentation is provided under restrictions on use and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this documentation, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

© 2021 . All rights reserved. Table of Contents | 3

Table of Contents

Main application 4 Creatio layers 4 Creatio infrastructure 5 Horizontal scaling 9 Deployment options 11

© 2021 Creatio. All rights reserved. Main application | 4

Main application

Beginner

The classic three-tier Creatio architecture is cross-platform, flexibile, and scalable. The presentation layer lets users access Creatio UI via a web browser or a mobile app for Android or iOS. Creatio application layer is available for the .NET Framework and .NET Core platforms, and can be deployed on Windows, Linux, and macOS web servers. Creatio supports SQL Server, Oracle, and PostgreSQL for persistent storage on the data layer. Creatio supports version control system server integration, which allows for multi-user development. The Creatio architecture supports horizontal scaling and different deployment methods: cloud and on-site (with or without fault tolerance).

Creatio layers Creatio has a classic three-tier architecture with the following layers: data, application, presentation.

Presentation layer The presentation layer contains web pages, JavaScript code, and styles that define the UI logic and look. The key technologies used here are Angular, JavaScript, Ext.JS, HTML5, and CSS. The supported browsers include Chrome, , Edge, and Safari. Creatio mobile app is an alternative client to access the application with UI optimized for Android and iOS devices.

Application level The application layer defines the core business logic, such as dynamic case management, business process engine, phone integration, etc.

This layer handles user authentication/authorization, license checks, and instantiation. It also runs custom

© 2021 Creatio. All rights reserved. Main application | 5

business logic implemented via Creatio and low-code tools. This layer corresponds to the application server on the infrastructure level.

Data layer The data layer stores and manages all customer data, application settings, metadata, and user authentication data. Creatio uses it for in-memory session data storage, frequently used caches, and quick interactions between web farm nodes. Supported database management systems (DBMS): Microsoft SQL Server, Oracle, and PostgreSQL. Caching server: Redis database. This layer corresponds to the caching server and the database server on the infrastructure level.

Creatio infrastructure The architecture of the main Creatio application:

Application server The application server corresponds to the application layer and performs the main computations. Creatio supports the .NET Framework and .NET Core platforms.

© 2021 Creatio. All rights reserved. Main application | 6

Setup options for Creatio products

Creatio products .NET .NET Framework Core

Marketing + +

Sales Enterprise + +

Sales Commerce +

Sales Team +

Service Enterprise + +

Customer Center +

Studio + +

Lending +

Bank Customer Journey +

Bank Sales +

Sales Enterprise & Marketing & Service Enterprise + +

Sales Enterprise & Marketing & Customer Center +

Sales Commerce & Marketing & Customer Center +

Sales Team & Marketing +

Sales Team & Marketing & Customer Center +

Bank Sales & Bank Customer Journey & Lending & + Marketing

Application server on the .NET Framework platform Creatio on the .NET Framework platform runs under Microsoft Information Services (IIS) on Windows. Learn more about the system requirements for Creatio product servers on the .NET Framework platform: Server-side system requirements.

The .NET Framework Creatio application server consists of two components:

1. The loader ( WebAppLoader ) – an application that performs Creatio service functions and redirects users to the

© 2021 Creatio. All rights reserved. Main application | 7

main Creatio application's configuration component.

The loader handles the following:

user authorization license verification and user authentication

running the background task scheduler

The loader is located in the Creatio root folder on the file system level.

After the application loader authenticates a query, the users can work with the configuration component.

2. The configuration component ( WebApp ) – an application that implements specific configuration in Creatio and handles the business logic.

The configuration component is located in the Terrasoft.WebApp folder on the file system level.

Application server on the .NET Core platform Creatio on the .NET Core platform runs under Kestrel on Linux. Learn more about the system requirements for Creatio product servers on the .NET Core platform in the Server- side system requirements article. Creatio application on .NET Core is monolithic and serves as both the application loader and the configuration component.

Learn more about Creatio products on the .NET Core platform in the Creatio .NET Core products article.

Database server The database server is a part of the Creatio data layer.

The database stores the following data:

user data

data required for Creatio operation

configuration settings that determine the product functionality

You can use the following database management systems (DBMS):

MS SQL Server. Oracle (for the on-site deployment).

PostgreSQL.

Learn more about the currently supported DMBS: Server-side system requirements.

© 2021 Creatio. All rights reserved. Main application | 8

Setup options for Creatio products

Creatio products MS Oracle PostgreSQL PostgreSQL SQL (.NET Core)

Marketing + + +

Sales Enterprise + + +

Sales Commerce + +

Sales Team + +

Service Enterprise + + +

Customer Center + +

Studio + + +

Lending + +

Bank Customer Journey + +

Bank Sales + +

Sales Enterprise & Marketing & + + + + Service Enterprise

Sales Enterprise & Marketing & + + Customer Center

Sales Commerce & Marketing & + + Customer Center

Sales Team & Marketing + +

Sales Team & Marketing & Customer + + + Center

Bank Sales & Bank Customer Journey + + + + & Lending & Marketing

Redis caching server Redis is a part of the Creatio data layer. It handles the following tasks:

User and application data storage (user profile, session data, etc.).

© 2021 Creatio. All rights reserved. Main application | 9

Cached data storage. Data exchange between web farm nodes.

Creatio uses data warehousing to achieve these goals. This technology is based on an object class model, a unified API that manages the application's access to data in an external repository. Creatio uses Redis caching server as the external repository. Redis supports the following data storage strategies:

Data storage in memory only. Redis converts a persistent database to a caching server.

Periodical saves to drive (default). Redis creates a data snapshot every 1-15 minutes depending on when the previous copy was created and how many keys were changed.

Transaction log. Redis synchronously records each change to a special append-only log file. Replication. You can assign a master server to each Redis server. Redis will replicate all changes to master servers on slave servers.

Define the data storage strategy in Redis server configuration.

Version control system server The version control system server is an optional Creatio component. Use this component when developing custom configurations in parallel with Creatio's normal operation. Learn more: Version control system for development environments.

The version control server handles the following functions:

Migrating changes between Creatio applications during the development. The version control system transfers changes via packages stored as sets of files and folders on the file system level. Storing the configuration status as packages of a specific version. The version control system stores all configuration elements that you develop in the packages.

The Creatio IDE is designed to work with Subversion, however you can use other version control systems when developing with third-party IDEs.

Horizontal scaling You can enhance the performance of large-scale Creatio projects with horizontal scaling.

© 2021 Creatio. All rights reserved. Main application | 10

If you use horizontal scaling, the main Creatio application architecture will include the following components:

Load balancers. The load balancer may either be hardware or software. To work in fault-tolerant mode, use an HTTP/HTTPS traffic balancer that supports WebSocket protocol. Learn more about installing and setting up the balancer: Application server web-farm.

Web farm (multiple Creatio application servers). Redis caching server using Redis Sentinel or Redis Cluster technology (multiple Redis caching servers). Database server or database cluster (multiple database servers). Version control system server (optional).

© 2021 Creatio. All rights reserved. Main application | 11

Deployment options Creatio supports the following deployment options:

On-site. Cloud (deploying Creatio application in the cloud).

On-site deployment When deploying Creatio on-site, the customer is responsible for all server infrastructure expenses, including the installation, configuration, maintenance, and administration. On-site deployment advantages:

Fast and convenient development. Independent development environments. Since development is performed in a separate Creatio application, it cannot affect other users. Use a version control system to save and migrate changes. Use an IDE and set up a continuous integration pipeline.

On-site deployment constraints:

Dedicated servers are required to deploy Creatio components. Continuous updates, debugging, infrastructure administration are required.

When deploying Creatio on-site, make sure that both Creatio servers and client computers meet the system requirements. To calculate the server parameters required to deploy Creatio and additional components, use the requirements calculator. Learn more about Creatio on-site deployment and setup on Windows or Linux in the On-site deployment guide. Creatio allows for the following on-site deployment options:

Without fault tolerance. Basic infrastructure option without load balancers.

With fault tolerance. Infrastructure option with horizontal scaling. Fault tolerance is implemented with Creatio server, database, and caching load balancers.

Cloud deployment In the cloud mode, Creatio is deployed on cloud servers (Amazon, Azure) managed by Creatio. Both servers and data are physically located in the data centers. Creatio handles all issues related to administration, speed, or scalability. The customers only use the client part of Creatio. Cloud deployment advantages:

Timely updates. Maximum performance. Compliance with industry standards on data availability and security.

Cloud deployment constraints:

© 2021 Creatio. All rights reserved. Main application | 12

Creatio in the cloud must comply with a set of requirements. Third-party IDEs and DBMS are not supported.

You can deploy Creatio cloud from a trial version available on our website. During the 14-days trial period, you can get familiar with the main features of the application. After the trial period ends, the demo version can be migrated to the main Creatio platform.

© 2021 Creatio. All rights reserved.