Installing licenses

Four Js provides tools for installing your license locally or centralizing your license installation.

License installation options

  1. Local license installation:
    • You can install your license locally using one of the following tools:
      • License Controller command line tool
      • Genero Licenser browser-based application
    • Both tools are included with your Genero product. Choose this option if you are installing the license for a single Genero product on your machine.
  2. Centralized license installation:
    • If you have multiple Genero products running on the same machine or different machines across your network, consider centralizing your license installation using the Four Js License Manager (FLM).
    • This option allows you to manage licenses for all your Genero products from a single location, making it easier to maintain and update licenses across your network.

Choose the appropriate installation method based on your needs:

  • For a single product, use the local installation tools.
  • For multiple products, use the Four Js License Manager.

What is the License Controller?

The License Controller is a license management tool for controlling product licenses and is installed with your Genero product.

The license controller responds to requests for licenses when a Dynamic Virtual Machine (DVM) process is started. It determines if a license is available, based on the number of users allowed by the license and the number of licenses actively in use. When a DVM stops, the license controller releases the license.

You use the license controller's command line program (fglWrt or greWrt) to install and manage your licenses.
Tip:

To license your Four Js product using a browser-based application, see What is the Genero Licenser?.

License controller programs

The license controller appropriate for your product is provided in the product package.
Table 1. Genero Products and License Controllers
Genero product License controller
Genero Enterprise fglWrt
Genero Report Writer for Java and C# greWrt
Genero Report Engine greWrt
Note:

Starting with the license controller version 6.00, the greWrt license controller program is provided with both the Genero Report Engine and Genero Report Writer for Java and C#, and Swift (GSTRW) products. Prior to version 6.00, the greWrt tool was provided with the Genero Report Engine product and the grxWrt tool was provided with the Genero Report Writer for Java, C#, and Swift product.

Locating the License Controller

  • The fglWrt program is located in $FGLDIR/bin.
  • The greWrt program is located in $GREDIR/bin.

What is the Genero Licenser?

The Genero Licenser is a browser-based graphical user interface (GUI) license management tool you can use to install, update, and manage your Genero product license on a local server.

The Genero Licenser tool for your product is provided in the product package. Genero Licensers exist for the Genero Business Development Language (BDL), the Genero Report Engine (GRE), and the Genero Report Writer for Java and C#. The licenser can be launched when you finish installing the product or from the Tools > Genero tools menu in Genero Studio.

Figure 1 shows the Genero BDL Licenser in a Web browser. Other licensers have a different look-and-feel, but they essentially perform the same function.

Figure: Genero BDL Licenser

Image shows the Genero user interface for licensing your product and checking license status. The information displayed shows that no license is installed.
Tip:

To license your Four Js product using the command line, see What is the License Controller?.

What is the Four Js License Manager (FLM)?

With the license manager you can manage Four Js products installed on the same machine or the same network as the License Manager.

One license manager can manage various types and versions of Four Js products. Once the FLM is installed, you use the command line program flmprg to install and manage licenses. You configure each Genero product to work with the FLM by updating its license configuration file (fgllicense) with the following details:
  1. Details of the license manager to use to validate the license.
  2. The product's license number.

When FLM is required

When the Genero products are on Remote File Systems (such as NFS or Samba). For these installations, a configuration is not supported.

When two or more Genero installations (on the same server or on different servers) share a single license.

When FLM is recommended

Use a license manager in development environments. It allows you to share your licenses between multiple Genero product versions; for example, your 3.21, 4.01, and 5.01 product versions can all share the same license. If you did not use a license manager, you would need a separate license for each version.

Use a license manager in production where there is a technical requirement to do so.

Use a license manager in production if you have a large number of machines where the Genero runtime installations exist and you do not want to go to each machine to install the license locally.

Use a license manager in production when the Genero product sits in a Docker container. By using the FLM, you can use a standard subscription license; otherwise, you must ask for a special Docker-branded license to complete the licensing locally. When using FLM for Genero in a Docker instance, the FLM must reside outside of the container – installed on a physical machine – as the FLM server cannot run inside a Docker instance.

Four Js License Manager usage scenarios

Use the scenarios described here to understand some ways you can implement an FLM in your network.

FLM is useful in both development and runtime environments, as it allows for easier management of licensing for different machines, platforms, Genero products, and product versions connected across a network.

Scenario 1: Different versions of Genero products

In this scenario, you have a five-user developer license. You have five developers whose workload on any given day could be divided between the following:
  • Working on the next release of your products
  • Supporting the current release of your product
  • Supporting one or more older releases of your product
For example, two users may be using Genero product version 3.10 and three users may be using version 3.20. FLM supports this scenario.

Implementation

On the network:
  • Install the Four Js License Manager (FLM) on a server.
  • Edit your FLM configuration file, $FLMDIR/etc/flmprofile:
    [server] 
    # FLM host 
    # host=localhost 
    # Default service port 
    port=6800
    • Set the host resource to the name of the machine that hosts FLM. The default is localhost.
    • Set the port to the port number for the communication between the license controller and FLM. If not set, the default is 6800.
  • Start the FLM service. Run flmprg -r on UNIX® /Linux® and flmprg --service-start on Windows®.
On the user server:
  • Set the host and port with details of the FLM. These values should be the same as the entry in the FLM configuration file ($FLMDIR/etc/flmprofile).
    [server] 
    # FLM service host
    # host=localhost
    # FLM service port
    port=6800
  • Add the license number in the configuration
    [license] 
    # License to use with FLM service
    number=TAB#XXXXXXXX
    All licenses need to be installed on the FLM (run the command flmprg -l to install licenses), but only one license needs to be specified in the product license configuration file.
Tip:

When you install a new product version, just add details of the license in the Genero product license configuration file. With FLM there is no need to register the license (get the installation key).

Scenario 2: Sharing licenses on different servers for QA and Development

In this scenario, you have more than one server in your development environment. There are three servers dedicated to QA: a Windows®, a Linux®, and a Mac® server. You have five QA team members and on any given day they could be testing on Windows, Linux, or Mac versions of your product. You also have ten-users on a developer server.

In a local license scenario all four servers need separate Genero licenses:
  • A ten-user license for your development server
  • A two-user license for your Linux QA server
  • A two-user license for your Windows QA Server
  • A two-user license for your Mac QA Server
Using FLM you only need one license that all these different servers share. You might, for example, decide to have a fourteen-user license that is shared by all users as demand permits.

Implementation

On the network:
  • Install the Four Js License Manager (FLM) on a server.
  • Edit your FLM configuration file, $FLMDIR/etc/flmprofile:
    [server] 
    # FLM host 
    # host=localhost 
    
    # Default service port 
    port=6800
    • Set the host resource to the name of the machine that hosts FLM. The default is localhost.
    • Set the port to the port number for the communication between the license controller and FLM. If not set, the default is 6800.
  • Start the FLM service. Run flmprg -r on UNIX® /Linux® or flmprg --service-start on Windows®.
On the QA and developer servers:
  • Set the host and port with details of the FLM. These values should be the same as the entry in the FLM configuration file ($FLMDIR/etc/flmprofile).
    [server] 
    # FLM service host
    # host=localhost
    # FLM service port
    port=6800
  • Add the license number in the configuration
    [license] 
    # License to use with FLM service
    number=TAB#XXXXXXXX
    All licenses need to be installed on the FLM (run the command flmprg -l to install licenses), but only one license needs to be specified in the product license configuration file.

Scenario 3: Development and/or runtime License Sharing

In this scenario you have two or more development and/or runtime licenses for the same Genero product used by different teams. In a local licensing scenario you have, for example:
  • Five users on one license
  • Ten users on a second license
Often the demand for licenses can change from one team to the other.

Using FLM, you can combine the licenses. Instead of having five users on one license and ten users on the other, you now have fifteen users using the two licenses as demand requires.

Important:

This license sharing solution applies only to licenses for the same product, type (runtime or developer), and extension (specific conditions of the license). The total user count can not exceed the number of users allowed for by the combined licenses.

The image illustrates the scenario where two development teams are connecting to the Four Js License Manager and sharing the developer licenses. This scenario can equally be applied for runtime purposes.
Figure: Four Js License Manager Scenario

The image illustrates a scenario where users in two development teams are connecting to the Four Js License Manager to share developer licenses.

Implementation

On the network:
  • Install the Four Js License Manager (FLM) on a server.
  • Edit your FLM configuration file, $FLMDIR/etc/flmprofile:
    [server] 
    # FLM host 
    # host=localhost 
    # Default service port
    port=6800
    • Set the host resource to the name of the machine that hosts FLM. The default is localhost.
    • Set the port to the port number for the communication between the license controller and FLM. If not set, the default is 6800.
    • Set the resource ([shares]) by declaring a name that allows sharing of similar licenses between a cumulative group of users.
      [shares] 
      names="dev_licenses"
    • Assign the share source licenses (one license can be shared).
      [share.dev_licenses] 
      licenses=TAB#XXXXXXX3 TAB#XXXXXXX6
      For more details on configuring shared licenses, go to Share licenses for a group of users in the Four Js License Manager User Guide. All licenses need to be installed on the FLM (run the command flmprg -l to install licenses).
  • Start the FLM service. Run flmprg -r on UNIX® /Linux® and flmprg --service-start on Windows®.
On the user server:
  • Update your Genero product license configuration file (fgllicense or grelicense).
    • Set the host and port with details of the FLM. These values should be the same as the entry in the FLM configuration file ($FLMDIR/etc/flmprofile).
      [server] 
      # FLM service host 
      host=localhost 
      # FLM service port 
      port=6800
    • Add the license share in the configuration
      [license]
      number="dev_licenses" 
      # Set the license number to the share ("dev_licenses" in the example) 
A number of licenses in a license or a share may also be reserved. For more details, refer to theManage license reservation (flmprg) and Manage license sharing (flmprg) pages of the Four Js License Manager User Guide.