Architecture
AGORA is a multi-component content services platform designed to implement enterprise solutions of any complexity and developed on the basis of a number of open-source platforms, libraries, and applications.
When designing solutions on the AGORA platform, modern approaches are taken into account for the implementation of corporate applications of any difficulty and ensuring increased requirements for their productivity, fault tolerance, and scaling.
The architecture of each solution is designed on the basis of the general scheme of AGORA components and consists of elements that are necessary to meet the needs of the organization. This approach ensures the most efficient use of the organization’s resources during the operation of the developed solution.
General Scheme of Components:
Each AGORA component has its own architecture and approach to its implementation. All of them are united by the main component – the UnityBase module, which is responsible for the fast intercomponent interaction of the solution.
Technologies
JavaScript is the main programming language and is used by most of the front-end and back-end components. However, individual components of the solution can also use other programming languages. For example, GeoCMS uses GeoServer, an application written in Java, to serve maps, while other GeoCMS functional modules are implemented in JavaScript.
The use of JavaScript as the main programming language provides affordable support and development of the platform due to the availability of a wide range of libraries, as well as qualified specialists with the necessary technology stack to work with them.
Application development uses open-source technologies. This approach allows us to implement solutions in accordance with modern trends in the field of IT while solving complex technological problems. Open-source technologies allow an organization or company to save resources on maintaining and developing implemented solutions based on AGORA and are one of the factors that ensure a high ROI of projects in which the solution is involved.
Multilingual
AGORA supports multilingual user interfaces and provides a single workspace for users from different countries and regions.
Scaling and Fault Safety
The high level of performance and fault tolerance of the AGORA-based solution is provided by a combined approach where each platform component has its own implementation of uninterrupted operation. For example, using the principle of horizontal scaling for CMS.
USER 1
USER 2
LOAD BALANCERS
SERVER 1
SERVER 2
CMS APP
DATABASE CLUSTER
CACHE SERVER CLUSTER
Security
AGORA provides a high level of data transmission and storage security, observing all the requirements for the protection and confidentiality of information at different levels of user interaction with the platform.
Access & Network Level
-
Encryption
-
Real-time network monitoring
-
Traffic filtering
-
Password encryption
-
Access and performance
-
Connection filtering
App Level
-
Secure Authentication
-
Protected password
-
Role model
-
Access rights
-
Audit Log
All processes of implementation of functional modules of the platform are carried out in strict accordance with the best world practices used in Softengi. This is evidenced by the certification of Softengi according to the international standard ISO9001 and the international standard of information security .
Software development uses secure development practices based on the ASVS standard (OWASP project). All software components are penetration tested based on the OWASP Testing Guide.
Integrations
The platform supports REST API and OData, OAuth2 and LDAP protocols. AGORA provides the ability to set up integrations with external systems and applications using:
-
Web services (extraction of third-party websites from the business process)
-
OData endpoint (data integration)
-
HTTP (requests to third-party sites)
-
Mail servers (adding new features)
-
Active Directory
-
Database (data integration)
Licensing
The AGORA platform is built on open source principles, and the primary license for distributing solutions is the Apache 2.0 open source license, allowing free use and modification.
However, a commercial license may be necessary to meet specific customer requirements, such as using components with paid licenses. The commercial license provides greater flexibility and access to premium features, services, and support, while retaining the benefits of the open source license.
In summary, the AGORA platform offers customers the flexibility to choose the licensing model that best suits their needs, whether it be the Apache 2.0 open source license or a commercial license.