Components
All the resources described herein are logical components. You can install them on the same computer or distributed across several machines according to the number of users to be connected, the size of the database, and the number of transactions to be processed. This model of distributed architecture offers a high level of scalability.
Mandatory Components
Database server
Tables and indexes that store information recorded by application users such as suppliers, customers, products, inventory, sales, production, accounting, and so on.
The database server stores the application data, the description data for this application (dictionary), and the parameters data.
The platform products are developed according to the database editor recommendations, which guarantees the integrity and the consistency of the data stored in the database.
There is no limit to the size of the database. Most customers are below 100 GB for data size, however some large Sage X3 installations use several terabytes. To reduce the size of the live database, you can purge large tables or archive them in a special archive folder that may use another database server.
Application server
The application server embeds the default runtime server.
This server provides access to all the elements that make up the application including processes, screens, reports, and so on. These elements are organized in directories by folder and are not repeated from parent folder to child folder except when they truly belong to the child folder. Otherwise, it is the element from the parent folder that is used. Three folder levels are managed in this way.
The application is organized as a hierarchy of folders where the root folder is the image of the standard delivery and the other folders are the customer folders, generated from the root folder and each representing an application.
Configuration console
The configuration console is a tool used to install and manage platform components. The console configures the components and links them to define a solution or work environment.
The console uses different XML configuration files that are generated on each server when installing the various components.
The configuration console can be installed on any workstation running Windows 7 or higher, and/or on any Windows servers involved in the application infrastructure.
A Sage X3 environment (or solution) can be managed by several users from different workstations or servers where the configuration console is installed.
Syracuse web server
JSON
JavaScript object notation: a textual data format for structuring information with tags.
MongoDB
A document-oriented database classified as a NoSQL database.
SADFSQ
A Sage X3 internal communication protocol executable.
Syracuse web server is a web presentation and administrator front-end server that end users access to open a Sage X3 session through their internet browsers.
It works in asynchronous mode based on the Node.js software platform, which contains a server library used to provide a web publication and administration server.
Each function has its own URL and sends normalized (SData) Java Script feeds in JSON format to the client (web browser on user’s workstation or web services client).
Operating data, such as Windows customization, dashboard, endpoints, management roles, user information, and electronic documents that users can register via their storage area, are stored in a document-oriented MongoDB database.
The node.js web server can be clustered to ensure scalability when a high number of concurrent interactive connections and/or web services are needed.
This node.js web server also manages:
- Workflow links
- Incoming and outgoing SOAP and REST web service
MongoDB server
MongoDB is a free open source NoSQL database. It is used to store all configuration and customization parameters for the Syracuse web presentation server and can also be used to store documents attached to business processes (for instance, scanned orders or invoices).
MongoDB can be clustered on multiple servers to ensure scalability and redundancy.
Print server
This server is hosted on a machine running a Windows Server operating system. There can be multiple print servers per solution depending on volume requirements for printing.
The print server handles all print requests from interactive sessions as well as batch submissions and sends the files to the appropriate print destination (printer, file, PDF, FAX, and so on).
The print service manages an output queue of the requests submitted, and the execution of these reports can be dispatched on several reporting processes or threads. The number of reporting processes can be customized in the configuration console and must be adapted to the size of the server.
The print server communicates with two other servers in your environment: the application server that hosts the printing model and the database server that hosts the tables via an ODBC connection.
Reports are designed using Crystal Reports.
Additional components
Additional runtime server
These servers manage processes when scalability is required. They can run processes linked to interactive sessions as well as web services sessions and batch processes.
Differences between the main process server and additional process servers are as follows:
- At least one main process server is mandatory and runs on the same machine as the application server.
- Additional process servers are optional and are used to load-balance among multiple resource processes related to Sage X3 user sessions.
Additional process servers load balancing is automatically managed by the front-end Syracuse web presentation server(s), and can be done according to multiple rules (group tagging, web services pools, batch capability definition).
It is still possible to have a configuration with a principal process server and additional process servers. Sage no longer recommends this configuration since release 2021 R1/V12.25.
Sage recommends using the application cluster mode.
The application cluster mode allows having several additional servers to execute interactive processes, web server processes, or batch processes. It requires having shared storage (usually a NAS server) attached to every process server. The application cluster mode ensures high availability and improved and homogeneous management of every server.
For further information, consult the Application cluster architecture how-to guide.
Elasticsearch search engine
Elasticsearch, is a free, open source search engine based on the 100% Java Lucene engine under Apache License 2.0. There are no additional database engines to be installed.
Elasticsearch provides real-time text-based search on the application data and metadata that have been setup to be indexed.
Elasticsearch can be clustered on multiple servers to ensure scalability.
Mobile Automation (ADC)
This component is delivered from release 2021 R2/V12.0.26.
Mobile Automation (ADC) is a new web-based application that provides secure transactions for distribution and manufacturing, based on a modernized user interface and supported by APIs.
For further information, consult the Mobile Automation (ADC) for distribution how-to guide.
Sage X3 Automated Test Platform
You can write automated tests with the Sage X3 Automated Test Platform.
Sage X3 Automated Test Platform is compliant with Sage X3 2021 R1 (12.0.25) release and above.
To use the Sage X3 Automated Test Platform library, you must have a Sage X3 license with the Test robot activation parameter enabled.
For further information, consult the dedicated how-to guides: