Rich Client or Webapplication

exe – just three small letters, but behind these lies a big decision that users and businesses have to make. Do they still have to appear on the desktop or should they be replaced with a web application?

Rich client or web application …

In this entry, we present software options  in the form of a rich client and also as a web-based solution,  including the features and pros and cons of both. You cannot compare one with the other as every technology has its own specific purpose for its corresponding application.

… or something in-between ?

We believed that there had to be an interim solution to make even complex applications accessible online, OPTANO, for example. This meant combining the advantages of the rich client and the web application with one another. Let’s take a look at the rich client first of all.

The Rich Client

Rich clients are applications which perform the following functions directly on the client system:  The presentation, namely the interactive interface for the user and the application logic which provides the actual functionality of an application. Parts of the application software are implemented on the application server as well as on the rich client, for example in the case of desktop applications or on mobile platforms. In this way it is necessary to install these clients directly on the user appliance.

function allocation rich client

Diagram –  function allocation with rich client

Rich clients have the following features: They provide the best possible performance and scaling of applications. They are based on a unified component model so that a lot of  useful components have already been implemented. Drag-and-drop functions are possible, as well as support for native widgets. Using rich client visualization and the interaction of graphic user interfaces leads to excellent software usability. It is easy to operate and implement desired functions. In this way, rich clients enable the development of complex interfaces for complex applications and offer the user a high level of functionality and control. Updates are performed with client server models such as the rich client with the support of integrated update functionalities. For example, by using an automatic online update function in the client itself or supported by a web starter which is executed before the actual client. However, allocating and installing software as well as managing the client can end up being expensive for your company. For this reason, alternative forms of application provision are also considered which substitute locally installed programs. For example, the web application.

The web application

Web applications are best described as “online software” or  a “web server-based computer program”. This means that an application-specific functionality is not a fixed installation on your computer. This is provided entirely by the server and sent by browser via intranet or internet to a local computer. This merely serves as a front end to show data and as a user interface. In this way, web applications are simple websites with an extended range of functions, so to speak.

function allocation web application

Diagram –  function allocation with the web application

This results in the following characteristics:

  • Platform independency: Apart from  suitably fast internet access – web applications simply require a web browser on the user’s computer or mobile end appliance.  In contrast to the client server application, no further software needs to be installed. In this way, web applications achieve a high level of platform independency.
  • Low maintenance costs: Distributing the software among a large number of clients isn’t required if these have already installed a browser. If the logic of a web application needs to be changed, this is done at a central location – namely on the web server. Therefore, if you have a large number of users, deployment, updates and scaling of the software can be more cost-effective via web than with client server models.

However, web applications also have their drawbacks, despite the advantages we have cited above. Safety is an absolute must, even during the development of web applications provided via the internet. Because nearly every day you hear reports about websites which have been hacked, not to mention theft and espionage. However, by following sensible guidelines, the safety of web-based solutions is guaranteed. A huge disadvantage of web applications are, however, restricted visualization and the interaction of graphic user interfaces. Complex surfaces as well as easy operation and intricate/tricky functions can only be implemented with difficulty or not at all. The functions users require can only be implemented with a great deal of programming effort  -or not at all – and lead to high development costs. Furthermore, the following aspect needs to be considered when it comes to web applications:When it comes to CPU- intensive applications and processing  large data volumes, the implementation of a web application (still) isn’t the right way – even if you  extend your internet connection. But how can this be achieved?

OPTANO takes the middle road

Web applications have huge potential, but because of the technical drawbacks listed above, they don’t offer a solution to complex applications – yet. For OPTANO, we are currently developing a web application for reporting and for data analysis. For extensive optimization issues which also contain a multitude of scenarios, the rich client is still the better option. This is why we are going for a hybrid solution for OPTANO. This means we can combine the advantages of the rich clients with those of the web application. OPTANO is a complex planning application whose optimization components are implemented on the application server. Furthermore, it has extensive custom requirements on its user interface which can be implemented far better and more easily in the rich client. The rich client enables both the development of intricate functions and user experience at the same time. As a rich client application, OPTANO can run on all Windows systems and is basically platform- independent because with a market share of 88 per cent, Microsoft with Windows can be found on most of the world’s computers (level: January 2017)1

function allocation OPTANO

Diagram – Function allocation with  OPTANO

By using OPTANO, we can counter/disprove the advantage of low maintenance costs which is often mentioned in connection with web applications: Installation of the rich client by the IT administrator is not required. Deployment is executed via a zip file in the Windows system. Client updates run in the background via OTA (“over the air” – for further information on this read our blog The OPTANO Story – OPTANO Architect – Part 3). So, once you’ve taken into account software deployment and updates, web applications are hardly less expensive. Application streaming enables access to rich client applications via a browser – and with relatively little effort. And this is the option we are using right now: with the aid of virtual machines, rich clients are streamed via a cloud to the browser. The result is not only a powerful user experience but also increased efficiency and flexibility for businesses.