Reliable Online Java Desktop Applications: The Best of Both Worlds
Join the DZone community and get the full member experience.Join For Free
Organizations within government, finance, retail, transportation, and healthcare increasingly need advanced applications that can be distributed via the Web. The foremost reason for the popularity of Web-based applications is their availability at every time of the day and in any location as needed. But, with current technologies, complex Web applications can only be created by means of a grab bag of techniques. On top of that, performance of traditional Web-based applications frequently continues to be a problem. To provide solid applications that are performant and usable, as well as reliable and secure, one would ideally like to combine the best of two worlds: the simplicity and reliability of the desktop with the availability of the Web.
The best of two worlds
The best of these two worlds can be achieved by distributing desktop applications via the Web. The application is automatically downloaded from the desktop or from a browser and then it is instantly started. In this way, one of the largest objections to desktop applications is removed, which is the availability of the application on-demand in any location. The desktop application runs on the user's computer and is thereby not dependent on the speed of the network connection. As a result, the application is fast and pleasant to use.
For the development of these types of applications, Ordina, a leading software consultancy in the Netherlands, uses the NetBeans Platform as a modular and extensible basis. This modular platform offers a high degree of flexibility, providing an application tailored to the specific needs of individual users. Java Web Start is used to distribute the application via the internet (or intranet).
In an online application based on the NetBeans Platform, expensive processes such as bulk transactions or geographic analyses can also be done on the server, instead of within the application itself. An advantage of this strategy is that the computer running the application will be less heavily impacted, which leads to a more optimized all round performance. On top of that, less network bandwidth is needed for communication with the server via directed, short messages. Together, these strategies decrease lags within the application, while also avoiding user irritation. In short, desktop applications on the NetBeans Platform are very well suited for high user interaction, as well as showing and mutating geometric or real-time data.
Because a NetBeans Platform online application, as opposed to a standard Web application, only needs to connect to the server for purposes of data transfer, setting up security is simplified via, for example, certificates or authentication keys. Security is a standard detail that can be integrated into the NetBeans Platform, making it an ideal solution within government, finance, and healthcare, where reliable security is essential.
Use Case: Rotterdam Harbor
Through the increasing number of ships entering Rotterdam harbor, existing software tools needed to be replaced with a single integrated system to oversee the quick and secure handling of ship traffic.
Initially planned to be a Web application, the changing demands in the application's complexity meant that requirements in security and performance could no longer be met. On top of that, integrating all the features within the browser was simply taking too much time.
During the Proof of Concept phase, the decision was made to replace the Web application with a desktop application. Since application distribution remained of paramount concern, a NetBeans Platform application was created that can be started from an online Web page.
Use Case: RIVM
The RIVM, which is the National Institute for Public Health and the Environment in the Netherlands, had been making use of a Web application for several years. The application was used for registering and requesting vaccination details for children.
The RIVM decided to use the application for a different goal: the gathering of health data with a view to helping to prevent cervical cancer. Soon it became clear that the existing Web application was not able to handle performance demands.
Deciding to replace the Web application with a desktop application on the NetBeans Platform, it became easier to develop and simpler to secure. The NetBeans Platform enabled us to create, in a very short time, a production quality, stable, and extremely secure application.
Online applications based on the NetBeans Platform and Java Web Start combine the best of two worlds. Users have the full experience of the desktop, while also benefiting from the availability and immediacy of the Web. Regardless of time and place, the application can be used, while requiring no more than a network connection. The application runs on the user's computer, while the data is stored on an external server. As a result, fast and reliable interaction with the user becomes possible. Meanwhile, application functionality and user interaction can be far more complex and finegrained than can be attained with a Web application. As needed, expensive functions, such as transactions or geographic analyses, can be handled by the server. The user's computer experiences a smaller performance hit, while connections can be very closely secured, which is a fundamental requirement in many sectors within software development.
Opinions expressed by DZone contributors are their own.
What Is Test Pyramid: Getting Started With Test Automation Pyramid
Building and Deploying Microservices With Spring Boot and Docker
Managing Data Residency, the Demo
Build a Simple Chat Server With gRPC in .Net Core