Axiell Collections Technical Specifications and Architecture
Here you will find technical information about the Axiell Collections product suite. Please read it carefully. This information will affect the success of your implementation.
This information is subject to change as Axiell releases new versions of its products.
In general, Axiell Collections runs on all Windows platforms that are currently maintained by Microsoft, including Windows 2012R2 Server and later. As a prerequisite for use, please install the most recent versions of the Windows Operating System, Microsoft Components and Features.
The following is an overview of the infrastructure:
The Axiell Collections system may be installed on separate servers for all main components (separation of concerns), or on one (or more) combined servers. The recommended component implementation will depend on expected server load. Typically, the installed servers are virtualized. For more information on server specifications, please consult the Microsoft website.
Depending on the products implemented and your preferred configurations, technical requirements may vary. In addition, please consult the Microsoft website for the minimum and recommended system requirements per MS operating system. Minimum and recommended system requirements for a server running a MS SQL Server Axiell Database are listed below. You may use an existing SQL Server installation, in which case the recommended listed requirements are minimum and depending on the use of your other databases:
Part |
Minimum system requirements |
---|---|
Processor |
8 (v)CPU |
RAM |
16 GB |
Network card |
10 Gbit |
Database Version1 |
SQL Server 2019 or later |
Disk space |
Fast I/O disks recommended, 3 separate disks 100GB per disk |
Considerations regarding disk space and speed
Axiell Collections (empty database structure) and software: about 500 MB.
How large your DB file will grow highly depends on the amount of data you store per object and if you use record history. Average size Collections have around 50GB DB (mdf-file) and large collections can grow to around 400GB.
Memory demand of the SQL server is hard to predict. Rule of thumb is DB size + 30% + 8GB (for OS).
Regarding disk speed, fast storage like SSD is advised specifically for SQL Server Temp DB and Data.
Further best practice is to store TempDB, DATA- and LOG- files on different logical / physical drives. Note that TempDB is the most important database of your SQL Server installation, therefore placing it on the fastest storage will give you the best performance. For more
information on TempDB see also:
https://docs.microsoft.com/en-us/sql/relationaldatabases/databases/tempdb-database
Regular maintenance of your SQL Server environment is important to keep the performance of Axiell Collections optimized. This means, Backups (also log files), Index Optimizations, Database Integrity checks, etc. In cases of performance issues, often these requirements have not been met.
Axiell Collections and Axiell Internet Server
The Axiell Collections, Axiell Internet Server Application (AIS) and Axiell WebAPI require that Microsoft .Net framework is installed and running on Microsoft IIS Platform that comes with the Microsoft OS. The resources needed for running these applications depends on usage and the number of applications. Please also consult the Microsoft webpage for hardware requirements regarding the usage of IIS.
In cases where the Axiell Internet Server is used for public access, it is installed on a server in the DMZ separate from the Axiell WebAPI. Access to WebAPI will normally be restricted only for the AIS. For Images and media, an Image Handler redirection / url rewrite is advised.
Depending on performance requirements all Web Applications (AIS, WebAPI, Axiell Collections) can be installed on separate VMs.
Media files mostly take up the most disk space. These files need to be accessible for Collections. When the files are stored in a network, Collections might need a service account to access the files. Having the media files on fast storage will improve loading.
The below requirements are minimum specifications. If applied to Virtual Servers, make sure you can raise the resources if needed:
Part |
Minimum system requirements |
---|---|
Processor |
4 vCPU |
RAM |
6 GB |
Network card |
10 Gbit |
Operating System |
Windows Server 2019 or later |
Internet Information Services (IIS) |
The version that comes with the OS |
Version 4.8 |
|
Webdeploy (IIS) |
3.6 |
Minimum and recommended system requirements for client workstations are listed in the table below. Please consult the Microsoft website for the minimum and recommended system requirements per Operating System. Apple workstations can be used for Axiell Collections or other browser-based applications. Up-to-date browser versions are recommended.
Supported browsers: Edge, Chrome, Firefox and Safari.
To run the Axiell Designer Windows client you may need an RDP client to the Windows Application Server or run these clients in the local network. A fast VLAN (min 1Gbit) is required in that case.
Minimum requirements as listed below can be used when workstations are connected to an RDP server (Thin Clients):
Part |
Minimum system requirements (suitable for RDP use) |
---|---|
Processor |
Quad Core |
RAM |
8 GB |
Screen resolution |
1920 x 1200 or higher |
Network card |
10 Gbit |
Operating System |
Windows 10 or later |
Microsoft Office (optional) |
Office 365 |
An overview of the technical architecture of the Axiell Collections system and its components, including the Windows Operating System components that are employed by the software:
The Axiell Collections solution consists of four distinct layers:
- User interface code that runs in the web browser
This code is the presentation and interaction layer and is written in Typescript, which is compiled into JavaScript. The layer communicates asynchronously with the application server over https.
- User interface code that runs in the application server
This code implements the logical “controls” that are rendered by the JavaScript layer in the browser and exposes them to the data API. The user interface has view and controller code.
The user interface code is also responsible for state and session management. The user interface code uses the application settings / business logic that are defined in Axiell Designer to create the layout of forms and menus.
- Data API
This layer receives Search and CRUD operations from the server User interface code and applies business rules to all data. The Data API serves the data, but it also guarantees that no unauthorized data reaches the application level. Furthermore, the Data API executes the Axiell Collection search language, Adapl scripting and the parametrization that is configured through the Axiell Designer tool. The Data API communicates through SQL with the database layer.
- Database layer
This is a Microsoft SQL Server database instance with an Axiell Collections specific schema.
In addition, there is a REST Web API interface on top of the Data API. This allows third party products, or specialized applications, such as Axiell Office Connect, or Axiell Move to connect to the data using the same business rules as Axiell Collections itself. It is essential that this access flows though the Data API since this is the only way that data integrity can be guaranteed if the data is accessed by external applications
The Java-script and App code runs on the user’s device, the other three layers run on a server environment. These layers can run on a single server, on multiple separated servers, or on multiple application and data servers. The SQL server can be clustered. The exact server configuration is dependent on size and redundancy requirements.
The Java-script code is loaded by the browser from the server. No software installation (other than the browser, Edge, Firefox, Chrome or Safari) is required.
Mobile apps (Axiell Move, but also third-party apps) provide their own user interface and communicate over https with the Web API. Axiell apps are written using Xamarin and run natively on IOS devices.
Axiell Designer is a comprehensive Windows based tool with a graphical user interface that enables the configuration, administration, and customization of the Axiell Collections system. It encompasses the following main tasks:
- Database maintenance: setup of tables, fields, relationships, indexing strategy
- Security maintenance: creation of roles, groups and access control lists to objects
- Application maintenance: menu options, screen lay-out, output formats
- Import and export of data
- Adapl script editing and compilation
- Localization (including translations)
The Axiell Designer administration documentation is available here.
The application components are stored in a folder structure that is accessible to the software. Below is an overview of the relevant folders and their content. The components can be configured using Axiell Designer.
For backup and restore, the standard SQL Server tools are used (SQL Server Management Studio).
The external clients are web browsers or IOS apps. These communicate over HTTPS with the User Interface Application Server and API server. If required, this can be over a VPN connection. By using https all data exchange on the outside world is encrypted.
The four layers can be separated by firewalls, allowing only the specific traffic and port that is required for the communication between the layers. User Interface & Application server and REST interface will be placed in a DMZ, allowing safe access from the Internet.
All interaction with the SQL database is performed in the Data API. The back interface is not exposed to the outside world. Furthermore, the connection to the SQL server can be encrypted. If required, the data in the SQL server can also be encrypted: this would make it impossible for even the SQL administrator to see legible data.
Authentication can be configured using Active Directory, LDAP, through a dedicated User database managed within Axiell Collections or using SSO (SAML/OAuth). Authorization is based on Groups that are configured in the business engine. These groups are mapped against AD Groups or User DB roles.
It is recommended that the Windows server is in an Active Directory domain. If this is not possible, the Axiell Collections web service, Collections application and database server can be installed in a:
In order to share their resources, each computer / server in a peer-to-peer network within the workgroup needs its own (matching) user accounts and security control.
In this case:
- On the server, the folder in which the Axiell Collections core software package is deployed, and the Axiell Collections application folder must be shared and the anonymous
IUSR
user needs read-only access to these folders. - In IIS (details below) it is necessary to set
Anonymous Authentication
for the Axiell Collections installation to Application pool identity and not Specific user:Note: These steps can only be performed after the Axiell Collections core software package has been deployed and the Axiell Collections web service is consequently available in IIS.
In IIS:
- Select the Axiell Collections web service (under Default Web Site).
Note: In this example, the Axiell Collections web service is called Collections, but it can be given any name during deployment of the Axiell Collections core software.
- Double-click Authentication to display the Authentication screen:
- On the Authentication screen, select Anonymous Authentication.
- Select Edit to display the Edit Anonymous Authentication Credentials dialogue.
- Select the radio button for Application pool identity:
- Click Ok.
- Select the Axiell Collections web service (under Default Web Site).