Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Introduction

  • JS7 is available for with dual licensing with : an Open Source License and a Commercial License.
    • The same source code and therefore the same feature functionality is available with both license models. 
    • The one exception is the operational feature of clustering the JS7 components products for high availability, which is a commercially available feature for enterprise customers.
  • Customers applying for a commercial license receive both a license key from SOS and the binary code that allows clustering of JS7 componentsproducts.
  • Users who intend to evaluate the JS7 high availability capabilities can apply for a trial license key by sending a mail to sales@sos-berlin.com

...

The license key allows binary code for the clustering capabilities of JS7 components products to be used.

  • The binary code for clustering is not open source - it is copyrighted by SOS. The binary code for clustering is published with a commercial license issued by SOS.
  • Users may not modify, decompile or reverse engineer the binary code for clustering.

...

  • Terms used for JOC Cockpit
    • For Linux environments JETTY_BASE points by default to: /var/sos-berlin.com/js7/joc
    • For Windows environments JETTY_BASE points by default to: C:\ProgramData\sos-berlin.com\js7\joc
    • JETTY_BASE is specified during installation.
  • Terms used for a Controller
    • For Linux environments JS7_CONTROLLER_DATA points by default to: /var/sos-berlin.com/js7/controller/var
    • For Windows environments JS7_CONTROLLER_DATA points by default to: C:\ProgramData\sos-berlin.com\js7\controller
    • JS7_CONTROLLER_DATA is specified during installation.
  • Terms used for a Director Agent
    • For Linux environments JS7_AGENT_DATA points by default to: /var/sos-berlin.com/js7/agent
    • For Windows environments JS7_AGENT_DATA points by default to: C:\ProgramData\sos-berlin.com\js7\agent
    • JS7_AGENT_DATA is specified during installation.

...

  • JOC Cockpit:
    • For Linux and Windows: JETTY_BASE/resources/joc/license
    • The certificate has to be added to all JOC Cockpit cluster members.
  • Controller:
    • For Linux and Windows: JS7_CONTROLLER_DATA/config/license
    • The license key has to be applied to all Controller cluster members.
  • Director Agent:
    • For Linux and Windows: JS7_AGENT_DATA/config/license
    • The license key has to be applied to all Director Agent cluster members. It is not applied to Subagents in an Agent Cluster and not to Standalone Agents.

Licensed Binary Code

The licensed binary code is provided in the js7-license.jar file which has to be added to the following locations:

  • JOC Cockpit:
    • JETTY_BASE/lib/ext/joc
    • The js7-license.jar file has to be added for all JOC Cockpit cluster members.
  • Controller:
    • JS7_CONTROLLER_DATAHOME/lib/user_lib
    • The js7-license.jar file has to be added for all Controller cluster members.
  • Director Agent:
    • JS7_AGENT_HOME/lib/user_lib
    • The js7-license.jar file has to be added for all Director Agent cluster members. It is not applied to Subagents in an Agent Cluster and not to Standalone Agents.

License Check

A license check is performed if a cluster of JOC Cockpit instances, Controller instances or Agent instances is operated.

Positive License Check

Related messages are available from the JOC Cockpit's ./jetty_base/logs/joc.log file and the Controller's ./logs/watchdog.log file.

  • JOC Cockpit:
    • The positive license check indicates that a valid license is available, therefore this check works silently without further logging.
    • The GUI offers the information about the license in use when clicking the JS7 logo:

      Image Added

  • Controller:
    • The positive license check will log a single entry in the controller.log file on start-up of the Controller. The entry looks like this:
      • 2021-05-28T06:14:33,196 info com.sos.js7.license.controller.ClusterLicenseCheck - Product Name: js7.controller.cluster
      • Consider that the controller.log file is rotated and that the information is available from Controller start-up.
    • The license check will log two lines to the watchdog.log file on start-up of the Controller. The entries look like this:
      • Product Name: js7.controller.cluster
      • using Commercial License. Expiration Date: 2026-05-04 12:22:41
  • Director Agent:
    • The positive license check will log a single entry in the agent.log file on start-up of the Agent. The entry looks like this:
      • 2023-08-21T05:12:54,389 info com.sos.js7.license.agent.ClusterLicenseCheck - Product Name: js7.agent.cluster
      • Consider that the agent.log file is rotated and that the information is available from Agent start-up.
    • The license check will log two lines to the watchdog.log file on start-up of the Agent. The entries look like this:
      • Product Name: js7.controller.cluster
      • using Commercial License. Expiration Date: 2026-05-04 12:22:41

Negative License Checks

Logging examples for negative license checks which indicate the absence of a license: Related messages are available from the JOC Cockpit's ./jetty_base/logs/joc.log file, the Controller's ./logs/controller.log file and the Director Agent's ./logs/agent.log file.

  • The license folder cannot be found.
    • JOC Cockpit:
      • 2021-05-28T11:37:02,797 INFO main c.s.j.l.c.LicenseChecker - Could not read directory: C:\sp\devel\js7\testing\installations\joc\jetty_base\resources\joc\license
        2021-05-28T11:37:02,801 INFO main c.s.j.l.c.LicenseChecker - No license certificates found.
    • Controller:
      • 2021-05-18T08:12:31,370 info  com.sos.js7.license.controller.ClusterLicenseCheck - Product Name: JS7 Controller Cluster
        2021-05-18T08:12:31,372 info  com.sos.js7.license.check.LicenseChecker - Could not read directory: /var/sos-berlin.com/js7/controller/var/config/license
        2021-05-18T08:12:31,372 info  com.sos.js7.license.check.LicenseChecker - No license certificates found.
  • No files are present in the license folder.
    • JOC Cockpit:
      • 2021-05-28T11:04:23,651 INFO main c.s.j.l.c.LicenseChecker - No file(s) present in: C:\sp\devel\js7\testing\installations\joc\jetty_base\resources\joc\license
        2021-05-28T11:04:23,656 INFO main c.s.j.l.c.LicenseChecker - No license certificates found.
    • Controller:
      • 2021-05-18T08:17:17,412 info  com.sos.js7.license.controller.ClusterLicenseCheck - Product Name: JS7 Controller Cluster
        2021-05-18T08:17:17,429 info  com.sos.js7.license.check.LicenseChecker - No file(s) present in: /var/sos-berlin.com/js7/controller/var/config/license
        2021-05-18T08:17:17,429 info  com.sos.js7.license.check.LicenseChecker - No license certificates found.
  • Files are present in the license folder, but do not represent valid X.509 certificates.
    • JOC Cockpit:
      • 2021-05-28T11:48:07,057 INFO main c.s.j.l.c.LicenseChecker - Could not parse certificate from file: C:\sp\devel\js7\testing\installations\joc\jetty_base\resources\joc\license\test.txt
        2021-05-28T11:48:07,061 INFO main c.s.j.l.c.LicenseChecker - No certificate(s) present in: C:\sp\devel\js7\testing\installations\joc\jetty_base\resources\joc\license
        2021-05-28T11:48:07,061 INFO main c.s.j.l.c.LicenseChecker - No license certificates found.
    • Controller:
      • 2021-05-18T08:27:43,110 info  com.sos.js7.license.controller.ClusterLicenseCheck - Product Name: JS7 Controller Cluster
        2021-05-18T08:27:43,126 info  com.sos.js7.license.check.LicenseChecker - Could not parse certificate from file: C:\sp\devel\js7\testing\installations\joc\jetty_base\resources\joc\license\test.txt
        2021-05-18T08:27:43,127 info  com.sos.js7.license.check.LicenseChecker - No certificate(s) present in: C:\sp\devel\js7\testing\installations\joc\jetty_base\resources\joc\license
      • 2021-05-18T08:27:43,127 info  com.sos.js7.license.check.LicenseChecker - No license certificates found.
  • Cases of invalid certificates:
    • Certificate is not a License X.509 certificate issued by SOS.
      • JOC Cockpit:
        • 2021-05-28T11:40:01,694 INFO main c.s.j.l.c.LicenseChecker - License not a JS7 license.
          2021-05-28T11:40:01,699 INFO main c.s.j.l.c.LicenseChecker - DN: DNQ=SOS CA, CN=sp, OU=IT, O=SOS, L=Berlin, ST=Berlin, C=DE
      • Controller:
        • 2021-05-18T08:21:22,322 info  com.sos.js7.license.controller.ClusterLicenseCheck - Product Name: JS7 Controller Cluster
          2021-05-18T08:21:22,395 info  com.sos.js7.license.check.LicenseChecker - License not a JS7 license.
          2021-05-18T08:21:22,396 info  com.sos.js7.license.check.LicenseChecker - DN: DNQ=SOS CA, CN=sp, OU=IT, O=SOS, L=Berlin, ST=Berlin, C=DE
    • The validity period of the License X.509 certificate has expired.
      • JOC Cockpit:
        • 2021-05-28T11:44:38,921 INFO main c.s.j.l.c.LicenseChecker - license has expired on: Wed May 19 09:33:42 UTC 2021
          2021-05-28T11:44:38,926 INFO main c.s.j.l.c.LicenseChecker - License validity period failed.
      • Controller:
        • 2021-05-19T12:15:56,502 info  com.sos.js7.license.controller.ClusterLicenseCheck - Product Name: JS7 Controller Cluster
          2021-05-19T12:15:56,647 info  com.sos.js7.license.check.LicenseChecker - license has expired on: Wed May 19 09:33:42 GMT 2021
          2021-05-19T12:15:56,647 info  com.sos.js7.license.check.LicenseChecker - License validity period failed.

...

  • License keys do not implement technical license counting. SOS estimates there to be a risk that license counting could fail when used in restricted environments and could prevent the software from running.
  • You can technically use the same license key for any number of JobScheduler instances. However, this might not comply with the commercial license terms that are agreed on for the license model that is applicable to your environment. 

...

  • SOS reserves the right to perform license measurement activities, e.g. to request that you to report job executions if a pay-per-use license model is in place. 
  • The license measurement procedure verifies the number of software instances and licenses in use.
  • The license measurement procedure can be performed on a regular basis depending on individual agreements for the license model that applies to your environment.

Further Resources