Architecture schema
The Sage X3 version 7 platform includes several components. Some of them are new and linked to the version 7 platform while others are required to support the version 6 technology used by the classic mode.
The following diagram illustrates all the servers that you can install in a complete Sage X3 implementation:
In the diagram:
- The node.js server is the main web server that connects the user interface to the different servers, manages administration data, and authentication. It can be a storage of servers, every server running one or several node.js processes (usually one per core). When several node.js processes are present, a load balancer is used to distribute the requests across the different node instances.
- The MongoDB server is used to store the administration data in the MongoDB NoSQL database. This logical server can also be a storage of servers configured for replication or sharding.
- The Elasticsearch server is used to handle the search index update and search functions. This logical server can also scale in clusters.
- The X3 process servers and the X3 application server manage the X3 process execution including the connection to the database servers. They perform the same role as in version 6.
- The database server is the server on which the database service runs (Oracle or SQL server).
- The version 6 web server is an optional server that is still used for some applications such as the VT connection and the SOAP V6 web services. It will become obsolete in future versions.
- The Java bridge server is an optional server that works similarly in version 6 and that is used for SOAP web services. It will also become obsolete in the future.
- The print server runs the Crystal Reports used in Sage X3. As the version 6 client that was able to embed the Crystal Report runtime is no longer used, it becomes mandatory to install it.
- The SAP Business Object server is used to run Business Object reports. It is an optional component.
- The SMTP server is used to send email messages with the V6 workflow tool.
All these servers are logical servers that can be deployed on a single server (especially for demo purposes). Usually, dedicated servers are used for database, search, and MongoDB. They can be virtualized based on the specifications of the corresponding vendors.
To focus on the main components of the platform, the schema can be summarized as follows:
-
A client can have one or several browser instances that connect to the version 7 web server (1). The node.js web server can have several instances and a load balancer is provided to handle a reasonable number of node.js instances (usually one per core on 1 to 5 servers). An external load balancer can also be used to distribute the http and https requests on several node servers.
-
MongoDB is able to run on clusters as well (2).
-
Lucene and Elasticsearch are also technologies built for the cloud, able index and search over millions of entries (3).
-
The standard databases used (SQL Server, Oracle) are highly scalable and able to run in distributed environments when necessary (4).
-
The server that runs the Sage X3 application code can be distributed on several servers (5).
If a large volume of data needs to be managed by MongoDB or Elasticsearch, these components can split the data across multiple shards. However, this is unlikely to be required in the ERP context.