Licensing Process
The following illustration gives a high-level view of the licensing process:
The licensing program performs two basic functions:
-
Converts an XML-formatted license document to binary format and stores it in the license file.
-
Loads licenses from the license file into common storage (optional).
Micro Focus/Serena application programs validate licenses by accessing either the license file or common storage (CSA).
The following topics describe the files and processes:
Files Used
License Document
The XML-formatted license document you received (as an email attachment) for your Micro Focus/Serena products contains the information you need to activate the base products and their options. A single license can cover multiple products. See License Data for element descriptions and a license example.
License File
The license file is a partitioned data set with separate members for each product. A single license file can be used for multiple systems and products; separate license files can be used for different systems.
Important
If you have multiple Micro Focus/Serena products using XML-format licenses, it is recommended that you use one license file and place it on shared DASD for all Micro Focus/Serena products to access from any system. Using separate license files may cause an abend.
Names File
The names file is used to map product IDs to product names and option IDs to option names. Application programs reference this file to obtain the correct product name for messages.
The names file is provided in somnode.SERCOMC.VnRnMn.XML(NAMES). This file is updated whenever products or options are added or renamed.
The licensing program can be run with an out-of-date or incomplete names file; however, program messages and generated messages may have missing or incorrect product/ option names.
Applying Licenses
Licenses are applied by running a batch job, using JCL provided in the software installer. Refer to your product’s Installation Guide for the name of the JCL library; it is usually called:
somnode.SERCOMC.VnRnMn.CNTL(LICUPDAT)
You must modify the sample JCL to meet your site’s requirements.
The licensing program reads the license document and adds/replaces the license in the license file. The parameters for applying new licenses are specified using the PARM parameter on the JCL EXEC statement, as follows:
-
ADD merges new licenses into the existing licenses. Existing licenses are not changed; the new license information is appended onto the existing license. Also, expired licenses are removed from the file after the grace period has elapsed.
-
REP replaces all existing licenses for products in the input file with the new licenses.
The following are recommendations for using ADD or REP:
-
Use ADD if you already have the product licensed and the new licenses are just for adding a new option or CPU ID.
-
Use REP if the new licenses are a complete set of licenses for the product.
Regardless of whether you use ADD or REP, a product’s licenses are not updated if there are no licenses for that product in the input file.
The following members are created/updated for each product ("nnnnn" is a unique number assigned to each product):
LIC*nnnnn | Binary license data, used by application programs for validating the license. |
---|---|
XML*nnnnn | XML formatted license, for reference only. |
BAK*nnnnn | Backup of previous version of XML formatted license. |
The licensing program stores the binary licenses in the LICnnnnn members and places an updated XML version of the licenses in the XMLnnnnn members. Before updating the licenses, a copy of the previous XMLnnnnn member is saved as BAKnnnnn.
If the member name already exists, that member is updated; otherwise, a new member is created.
Licenses can be updated at any time by running the licensing program. Only the products and options specified in the license input are updated; other product and option information in the license file remains as is.
Loading Licenses into Common Storage (Optional)
Licenses can optionally be loaded into common storage (CSA). If you do not load your licenses into CSA, your applications will access the license file for validation. For more information on the different methods of validating licenses, and the pros and cons of each, see Validating Licenses.
Licenses are loaded into common storage by running the licensing program with the LOAD parameter; licenses for all products in the license file are loaded.
Applying new licenses with the ADD or REP parameter does not automatically load the new licenses into CSA; you must run the licensing program a second time with the LOAD parameter to update the licenses cached in CSA.
You can restrict which users can load licenses into CSA with a security profile. See Security for details.
If licenses are loaded into CSA, the licensing program must be run after each system IPL to reload the licenses into CSA. The licensing program can be run at any time to update the licenses in CSA.
Validating Licenses
Micro Focus/Serena application programs validate licenses by calling a license-check routine. The license checker accesses licenses by looking in the license file or in CSA.
Licenses can be loaded into CSA or the license file can be accessed in either of the following ways:
-
Assembling the name of the file into the LICDSN load module that resides in the system link list or in the JOBLIB or STEPLIB of the product JCL.
-
Using the SERLIC DD statement in the product JCL.
Validation Methods
The three methods available for license validation can be summarized as follows:
-
LICDSN load module pointing to license file
-
SERLIC DD statement pointing to license file
-
Licenses loaded into CSA
Instructions on how to implement the different methods can be found in Licensing Procedures. The specific topics are:
-
Create a LICDSN Module - provides instructions on how to create the LICDSN module for dynamically allocating the license file.
-
Add a SERLIC DD Statement to Your JCL - provides instructions on how to allocate the license file using a SERLIC DD statement.
-
Load Licenses into Common Storage - provides instructions on how to load and access licenses in CSA.
Order of Search
The license checker searches for the licenses in the following order:
-
If there is a SERLIC DD statement in the application JCL, the license checker tries to read the license file named on this DD statement.
-
If the SERLIC DD statement is not present, the license checker looks for the LICDSN module in the system link list or in the product STEPLIB or JOBLIB.
-
If the LICDSN module is not found, or it is the default module delivered with the product, then the license checker looks in CSA.
Pros and Cons of the Different Methods
LICDSN Load Module Pointing to License File | |
---|---|
**Advantages | No changes to current JCL. |
**Disadvantages | Requires updating a module in the product load library. |
SERLIC DD Statement Pointing to License File | |
---|---|
**Advantages | Easy for installer or administrator to change when testing new Micro Focus/Serena products or new versions of licensed products. Easy to see identity of license file. JCL checking utilities (JCL/PRO or ASG-JCLPREP) can guarantee production name for license file. |
**Disadvantages | Changes required to current JCL |
Licenses Loaded into CSA | |
---|---|
**Advantages | Universally available to Micro Focus/Serena products on a z/OS image. No change to current JCL. |
**Disadvantages | Must go through systems programming department to get updated. Requires a job to be submitted to reload licenses after an IPL. |
Messages
The message identifiers generated by the license-check routine are LIC0000 through LIC0099, and LIC9999; the message text is self-explanatory. Messages are displayed as follows:
-
For batch jobs and started tasks, messages are logged to the JESMSGLG output.
-
For TSO users, messages are displayed at the terminal.
-
Some applications may also echo messages to a SYSPRINT DD statement, or log them elsewhere.