Altium NEXUS Server

Information for IT Departments Regarding Altium NEXUS Server

Created: December 13, 2019 | Updated: March 1, 2021
Now reading version 2.1. For the latest, read: Information for IT Departments for version 4.1

Parent page: Altium NEXUS Server

While installation and use of Altium Server Technology - in the form of an Altium NEXUS Server and its related services - is detailed across other pages within this documentation site, the aim of this page is to provide a single, detailed resource for an organization's IT department. A place to come for answers to typically asked questions regarding this technology, including:

  • What are the hardware requirements to install the Altium NEXUS Server?
  • What is installed?
  • What programs and processes are running?
  • Where is the data stored?
  • What ports are used?
  • What protocol is used for communications?
  • How is data backed-up?

The following sections provide detailed answers to these and other questions, including a high-level overview of the architecture and data flows.

Hardware Requirements

The Altium NEXUS Server can be installed on a PC running one of the following Operating Systems:

  • Windows Server 2016 Standard Edition (64-bit)
  • Windows Server 2012 R2 (64-bit)
  • Windows 10 (64-bit)
  • Windows 8.1 (64-bit)
  • Windows 8 (64-bit)

The Altium NEXUS Server cannot be installed on a PC running a 32-bit OS, nor a 64-bit OS that does not support Windows Authentication (Core, Home, Starter, and Base editions). The following is a summary of supported Operating Systems:

  • Officially Supported: Windows Server 2016 Standard Edition 64-bit (Recommended), Windows Server 2012 R2, 64-bit (Minimum).
  • Recommended only for Evaluation: Windows 10 64-bit, Windows 8.1 64-bit, Windows 8 64 bit - Ultimate or Professional versions in each case.
The Altium NEXUS Server relies on a number of Microsoft runtime components for successful operation and access, in some situations these may not be present on the target machine. If you receive an error message about a missing library (DLL) when you attempt to sign into an Altium NEXUS Server, it indicates that there are missing Microsoft runtime components. Use this link to download and install these missing components: http://www.microsoft.com/en-us/download/confirmation.aspx?id=29 

The following are the recommended system requirements to install and run an Altium NEXUS Server. Note that these recommendations are for 5 concurrent users.

  • OS: Windows Server 2016 Standard Edition (64-bit)
  • RAM: 16GB+
  • Processor: Intel® Xeon® processor or equivalent (4 or more cores)
  • Disk space: 200GB
  • Database: Firebird

The following are the minimum system requirements to install and run an Altium NEXUS Server. Note that these recommendations are for 5 concurrent users.

  • OS: Windows Server 2012 R2 (64-bit)
  • RAM: 8GB+
  • Processor: Intel Core i3/i5 processor or equivalent (2 or more cores)
  • Disk space: 200GB
  • Database: Firebird

Altium NEXUS Requirements

To fully access and appreciate the features and technologies associated to, and installed with, the Altium NEXUS Server, requires the latest version of Altium NEXUS.

Installation & Other Software

Due to the observed unpredictable behavior of antivirus software, it is recommended to disable such software during the installation of the Altium NEXUS Server.

If the computer is also running Microsoft Exchange Server, you might receive an HTTP Error 503 error when you first attempt to log in. The installation of the Exchange Server can change the Internet Information Services (IIS) configuration in a way that conflicts with the NEXUS Server. To resolve this, the following changes must be made to the applicationHost.config file:

<handlers accessPolicy="Read, Script">
...

<add name="kerbauth" image="C:\Program Files\Microsoft\Exchange Server\V15\Bin\kerbauth.dll" preCondition="bitness64" />
<add name="WSMan" image="C:\Windows\system32\wsmsvc.dll" preCondition="bitness64" />
<add name="exppw" image="C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\Owa\auth\exppw.dll" preCondition="bitness64" />
<add name="cafe_exppw" image="C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\bin\exppw.dll"  preCondition="bitness64" />

...
</handlers>

For information about the ApplicationHost.config file, refer to this article. For information on editing the file, refer to this article.

