DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
View Events Video Library
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Integrating PostgreSQL Databases with ANF: Join this workshop to learn how to create a PostgreSQL server using Instaclustr’s managed service

Mobile Database Essentials: Assess data needs, storage requirements, and more when leveraging databases for cloud and edge applications.

Monitoring and Observability for LLMs: Datadog and Google Cloud discuss how to achieve optimal AI model performance.

Automated Testing: The latest on architecture, TDD, and the benefits of AI and low-code tools.

Related

  • What Future Java Releases Mean for Legacy Desktop Apps
  • How To Validate Archives and Identify Invalid Documents in Java
  • How to Automatically Detect Multiple Cybersecurity Threats from an Input Text String in Java
  • Penetration Testing: A Comprehensive Guide

Trending

  • Top 8 Conferences Developers Can Still Attend
  • Extracting Maximum Value From Logs
  • DevSecOps: Integrating Security Into Your DevOps Workflow
  • The API-Centric Revolution: Decoding Data Integration in the Age of Microservices and Cloud Computing
  1. DZone
  2. Coding
  3. Java
  4. Reliable Online Java Desktop Applications: The Best of Both Worlds

Reliable Online Java Desktop Applications: The Best of Both Worlds

Harco  Jager, De user avatar by
Harco Jager, De
·
Aug. 23, 11 · News
Like (0)
Save
Tweet
Share
11.55K Views

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).

Better performance

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.

Standard security

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.

Conclusion

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.

Web application Desktop (word processor) Java (programming language) security NetBeans Java Web Start

Opinions expressed by DZone contributors are their own.

Related

  • What Future Java Releases Mean for Legacy Desktop Apps
  • How To Validate Archives and Identify Invalid Documents in Java
  • How to Automatically Detect Multiple Cybersecurity Threats from an Input Text String in Java
  • Penetration Testing: A Comprehensive Guide

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: