New License Mechanism

New License Mechanism

Overview

The New Licensing mechanism is managed by the OpenLegacy Hub. Customers will receive a Master License from Openlegacy that will enable them to use the IDE , create SDK and API projects and deploy them for a short period of time for development purposes.

For Production, a new license will have to issued that will replace the development license and will enable the deployed service to run until it reaches its expiration date.

License Types

Master License

The Master License defines the tenant account level, license expiration, the Grace period , the Runtime and Resource Limitations.
Runtime Limitations are the number of allocated standard methods, premium methods and screens.

Development License

A license is required for new generated/deployed services and is automatically derived from the Master License.

This license will be limited on serving time: after 6 hours the service will not stop and not restart (stop serving, not stopping the application). It will stop handling requests and will write errors to the log. This will allow the user to deploy and test the application for a limited time. The deployment license will handle only one request at a time (no multithreading). If the user would like to deploy the application for longer periods of time, he will need to issue a production license.

Production License

A license is required for production deployed services. It is issued by the OpenLegacy License Portal. In an Online IDE environment this is a one click operation . In an Offline IDE environment it will require issuing a license from the license portal.

The production license will encode the ids of the existing project methods, the ids all existing Entities in the SDKs used by the API project When the application starts and during the loading of the source provider, the resources allowed by the license will be validated.

❗️ Note:
Only the account Admin can issue a Production License.
A Development License will be attached to every newly created API project.

Issuing Production Licenses

There are two ways of issuing a production license for a project, depending on the IDE Environment type and whether there is connectivity to OpenLegacy’s License Portal.

  • Online mode - The user can issue a production license directly from the License Portal , using the UI and providing an API key.

  • Offline - The Account admin must use the License Portal , providing a license request file generated in the IDE

A Production license can be issued for every API project that contains at least a single method.

  1. Right Click an API project and Select License → Issue Production License

    image-20241202-085428.png

Issuing Production Licenses - Online

  1. Sending an online request

    1. Make sure that the Offline Request mode checkbox is unchecked

    2. Hub URL is pointing to https://api.ol-hub.com

    3. Specify the License Portal API Key (How to Create an API Key)

    4. Click OK

      image-20241202-095621.png

  2. A modal window will show a summary of consumed objects from the License , for the user to review and approve

    image-20241202-094956.png

     

  3. Once approved the license will be updated in the API project and the Project can be deployed to production.

Issuing Production Licenses - Offline

  1. Make sure that the Offline Request mode checkbox is checked and Click OK

    image-20241202-095717.png

     

  2. A License request file will be created under the project directory

    image-20241202-100240.png

  3. Go to OpenLegacy’s License Portal

  4. Click the “Upload License Request” button

    image-20241202-100155.png

     

  5. In the Modal window:

    1. Provide the License Request file

    2. Click The Upload Button

  6. A modal window will show a summary of consumed objects from the License , for the user to review and approve

    image-20241202-102320.png

     

  7. Once Approve - Copy the license key

    image-20241202-103255.png

     

  8. Now you can either paste the key in the API project’s application.yml file

    license: key: <replace Dev license>

    OR set an environment variable named OL_LICENSE and paste the copied key as its value.

❗️ Note:
In case both application.yml and environment variable are set - the environment variable will prevail