Additional Software Installed or Configured

  • Internet Information Services (IIS). For correct operation, the Altium NEXUS Server requires, at minimum, version 8.0 (IIS 8.0) to be installed. Installation of the Altium NEXUS Server will simply install the version of IIS native to your operating system:
    • IIS 10.0 - Windows 10 (64-bit) and Windows Server 2016 Standard Edition (64-bit)
    • IIS 8.5 - Windows 8.1 (64-bit) and Windows Server 2012 R2 (64-bit)
    • IIS 8.0 - Windows 8 (64-bit)
  • Firebird 2.5 database engine (where the option to install using a Firebird database is chosen)
  • .NET Framework 4.5.2

IIS Configuration

As part of IIS configuration, the ISAPI Extensions feature is enabled. This feature can be found in the \Internet Information Services\World Wide Web Services\Application Development Features section of the Windows Features dialog - accessed from Window's Programs and Features window.

Installation of the Altium NEXUS Server enables the Windows ISAPI Extensions feature, part of IIS configuration.
Installation of the Altium NEXUS Server enables the Windows ISAPI Extensions feature, part of IIS configuration.

The following application pools are installed on the IIS server:

  • Altium NEXUS Server
  • Altium NEXUS Server - Applications Registry Service
  • Altium NEXUS Server - ARK Service
  • Altium NEXUS Server - BOM Management Service
  • Altium NEXUS Server - Collaboration Service
  • Altium NEXUS Server - Comments Service
  • Altium NEXUS Server - Configuration Discovery
  • Altium NEXUS Server - Data Acquisition Service
  • Altium NEXUS Server - Data Storage Service
  • Altium NEXUS Server - Discovery Service
  • Altium NEXUS Server - EIS
  • Altium NEXUS Server - Event Dispatching Service
  • Altium NEXUS Server - Git
  • Altium NEXUS Server - Identity Service
  • Altium NEXUS Server - LicenseManager Service
  • Altium NEXUS Server - Managed Flows
  • Altium NEXUS Server - MCAD Collaboration Service
  • Altium NEXUS Server - Network Installation Management
  • Altium NEXUS Server - Network Installation Service
  • Altium NEXUS Server - Notifications Service
  • Altium NEXUS Server - NTLM Authentication
  • Altium NEXUS Server - Part Catalog Service
  • Altium NEXUS Server - Plm Sync Service
  • Altium NEXUS Server - Projects Service
  • Altium NEXUS Server - Search Service
  • Altium NEXUS Server - Search Templates Service
  • Altium NEXUS Server - Security Service
  • Altium NEXUS Server - Settings Service
  • Altium NEXUS Server - Simple Lock Service
  • Altium NEXUS Server - Tasks Service
  • Altium NEXUS Server - Team Configuration Service
  • Altium NEXUS Server - Vault Service
  • Altium NEXUS Server - Vcs Service
  • Altium NEXUS Server - Web Review
  • Altium NEXUS Server - WebSocket Service

Verification that the Altium NEXUS Server is running can be performed from the Windows Internet Information Services (IIS) Manager panel - accessed from Window's Administrative Tools window. Simply check to confirm each of these application pools are in the Started state.

Altium NEXUS Server-related application pools running on the IIS server.
Altium NEXUS Server-related application pools running on the IIS server.

Default Installation Paths

The following is a list of default installation paths when installing the Altium NEXUS Server:

  • Altium NEXUS Server Installation Folder - \Program Files (x86)\Altium\Altium NEXUS Server.
  • Firebird Installation Folder - \Program Files (x86)\Firebird\Firebird_2_5.
  • Firebird Database - \ProgramData\Altium\NexusServerData\DXPSERVER.DAT.
  • Revision Files Folder - \ProgramData\Altium\NexusServerData\Revisions.
  • Search Index Data Folder - \ProgramData\Altium\NexusServerData\SearchData.

Default Ports

The following default communication port numbers are used by the Altium NEXUS Server:

  • HTTP Port - 9780
  • HTTPS Port - 9785
  • LDAP Service Port - 9791
The LDAP Service Port is not, in actual fact, used. For standard LDAP (with URL 'ldap://'), the port from this URL is used. For secure LDAP (with URL 'ldaps://'), the port 636 is used.
  • Websocket Port - 4649
  • Firebird Server Port - 3050
  • SVN Port - 3690

The first three in the list can be configured during initial installation, on the Altium NEXUS Server Configuration page of the Installer.

If a port is already used, the Installer will search for the next available, and use that instead.

When choosing a port, note that it must not clash with any ports used by other applications - if a port is currently in use, you will be notified by the installer.

