5.1. Introduction

A “client” is an external agent (Java program, shell script, ...) that needs to interact with the root function of JQM: job queueing and execution [1]. JQM offers multiple ways to do so, each being tailored to a specific type of client.

  • a minimal web service API with very simple signatures, designed for scripts and the like, called the simple API
  • a full client API designed for more evolved programs. It is a superset of the minimal API (and actually directly reuses some of its methods). It has two (functionally equivalent) implementations:
    • a set of (language agnostic) REST web-services
    • a direct-to-database JPA2 implementation
  • a minimal command line utility (CLI)
  • for payloads running inside a JQM engine only, it is also possible to access a subset of the full client API as exposed through an object injected by the engine. it is called the engine API.
[1]Therefore, all administrative functions (restart a JQM engine, modify a job parameter, ...) are fully excluded from this section. They are detailed inside a dedicated section.