Run JNLP Applications with CheerpJ

CheerpJ lets you easily access JNLP applications in the browser without installing Java, relying on cloud virtual machines or using replacement launchers.

What you probably already know

  1. Java Web Start is no longer part of Java

    Oracle deprecated Java Web Start in Java 9 and removed it from Java 11. Java 8 is the last release that includes it.

  2. Many business applications still launch from JNLP files

    Oracle Forms, internal business tools and vendor applications built years ago still launch through Java Web Start. Many come from third parties, so their deployment method can't be changed.

  3. Today they're kept running with workarounds

    A Java 8 installation that still includes Java Web Start, a replacement launcher such as OpenWebStart, or a virtual desktop such as Citrix, VDI or RDS that streams the application to the user.

Why workarounds for JNLP applications won’t work forever

Java 8 has to be patched and licensed

Java 8 has to be kept up to date on users' computers, commercial Java 8 updates need an Oracle subscription, and security teams are increasingly restricting desktop Java on managed computers.

Replacement launchers still need Java on the desktop

OpenWebStart replaces the Java Web Start launcher, but the application still runs on a Java runtime installed on the user's computer, which IT has to deploy, update and secure.

Virtual desktops are expensive to run for one application

Users need a remote session on a server, sized for the number of people working at the same time. The session hosts need their own maintenance and licensing, and clicks and keystrokes travel over the network to the server and back.

Why CheerpJ for JNLP applications

The application runs in the browser tab

CheerpJ is a Java runtime built from OpenJDK and compiled to WebAssembly, so JNLP applications run in current versions of Chrome, Edge, Firefox and Safari.

Your application stays as it is

CheerpJ runs the existing JAR files from their bytecode, so you need neither the source code nor a rebuild.

Java comes off users' computers

CheerpJ delivers the runtime to the browser along with the application, and you update it centrally.

Applications run on Java 8

CheerpJ runs JNLP applications on Java 8, the last release that included Java Web Start.

How CheerpJ works in an enterprise environment

There are two ways to deploy it.

1 CheerpJ Core

On your own page

Load CheerpJ on a web page and start the application from the JAR files and main class listed in its JNLP file. You can host the runtime and the application files on a web server inside your network, and users sign in through your usual access controls.

2 Browser extension

Through the browser extension

The CheerpJ JNLP Runner opens JNLP files from the pages users already launch them from, with the page and server left as they are. IT deploys it to managed Chrome and Edge browsers through Group Policy, like any other managed extension.

A self-hosted version is available for organisations that can’t use the Chrome Web Store or Edge Add-ons, including air-gapped networks.

index.html
<script src="https://cjrtnc.leaningtech.com/4.3/loader.js"></script>
<script type="module">
  await cheerpjInit();
  cheerpjCreateDisplay(-1, -1);
  await cheerpjRunMain(
    "com.example.Main",
    "/app/example.jar:/app/lib/library.jar"
  );
</script>

Security

The application runs inside the browser’s sandbox, under the same security model as your other web applications. Files, clipboard, printing and audio go through browser APIs and their permissions.

Networking

The application connects to its back-end services and databases over your network, governed by the browser’s security policies and your own network controls. For connections a browser doesn’t normally allow, such as direct database access, CheerpJ uses a Tailscale VPN that you can host on your own network.

Licensing

Technical evaluation is free and unlimited. Business use needs a licence. See licensing and pricing.

Get started with your JNLP applications

Talk to us

Tell us about your applications and how they’re used today, and we’ll help you plan an evaluation.

Talk to us

Build with Java for the browser.