Monday, September 24, 2018

Drombler JStore News: JRE REST service and JAP packaging

The work on the Drombler JStore, the next generation of Java application deployments, goes on.

The way an application is identitfied has been changed to reuse the Maven GA(V) coordinates: groupId + artifactId
The packaging format is fixed (currently it's called "jap") and together with a version an application package can be uniquely identified.

There are now 4 REST services:
  • search for application updates (currently uses mock data)
  • new: download an application (currently mocked)
  • new: search for JRE updates (all recent versions of Oracle Java SE 8 and 10 supported!)
  • new: download a JRE (Swagger does not work yet here, but the service can successfully be called by the Drombler JStore Client Agent)
The search services already get called by the Drombler JStore Client (JavaFX based rich client).

The Drombler JStore backend service is now open sourced, too. This allows to discuss how we want to implement things and opens up for contributions.

The following JSON shows how we could manage JRE versions:



You can find the complete file here. There is also a JSON Schema.

Also work has gone on with the application desriptor specification. 
Here is a sample:


You can find the accordant JSON Schema here.

The JAP Maven Plugin can generate an application descriptor for you. You can find the Maven Plugin documentation here.

The project is moving forward and contributions are highly welcome! The current code base is not very complex. You should be able to get started quickly. Please don't hesitate to ask me, if you have any questions.

We can use your inputs especially in the following areas:

  • What should the platform-independent application packaging format and meta data look like to support your applications? What information is needed by the agent? What information is only needed by the discovery feature of the rich client?
  • Help us to make sure the agents have the necessary native OS integration to support your applications.
  • Help us to create a great user experience with the rich client (some UX and JavaFX skills required)
  • Help translate the texts of the rich client to different languages (i18n/ l10n)
  • Help us to get the basic features of the agent right
  • File enhancement requests for the various components
  • Join the discussions in the issues or on Gitter.
  • Help with the documentation (GitHub Pages, README files)

Since the proposed solution requires a backend, this will also require some resources to run the service. Any donations are welcome!