How to replicate NIS web application between Windows hosts

Submitted by admin on Thu, 04/28/2022 - 20:18
NIS logo

This article will cover how you can replicate Nemesis Information System's web application between 2 or more Windows hosts keeping all of your data in the database and your entire configuration applied on the web application. I assume you are using the Windows version installed through the Windows installer package as, for the time being, the user-friendly installer and the application's service manager subsystem, which actually does the job, is available for Windows operating system only. To replicate the web application already installed on your Linux (or other) system you have to backup the database and the web application files then install/restore them on the target system manually! There are many Linux distributions and there is no standard way, which works on all of them, to install NIS automatically so you have to use your own distribution's official package manager to install the dependencies properly then install and configure NIS after that!

About backup and restore feature

As of version 0.9.22a NIS Control Central (the service manager application) is able to backup and restore the entire web application (including the database, the configuration and all of the uploaded files) in 2 separate archive files: a .backup file for the database and a .zip archive for the web application files. The Windows installer package also offers automatic backup for both subsystems before upgrading them since version 0.9.22.12a and you really should run the backup process at the latest during installation of a new version as NIS is still in alpha stage, not stable yet and anything may go wrong when upgrading to a new version! This is in compilance with the upcoming EU regulation for software updates which states all software updates shall be reversible; technically NIS cannot and will not revert critical files of installed and running Windows services - database update statements are always sent to the database service as standard plpgSQL queries in a script file through the installed service; database files are never modified directly and the installed web service application with its configuration files is also kept in place to make sure your system remains stable - so you should always keep a copy of the installer package of your current installed version. Consequently, no system restart is needed after upgrading to a new NIS version, you can start using the new version immediately. If you want to revert to an old NIS version, you have to uninstall NIS and reinstall the old version then use the Control Central application's restore features to restore your NIS data from the backup files created for that version. Restore is possible only for the corresponding version of NIS! If you are trying to restore your data from a backup created for an incorrect (newer or older) database version errors may occur and your database may become corrupt and inconsistent so you will have to fix it yourself with the pgAdmin database client!

Replicating NIS between 2 instances

Replication (or data migration) between hosts is currently not a part of the standard use case of NIS but, as Control Central application made backup and restore feature quite user-friendly, it is now possible for users without advanced technical knowledge and deep understanding of how a database server and a web server works.

Normally, only 1 instance of NIS can be installed with the installer package on your Windows system as the second instance would collide with the services on your system installed for the first instance, however, you can use multiple operating systems on your computer especially when you are using virtualization softwares (such as VirtualBox). It does not matter whether you want to install the second instance on a virtual machine, another computer or just another operating system on the same computer as long as these operating systems are logically separated. An instance is bound to an operating system not to a physical computer.

Replication between NIS instances is possible only between instances with the same version! We are going to utilize the backup and restore features of the Control Central application to replicate NIS.

Install NIS on your system as it is recommended in the user manual and configure it depending on your needs. Let's call this instance of NIS 'Instance 1'. If NIS is already installed on your Windows system, download the latest version of the installer and update your current installation with it. Then install NIS on another (Windows) system using the same installer package or update the current installation on that system with the installer package. Let's call this second instance of NIS 'Instance 2'. Make sure Instance 1 and 2 have the same version and both database server has the same password (otherwise the web application of Instance 2 may not be able to connect the database after replication)! You may change the database password as you like after the successful replication. You can use Control Central's 'Maintenance→Change database password...' menu for that.

If no errors occured, you have to create a backup of the web application of Instance 1 using the Control Central's 'Maintenance→Backup→Backup database...' and 'Maintenance→Backup→Backup web application...' menus. When both backup files are created, copy or move those files to the system where Instance 2 is located and use the 'Maintenance→Restore→Restore database...' and 'Maintenance→Restore→Restore web application...' menus in the Control Central of Instance 2. Restoring the entire web application with its database may take some time depending the amount of data to load. Do not interrupt the process once it has started otherwise your installation may be corrupted and you will have to remove it, reinstall Instance 2 and start the restore process over again! When both restore process is done you should see the same data in both NIS instances. If there seems to be a problem with Instance 2 after restoring the web application (such as the configuration is not identical with Instance 1) you may try removing all files and subfolders in '<INSTALLATION PATH>\server\www\nemesis' directory then running the restore process in 'Maintenance→Restore→Restore web application...' menu again. If you see no errors after the replication, the replication process is completed and you can start using Instance 2 as you were using Instance 1.

You can download and give NIS a try from the Nemesis Information System page of this website. For additional (more detailed) information, please read NIS user manual.

Disclaimer

Please note that Nemesis Information System is in alpha stage and is not recommended for everyday use as it is still under heavy development, not fully-featured and may contain unknown bugs and vulnerabilities. We are testing the system continously and update our repositories regularly. We will display a notification when the first stable version is released, but until then you should use the system at your own risk!