Main Application Version 7.18 This Documentation Is Provided Under Restrictions on Use and Are Protected by Intellectual Property Laws
Total Page:16
File Type:pdf, Size:1020Kb
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 Creatio. 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 Microsoft 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, Firefox, 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 Internet 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