The HTTP Port is served by IIS and used by NEXUS Server applications. It is the main port, and should always be open. The Firebird Server Port is used for, and by, the Firebird RDBMS. By default it is binded only to localhost. It SHOULD NOT be exposed externally, for security reasons. Users do not interact with this port directly. Both ports provide regular HTTP interaction (request/response). Both ports can be customized. The HTTP Port can be changed during installation. While the Firebird Server Port can be changed manually, it is not recommended to do so.
With respect to the HTTP communications port, if you have legacy Vault technology (Altium Personal Vault or Altium Satellite Vault) running on the same PC, ensure that the communication ports are unique. A legacy Altium Personal Vault uses the port 9680, while a legacy Altium Satellite Vault uses port 9880. The Altium NEXUS Server cannot be installed alongside a legacy Altium Vault (3.0 and earlier) or an Altium Infrastructure Server (i.e. on the same PC). In the case of the former, you can upgrade to the Altium NEXUS Server (as though updating to a later version of Altium Vault).

HTTPS Protocol Support

For those that require an additional layer of security for exchanging data with the Altium NEXUS Server, the server provides for secure communication over networks using the HTTPS protocol to protect the privacy and integrity of the data.

The port number used for secure server connections is defined during the installation process, on the Altium NEXUS Server Configuration page of the Installer. Use the default port (9785) or enter an alternative.

The configuration and server bindings for the Altium NEXUS Server can be accessed from the Windows Internet Information Services (IIS) Manager panel - available from the Administration Tools window (Control Panel\System and Security\Administrative Tools). Select the 'Altium NEXUS Server' entry in the panel's Connections list, and choose the Features View tab.

Access configuration and server binding settings for the Altium NEXUS Server.
Access configuration and server binding settings for the Altium NEXUS Server.

The available ports and server names for the Altium NEXUS Server are shown as selectable links in the Actions pane. Use the links to note and test the server connection protocols, or access the current name/port bindings by selecting the Bindings link in the Edit Site section of the pane.

A Binding, including its protocol port number, can be edited from the Site Bindings dialog via the Edit button.

Configure bindings through the Site Bindings dialog.
Configure bindings through the Site Bindings dialog.

Note that the server name localhost only applies to the local machine, so PCs other than the one that is hosting the Altium NEXUS Server need to use the actual (server) name of that host machine to connect.

To confirm the name of the host PC on which the Altium NEXUS Server is installed and running, on that machine go to Control Panel\System and Security\System and note both the Computer name and Full computer name (its qualified domain name) - the latter will be that used by the Altium NEXUS Server for secure connections over the network.

Checking the name of the PC on which the Altium NEXUS Server is running.
Checking the name of the PC on which the Altium NEXUS Server is running.

For PCs that are not part of a Domain (configured as standard Workgroup PCs) the Computer name and Full computer name will be the same.
If you have edited the server's site bindings to use a Port number that is different to the default value, this change will need to be reflected in the HttpPort entry in the server's LocalVault.ini file, which is located in the server installation's root folder – typically Program Files (x86)\Altium\Altium NEXUS Server. For example, if you have changed the server's site binding to use the standard 443 port for HTTPS connections, update the corresponding HttpsPort=9785 line in the LocalVault.ini file to HttpsPort=443.

To establish a secure connection to the Altium NEXUS Server:

  • From Altium NEXUS - simply use a HTTPS prefixed server address and the configured HTTPS port. By default, this is https://localhost:9785 when using the PC that hosts the NEXUS Server, or https://<computername>:9785 for a remote connection (where [computername] is the host machine's Computer Name or qualified domain name).
