History of Web Solutions for D2000

History of Web Solutions for D2000

History of web solutions before the SmartWeb platform

Before the concept of the SmartWeb platform itself is explained, it is necessary to mention the solutions that preceded SmartWeb and that, more or less successfully, fulfilled the requirements for simple and economical development of applications.

Thin client

The thin client was the first comprehensive solution, which followed automatically from the existing state in a company that has enough experienced developers on the D2000 platform.

img-thin-client.png

The concept of the Thin Client consists in the exact display of an HI scheme in a browser; the creator of the web application is therefore the programmer of the HI scheme itself. The advantage of this solution lies primarily in the fact that the D2000 programmer does not need to master web technologies — knowledge of D2000 is sufficient, and the Thin Client server (TCTS) takes care of the rest. The main disadvantage of this solution stems from the fact that the world of desktop applications (the HI scheme) is completely different from the world of web applications. And therefore an HI scheme displayed in a browser will never behave and look completely identical to a native web application (e.g. just from the point of view of positioning and styling of components, the use of the browser API, etc.). However, the deployment of the Thin Client does have its justification in situations where this limitation is not important.

D2000 Websuite

img-web-suite.png

Since the Thin Client did not satisfactorily solve the direct implementation of web applications, the Websuite solution arose, built on an application server implementing the Java EE (Enterprise Edition) specifications. The Java EE standard as such really does provide enormous implementation possibilities on the backend side (server-side computing), unfortunately at the cost of needing specialists in Java EE technologies. Websuite was built on the principle of pre-prepared libraries, architecture and procedures, which the Java EE programmer integrated into the resulting application. The disadvantages of this solution unfortunately became apparent already during the creation of the first applications, in the form of the difficulty of implementation and the demands placed on programmers. The number of available Java EE specialists with experience in designing and implementing such solutions on the labour market is minimal, and their work is highly valued. For this reason, the development of web applications based on the Websuite solution was losing its economic sense. The second major disadvantage was the use of the frontend Java EE framework Java Server Faces (JSF). The strength of Java EE lies mainly in the implementation of backend business logic, but not at all in frontend technologies, which evolve and change at a breathtaking pace. For this reason the use of the JSF technology was a major disadvantage, especially when we consider that this framework was created in 2001, which is, from the point of view of web technologies, a complete eternity. In the end, therefore, JSF rather complicated the development of a web application, because of its outdated architecture and the very use of the framework for the specific requirements of clients. For this reason, applications based on the Websuite solution are no longer being developed in the company.

SmartWeb as a solution for developing not only web applications

After real experience with applications built on WebSuite, a demand arose in the company to change or improve the Websuite solution so that the costs of developing web applications and the possibilities of fulfilling the requirements for these applications would be optimized. After an analysis of the possibilities and the existing experience with Websuite, it was decided to build further development of web applications on a new concept, the so-called Websuite 2.0, which was named SmartWeb.

img-smartweb.png

The way SmartWeb approaches the creation of web applications is completely different from the original solution presented in the WebSuite concept. First of all, after analysis the requirement was extracted to access the data and services of the D2000 system from external applications in a unified way — whether it is a web, desktop or mobile application, or an external system that obtains data from D2000 or uses business functionality implemented in D2000. For this reason, SmartWeb implements a universal API through which it is possible to access data and functionality in D2000 regardless of the technological implementation of the client.

A change also occurred in the development of web applications, which is separated from the SmartWeb platform as such. The way of developing the frontend part of an application can therefore be freely adapted to the nature of the project — standard web development tools (the tool-chain) are usually used, such as npm, yarn and webpack. The resulting production or development assets (html, css, js) are hosted by SmartWeb for client browsers from configured paths in the file system. Smart Web makes it possible to provide multiple versions of the same application at once via different URL paths, i.e. a single Smart Web instance can serve, for example, both the production version of a web application and several development versions at the same time. The SmartWeb server provides additional functionality to support the deployment of such web applications. This concerns, for example, common authentication, monitoring, logging, etc.

The third added value of the SmartWeb platform are the JavaScript/TypeScript libraries published in the npm repository, usable for fast and efficient implementation of a web application on top of D2000. The source code of a demo application is also available for a quick start of the development of an application for Smart Web.

All of the mentioned properties of the SmartWeb server are described in the following chapters.