Comparison of Native or Virtual Applications Vs Browser Applications, for Fast, High-Performance ERP
We are often asked why our BOS products are not a browser application, with concerns that this might place a burden on IT departments when it comes to upgrades.
Our preferred deployment is a cloud server combined with virtualisation software which serves a ‘native’ client application to Windows, Linux or MacOS. This allows you to click an icon and the application opens and behaves almost exactly like a native desktop application. The cloud server can be vendor-managed to completely remove the burden of backups and upgrades from yourselves.
Here is a detailed breakdown of why we chose native or virtual applications instead of web-based applications for our ERP.
Architecture - Database applications
In its simplest form, a Database Application consists of a Database Server and a Client Application. The Client Application provides user-friendly access to view, insert, update and delete records in the database.
In a single-user application, the Database Server and Client Application are located on the same device. In a multi-user environment, the Database Server is hosted on a separate device which is accessed by the Client Application over a Network Connection.
The Network Connection might be a Local Area Connection (LAN) for an on-premises Server or it could be an Internet Connection if the Server is hosted in a different location - for example a Cloud Server. It could also be a combination of LAN and Internet if an on-premises Server is publicly accessible.
The Client Application used to access the database can be one or a combination of the following:
Native Application - A native application is a software program that is developed for use on a particular platform or device.
Virtual Application - A virtual application runs on a server, but it is served to any operating system to run like a native application. The following platforms can be used to virtualise an application: Microsoft Remote App, Citrix ZenApp, Amazon Appstream, Winflector, etc.
Browser Application - A browser-based (or web-based) application is software that runs on a web browser like Chrome, Edge, Safari, Firefox, etc.
|Criteria||Native App||Virtual App||Browser App|
|Performance||Real-time||Real-time. Large datasets (10,000+ records can be loaded quickly and grouped, sorted, summarised in real time.)||Slow - Data has to be converted to HTML to be displayed. This also restricts the volume of data that can be displayed on a screen. Normally 50-100 records per page.|
|Supported Operating Systems||Only runs on the OS it was designed for||All major operating systems||All major operating systems|
|Complexity of Software||DB + Client App required||DB + Client App required||DB + Server App + Client App required.|
|Installation||Install database on the Server and Client devices. Create an App shortcut to Client devices..||Install Database and Virtual App on Server. On the Client device, you download the Virtual App, enter your credentials and create a Desktop icon for future use.||Install Database and Web Application on Server. On the Client device, you open your browser, navigate to the application URL and enter your credentials to access the Client App.|
|Upgrades||Upgrade DB and install new Executable||Upgrade DB and install new executable||Upgrade DB, Upgrade Server App, Upgrade Client App|
|Accessibility||Anywhere if Server is publicly accessible||Anywhere||Anywhere|
Traditionally ERP systems have always been installed on-premises. With the improvements in internet speed, however, other options have become more viable. Today ERP installation options include:
On-premises - Software is installed on an organization’s premises, on a server that is managed and maintained by their own IT department.
Cloud Server - Software is installed on a server in a secure data centre and can be managed by the company’s IT department or by the Software vendor
Vendor Hosted - A vendor hosted software solution refers to one which is handled by a third party which is responsible for software maintenance and management, including things like backups and upgrades.
Our architecture is very simple. The entire application consists of two files: the Database file and the Executable file. The Database file contains all the data and it’s the only file that needs to be backed up.
The Database (Firebird - www.firebirdsql.org) is a very light, stable, fast, scalable and secure database. Virtually impossible to corrupt under normal working conditions, it can scale to efficiently handle hundreds of concurrent connections and gigabytes of data.
The Client App is a Windows desktop application which can be virtualized to Windows, Linux or Mac OS using one of the Virtualization Apps mentioned above. Our preferred virtualisation platform is Winflector based on how well it works, the low cost, ease of use and security.
Software Upgrade Guidelines
We are constantly developing our software to improve our products based on customer feedback and suggestions.
New versions with enhancements and fixes are released on a regular basis and every year we close off the year’s development with one stable version for each product, which is supported for many years thereafter.
Because upgrades can be disruptive, we don’t upgrade our clients every time a new version is released. Hardcore users, who use our applications for many hours every day, fly through the windows without thinking, their actions driven by muscle memory rather than deliberate navigation, which means that even the smallest changes to the user interface will be somewhat disruptive.
On the one hand, we have clients who are frequently upgrade to take advantage of all the latest features (often requested by themselves) and on the other hand, we have clients who are happy to stay on their current version and don't upgrade for many years at a time.
We don’t force upgrades on our clients, but as a rule-of-thumb, we recommend upgrading at least once a year to the latest stable version. This is a simple process which can be completed in minutes and involves running a script on the database and installing a new executable (.exe) file on the server. Client devices do not need to be upgraded - they will automatically access the latest executable the next time users log in.
Additional setup and user training may, however, be required after an upgrade to take advantage of the new enhancements after an upgrade.