Altium NEXUS includes the required security support to accept a HTTPS connection to the Altium NEXUS Server without intervention.
  • From a Web Browser - enter the address of the local service (https://localhost:9785) or the host computer name equivalent (https://<computername>:9785).
The Altium NEXUS Server currently offers a self-signed Identity Certificate for secure connections, which can you choose to accept in your browser to proceed. Some browsers (for example Firefox) offer the option to permanently accept the certificate, so that further action is not required.

Protocol used for Service-to-Service Communications

SOAP over HTTP.

Service Architecture – Overview

The Altium NEXUS Server installs a number of core services, as well as browser-based management consoles, and an Explorer (also browser-based). In order to access any of these services, a user's identity must be recognized and authenticated. The Altium NEXUS Server comes with one predefined user (Username: admin, Password: admin). The Users page of the NEXUS Server's browser-based interface can be used to add and manage more users. There is no limit to the number of users that may be registered to access and use the NEXUS Server, but there is a limit on simultaneous connections, as determined and enforced by required licensing.

The same user can be accessing the Altium NEXUS Server concurrently in different ways (e.g. connected through Altium NEXUS AND signed-in through an external Web Browser) and it only counts as a single connection from the licensing perspective, when access is made from the same PC. If the same user accesses the NEXUS Server from different PCs, each different PC access will require a separate connection (so extra seat of a Connector Access License).

Altium NEXUS uses an unencrypted channel (SOAP over HTTP) for communicating with the following services:

  • Applications Registry Service (when the Network Installation Service is being used as a source for extensions/updates)
  • Collaboration Service
  • Comments Service
  • Data Acquisition Service
  • Data Storage Service (DSS)
  • Identity Service (IDS)
  • Notifications Service
  • Part Catalog Service
  • Projects Service
  • Simple Lock Service (SLS)
  • SVN (through the SVN:// protocol)
  • Tasks Service
  • Team Configuration Service (TC2)
  • Vault Service

All other services communicate with each other.

The majority of services require access to the same NEXUS Server database, in which to store data applicable to them. The following are examples of the data stored by some of these services:

  • Part Catalog Service - stores supplier and manufacturer items, price and quantity history changes, etc...
  • Identity Service - stores users, roles, licensing configuration, and session information.  
  • Vault Service - stores its structure (folders, items, revisions, content types, lifecycle states, etc...).

Actual documents are stored on the file system, in the Revisions folder (\ProgramData\Altium\NexusServerData\Revisions).

The Part Catalog Service also requires a direct connection (without a proxy) to the Internet, for real-time price updates.

The following browser-based applications use SOAP API to communicate to the applicable services - they do not require access to the NEXUS Server database, nor are any other files required for them to function:

  • User Management - the application behind the Users page and sub-pages in the NEXUS Server's browser interface.
  • Vault Explorer - the application behind the Explorer page of the NEXUS Server's browser interface.
  • Catalog Management - the application behind the Part Providers page of the NEXUS Server's browser interface.
  • Projects Management - the application behind the Projects page of the NEXUS Server's browser interface.
  • TC2 Console - the application behind the Configurations page of the NEXUS Server's browser interface.

License Files

Related article: Altium NEXUS Server Licensing

Licensing for the Altium NEXUS Server essentially consists of the following two components, that together comprise a two-tiered licensing system:

  • Server License - this license makes the features and services of the Altium NEXUS Server installation available to the organization.
  • Client Access License - this license enables users within an organization to access, and sign-in to the organization's Altium NEXUS Server.

Licensing for the Altium NEXUS Server can be handled through the cloud, or locally through license files (*.alf). Acquisition of the latter is performed through the Altium Dashboard (accessed using the DASHBOARD control at the top of the Altium website). From the Licenses tab, locate the applicable license (in the Server Applications grouping of licenses) then click through to the detailed license management page. Once there, click the Activate button to generate and download the associated license file.

The software checks every hour for the presence of valid license files. Without a valid Server License, access to the Altium NEXUS Server will not be possible. If there is a valid Server License, but no valid Client Access Licenses (no available connections), a single administrative connection is permitted for backup and configuration purposes.  In addition, both Server and Client Access Licenses are timed licenses, lasting 12 months. Subscription must be renewed on an annual basis in order to provide continued access to the Altium NEXUS Server for the users in an organization, as well as to access new features and functionality developed by Altium as part of the Altium NEXUS Server. If this annual subscription renewal lapses, a single Server and CAL license will be provided to access your data for backup and configuration purposes.

Backup/Restore of Server Data

Backup and restoration of your NEXUS Server data is performed from the command line, in automated fashion, using the dedicated Backup & Restore Tool. This tool - avbackup.exe - can be found in the folder \Program Files (x86)\Altium\Altium NEXUS Server\Tools\BackupTool\ (for a default installation of the Altium NEXUS Server).

Restoring a backup is only possible to the same version of NEXUS Server from which that backup was made. In this respect, it can be a good idea to keep the installer for that version of the NEXUS Server, and corresponding license files, with the backup Zip archive.
You must run the command prompt in administrator mode to be able to use the Backup and Restore tool.
If you are upgrading your Altium NEXUS Server to a later version, backup is handled as part of the installation process. However, while the Altium NEXUS Server installer includes automated backup of your existing NEXUS Server, it is always a good idea to make a pre-update backup of your data yourself - taking a redundancy copy off to one side as it were. This provides additional safety, should any unforeseen technical difficulties arise. Additionally, it is advised to test out a new release of the Altium NEXUS Server on a different machine, before updating your production instance. Use of Virtual Machines can be invaluable in this respect.

Re-Indexing Server Content after Data Migration

To re-index server content, for example after data migration:

  1. Stop all IIS application pools associated to the Altium NEXUS Server.
  2. Stop the Elasticsearch (AltiumElasticSearch) service. This is performed from the Windows Services panel - accessed from Window's Administrative Tools window.
  3. Delete the content of the SearchData folder, which contains the search indexing data (\ProgramData \Altium\NexusServerData\SearchData for a default install).
  4. Restart the Elasticsearch (AltiumElasticSearch) service.
  5. Restart the IIS application pools associated to the NEXUS Server.

On finding the SearchData folder empty, the NEXUS Server will re-index its content once it starts.

Local SVN Design Repository - Storage

A Design Repository that is created through the local Version Control Service has its internal data stored in a corresponding sub-folder in the \ProgramData\Altium\NexusServerData\Repository folder (for a default installation of the Altium NEXUS Server).

The \ProgramData\Altium\NexusServerData\Repository folder should not be accessed in any way, other than by IT personnel for maintenance.

Internal data storage location for a Design Repository created through the Altium NEXUS Server installation's local SVN-based Version Control Service.
Internal data storage location for a Design Repository created through the Altium NEXUS Server installation's local SVN-based Version Control Service.

Using Oracle for the NEXUS Server Database

Related page: Altium NEXUS Server with Oracle Backend

When installing the Altium NEXUS Server, the Oracle database type facilitates streamlined installation of the Altium NEXUS Server within organizations already utilizing this type of database as the back-end for their existing systems. Hosting the NEXUS Server on their existing infrastructure, reduces installation and management complexity.

When using Altium NEXUS with Oracle as the backend database, the server that is integral to the deployed NEXUS solution supports the following versions of Oracle: 11G Express, 12.1c. Note that versions 18c and 19c are not currently supported.

Getting the Altium NEXUS Server installed and running with Oracle as its back-end database is essentially a two-fold process:

  1. Setting up the Oracle database
  2. Setting up the Altium NEXUS Server.
It is recommended to install the Altium NEXUS Server on a separate machine to the Oracle database itself. In addition, ensure that the dedicated machine onto which the NEXUS Server is installed has abundant storage space and computing resources.

Preparing the Altium NEXUS Server

To be installed and run successfully, the Altium NEXUS Server requires not only the OCI client, but also relevant .Net connectors. It is recommended to install the relevant 32-bit Oracle Data Access Components (ODAC) with Oracle Developer Tools for Visual Studio, in accordance with the version of Oracle you are running. For testing, the ODAC 11.2 Release 5 and Oracle Developer Tools for Visual Studio (11.2.0.3.20) download was installed on the dedicated machine used to accommodate the NEXUS Server.

The Altium NEXUS Server also requires configuration of tnsnames.ora.
The NEXUS Server's database structure is created and updated during the installation process, so if there are strict policies for DDL execution from DBA side, the database structure could be created in a temporary space or server, checked, and then moved to the intended production server manually. If this is done, the Altium NEXUS Server will need to be reconfigured to use that production server.
The Altium NEXUS Server Backup & Restore tool does not support database backup when using an Oracle database as the back-end. Backup must therefore be performed in cooperation with the Oracle DBA. For more information, see Backing up Your Altium NEXUS Server with an Oracle Backend.

 

Found an issue with this document? Highlight the area, then use Ctrl+Enter to report it.

Contact Us

Contact our corporate or local offices directly.

We're sorry to hear the article wasn't helpful to you.
Could you take a moment to tell us why?
200 characters remaining
You are reporting an issue with the following selected text
and/or image within the active document: