1. DeltaXML licensing user guide
Transcription
1. DeltaXML licensing user guide
1. DeltaXML licensing user guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Licensing models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1 Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.2 Named User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.3 Concurrent Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.4 Concurrent User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.5 Redistribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 How to use the FlexNet Operations portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2 How To Download Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.3 Server and Named User Licensing Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.3.1 How to determine a Server or Named User hostid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.3.2 How to obtain Server or Named User licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.3.3 How to configure Server and Named User licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.3.4 How to return a license . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.4 Concurrent Licensing Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.4.1 How to determine a license server hostid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.4.2 How to obtain a concurrent license . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.4.3 How to setup a license server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.4.4 How to setup clients to use a concurrent (network) license server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.4.5 How to combine concurrent license files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Licensing transition information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 2 2 3 4 5 5 5 6 10 10 10 14 14 16 16 17 21 21 22 23 25 DeltaXML licensing user guide This documentation covers the licensing system used with DeltaXML products. This licensing system uses software from Flexera Software LLC. We make use of the Flexnet Publisher licensing system to provide license checkout and checkin capabilities within our products. Additionally for concurrent licensing, server daemons are provided for a number of different hardware/OS platforms. License fulfilment and software downloads make use of the Flexnet Operations Cloud (FNOC) system where DeltaXML customers and evaluators will be given access to our virtual instance. This guide is designed to accompany the Flexnet Publisher License Administration Guide and the online documentation provided in FNOC. New users should start by learning about our supported license types in Licensing models. We discuss various procedures relating to obtaining and using licenses. These differ according to the type of license being used: Server and Named User Procedures: How to determine a Server or Named User hostid How to obtain Server or Named User licenses How to configure Server and Named User licensing How to return a license Concurrent Licensing Procedures: How to determine a license server hostid How to obtain a concurrent license How to setup a license server How to setup clients to use a concurrent (network) license server How to combine concurrent license files Users of previous releases, particularly those that use our programming APIs, should consult Licensing transition information. A glossary is provided which will be useful to both new users and those already familiar with Flexera licensing. Licensing models DeltaXML software is available using a number of different licensing models. The following sections describe these models: Server Named User Concurrent Server Concurrent User Redistribution Server A Server license allows a specified computer (host) to run DeltaXML software. Although this type of license is entitled 'Server', it applies equally to any type of computer such as a desktop or laptop system. The license may specify a limit to the number of runtime cores that are available on the host system and this is checked when the software is invoked. While the number of runtime cores may be restricted, there is no restriction on the number of comparisons running on the licensed server. A Server license is self-contained and does not require the use of a license server or network connectivity. Licenses are available on a subscription basis (where the software operates for a fixed term during which updates and support are also available) and also perpetual licenses (the software never expires, but maintenance is purchased on an annual basis for support and access to new releases). Server licenses need to be installed on specific servers to which they apply and this requires determining a unique identity for such servers using a hostid. When ordering software the number of servers and any runtime core limits will typically be specified, but not their identities or hostids. After purchase users/administrators can use the DeltaXML FlexNet Operations portal to fulfil or obtain their licenses by specifying the hostid of the servers which will run the software. It is also possible to return a license and re-issue or re-host it for a different server. The hostids that are supported with Server licensing are listed in How to determine a Server or Named User hostid. The following guides are appropriate to server licensing: How to use the FlexNet Operations portal How to obtain Server or Named User licenses How to configure Server and Named User licensing How to return a license Named User A Named User License allows use of the DeltaXML software by an individual person. The user is identified in the license file in terms of the operating system username and such a user must correspond to an identifiable person. It is NOT permitted to use this type of license with generic or service accounts on a system such as 'administrator', 'root', 'www' or 'httpd', or 'guest'. Spaces in usernames are not supported in named user licensing. To use a Named User License, users need to have accounts on the systems on which the DeltaXML Software is running. This may not be the case if you develop an application in which the DeltaXML software is embedded which provides its own authentication mechanisms rather than relying on operating system authentication. Named User licenses work with operating systems that support user authentication, these include Microsoft Windows and Unix (including Apple MacOS and Linux). A number of authentication systems can be used, e.g. /etc/passwd, Workgroups, LDAP and Active Directory. A Named User license could be used by the named user on multiple systems, for example a user's desktop and laptop computers. The license file will need to be installed on each system where DeltaXML software is used and the usernames on these systems will need to be the same. Concurrent Server A Concurrent Server license allows DeltaXML software to run on one or more servers (or hosts) which can communicate with a license server system. The number and size of servers running the software at any one time are limited by the license. A Concurrent Server license requires a license server to provide concurrent (or floating) access to a pool of licenses. Operations within the DeltaXML software will checkout a license when processing starts and when processing has completed the licensed will be returned (a checkin) to the license server. Licenses are checked out according to the capacity of the host on which the software is running. A larger host will consume more licenses from the pool managed by the license server. However concurrent operations on the same host (as identified by its network address within a LAN) will not consume additional licenses from the pool. The capacity of a host is measured by the number of runtime cores (as returned by java.lang.Runtime.availableProcessors() method in the JVM or IKVM/CLR). Runtime cores are always checked out in pairs, each pair using one licensing unit. This means that one licencing unit would be used for a single core (virtual) host. Note that the licensing software will report the number of pairs (units) rather than the number of runtime cores. Runtime Cores Here are some example systems and details of their processors, runtime cores and licensing units: Description Processors Runtime cores Licensing Units Apple MacMini / MacBook Pro 13" 1 4 2 Apple iMac 27 / MacBook Pro 15" 1 8 4 Intel Xeon E3-1230 server 1 8 4 Intel Xeon E5-2630 Dual CPU server 2 24 12 Amazon EC2 t2.small instance - 1 1 Amazon EC2 m4.large instance - 2 1 The diagram to the right shows how licenses are consumed when different comparisons occur. Server A has 8 runtime cores and therefore its comparisons consume 8 runtime cores (checked out as 4 licensing units). However if multiple comparisons are running on Server A they do not consume additional units beyond the units that one comparison would consume. Any comparisons on server B consume 4 runtime cores (checked out as 2 licensing units). To run server B concurrently with server A, a maximum of 6 licensing units will be required. When assessing the number of concurrent runtime cores required in the license, the following guidelines will avoid operations failing because licenses are not available: The number of runtime cores should be equal to or greater than the total of the runtime cores of all the hosts which need to be running the software at any point in time. Additionally, the number of runtime cores should always be equal to or greater than the number required for the largest host, otherwise that host will never be able to checkout from the pool at the start of an operation. The number of licensing units needed will be half the number of concurrent runtime cores, rounded up. A Concurrent Licence provides run-time flexibility for server farms or similar situations but limits the number of servers that can be running the DeltaXML software at any one time. It should be noted however that each concurrent operation still requires communication between the host and the license server for the license checkin and checkout operations, otherwise the operation will fail. Some constructors may do a quick checkout/checkin for initialisation prior to the main operation. In a ThreeWayMerge it is the merge() function that is licensed. In a ConcurrentMerge() it is the setAncestor(), addVersion() and extract() operations which are licensed HostId Types Unlike the DeltaXML applications and API, the concurrent license server is platform specific or native code. Therefore a wider range of HostId types may be used than is the case for Server and Named User licenses where the code is running in the Java Virtual Machine (JVM). The following HostIds are supported with concurrent license servers: Ethernet 'MAC' address IP address Windows disk serial number Solaris hostid Virtual Machine UUID (for use with cloud systems such as Amazon EC2 and on-premise virtualisation such as Hyper-V). Please note that this is the HostId of the license server, not that of the machines running the Java or .NET DeltaXML software. Concurrent User A Concurrent User License allows DeltaXML software to be used by one or more users concurrently (simultaneously). The number of users allowed to run the software concurrently and the number of users allowed to access the software (the pool of users) are limited by the license. A Concurrent User license requires a license server to provide concurrent (or floating) access to a pool of licenses. Operations within the DeltaXML software will checkout a license when processing starts and when processing has completed the licensed will be returned (a checkin) to the license server. A user is identified in the same way as a Named User, so the same characteristics apply. When assessing the number of concurrent user licenses required, the following guidelines should be followed: The number of concurrent user licenses should be equal to or greater than the total number of users that need to be running the software at any point in time. The number of concurrent user licenses should be sufficient to allow access to the total number of users (the pool of users) that need to access the software. Redistribution A Redistribution (OEM) license allows DeltaXML software to be embedded in a specified application which is then licensed to end users. The terms of this Redistribution license will depend on the nature of the application and the volume of end users to whom it will be deployed. The Redistribution license is integrated at compile time into the application. Procedures How to use the FlexNet Operations portal FlexNet Operations Portal is the web site that allows customers to manage their licensing entitlements for DeltaXML products. During the purchase process, you will have provided a contact email address. This allows us to send you a welcome email message that describes your new FlexNet Operations portal account. The first time you log on you will be asked to choose a new password. Please keep a record of this password as you will need it to manage your product licenses. If the welcome email has gone missing please go to the FlexNet Operations portal login page at https://deltaxml.flexnetoperations.com/flexne t/operations/logon.do and do a password reset for the supplied email address by clicking on the "Forgot your password?" link. Enter the email address you provided and click continue. You will then receive a new email with information on how to reset a password. If you still do not receive any email, please check that your email settings are not causing the messages to be blocked or sent to your junk folder. Step-by-step guide to logging on for the first time Steps involved: 1. Use your web browser to go to the portal URL listed in the welcome email. The URL is https://deltaxml.flexnetoperations.com/flexnet /operations/logon.do 2. You should see a logon screen that looks like this. 3. You log on using your specified email address as your username, and the initial randomly generated password from the welcome email as the password. Click the Log in button. 4. The first time you log on, you will immediately be presented with a page where you must change the password to one of your choice. To ensure the password is secure, it must have at least one Uppercase letter, one lowercase letter, and one symbol, and be at least eight characters in length. On this page you also need to choose an additional security question and provide an answer. 5. 5. After you have successfully changed your password, and on subsequent log ons you will be presented with the Activatable Entitlements page. 6. From here you can manage your products and entitlements using a combination of page buttons and the blue menu bar at the top of the page to navigate through the portal. How To Download Software This guide illustrates how to download software from the DeltaXML customer portal on FlexNet Operations Cloud. Step-by-step guide 1. You will be notified by email when a product entitlement is available to download from our customer portal. 2. Using the web browser of your choice, log on to the FNOC portal. See How to use the FlexNet Operations portal for a guide to logging on. 3. Select Downloads, List Downloads from the blue menu bar at the top of the page. 4. This will open a Downloads page where you will see product lines. 5. Click on the 'DeltaXML' product line. 6. The Download Packages page opens. You will see the list of current versions of DeltaXML download packages to which you are entitled. Select a description to show the download list page. 7. If it is the first time you have visited this download package, you will now be presented with a license agreement, which you should read. If you agree to the software license terms and conditions then you can click on "I Agree" to continue to the download list. 8. You will now see the Download List page. The contents of this list of files will vary by product and will depend on whether or not you will be using a License Server. If the type of license you have purchased does not require a License Server, the file list will consist of the product zip file for all the platforms that the product supports. If the type of license you have purchased requires a License Server, the file list will additionally include server zip files for each OS and platform the server daemons can be run on. Note that the License Server can be run on a different platform to the licensed software. For example you may want to run the DeltaXML software on a Mac and use a linux server as the License Server. The server zip files contain server and DeltaXML daemons, plus License Server executables, tools, and related documentation. The naming convention for product download files and License Server files is listed below these instructions. 9. From this page you can download product files. You may do this in two ways. Either select a number of check boxes and then click Download Selected Files, or click on a single File Name to download that file. Download Files Naming Conventions Product Download Files The naming convention for product files on various platforms is shown in the table below. Product platform variant File name convention Generic Java platform DeltaXML-[product-name]-[version-major]_[version-minor]_j.zip Mac OS X DeltaXML-[product-name]-[version-major]_[version-minor]_m.zip Java for Windows DeltaXML-[product-name]-[version-major]_[version-minor]_w.zip Windows .Net API DeltaXML-[product-name]-[version-major]_[version-minor]_n.zip The product name, OS, platform, and version numbers will vary. For example the download file for DocBook Compare version 5 for the Java platform would be called DeltaXML-DocBook-Compare-5_0_ j.zip. License Server Download Files License Server download packages are valid for any DeltaXML products that use FlexNet licensing, so if you have multiple DeltaXML products you only need to download the License Server once. The naming convention for License Server files on various platforms is shown in the table below. Note the final two digits represent the major and minor version number of the License Server which may be different. License Server OS/Platform Typical File name Linux Standard Base 64-bit deltaxml-license-server-linux_x64-1_0.zip Linux Standard Base 32-bit deltaxml-license-server-linux_x86-1_0.zip Mac OS X deltaxml-license-server-macos-1_0.zip Sun Solaris deltaxml-license-server-sunos_x64-1_0.zip Windows 64-bit deltaxml-license-server-win_x64-1_0.zip Windows 32-bit deltaxml-license-server-win_x86-1_0.zip Server and Named User Licensing Procedures How to determine a Server or Named User hostid How to obtain Server or Named User licenses How to configure Server and Named User licensing How to return a license How to determine a Server or Named User hostid This procedure is useful for users or administrators who fulfil an order for DeltaXML software and intend to use our Server or Named User license models. A hostid is required for any systems (servers, laptops or desktops) or users (in the case of Named User) which will run the software. The possible hostids for these license types are both smaller than the set of hostids that we support for use with Concurrent licensing as they run client side in pure Java code. While it is possible to use the lmhostid command that we recommend for determining concurrent server hostids, we recommend that users avoid downloading the license server distributions and instead use the operating system commands we document below. Server hostids The table below shows the allowed Host ID types for Server licenses, and how to generate them. Host ID type Description How to Generate Examples Host The client machine host name (either simple or fully qualified DNS name) hostname uname -n HOSTNAME=4C74BCE5 HOSTNAME=beacon.malvern.deltaxml.com IP Address An IPv4 or IPv6 IP address On unix-style OS INTERNET=216.239.57.119 INTERNET=192.168.2.1 INTERNET=2001:db8:d1:5::1 ifconfig On Windows ipconfig Both IPv4 and IPv6 IP address are supported as hostids, but please avoid IPv6 auto configuration temporary addresses. Named User hostids Host ID type Description How to Generate Examples username The operating system username Unix OS who am i On Windows username USER=nigelw Please only supply the simple username avoiding any workgroup or domain components. Please avoid: domain\user or user@ad.c ompany.com. Also, do not use a username containing any space characters. When entering hostids into Flexnet Operations for license fulfillment, do not enter the TYPE= prefixes shown in the examples above. The fulfillment system allows you to select the type and then requires the basic value in the text entry field. How to obtain Server or Named User licenses After a purchase you can obtain your licenses by logging on to the FlexNet Operations portal. Follow the steps below to obtain a fixed host license. Step-by-step guide 1. 2. 3. 4. First ensure that you understand the different types of license. See License Models for full details. Select a host ID for the systems or users. Please see How to determine a Server or Named User hostid. Log on to the FlexNet Operations Portal. On login you should start at the Activatable Entitlements page. To get to this page from elsewhere, select License Activation, Activat able Entitlements. 4. 5. The Activatable Entitlements page shows a list of all your software entitlements to DeltaXML licensed software. 6. Select the tick box for the desired entitlement line, 7. then select Action, Activate. 8. 8. This takes you to the Activate Licenses page. Click the Next button. 9. The next page that opens is the Configure Hosts page. Click on the Add button - the green plus icon - to add a server host line to the license. 10. A pop-up page entitled Create License Host opens. Click on the drop down list to see all the available host ID policies. Select the policy you decided on in step 2, 11. fill in the hostID value in the text box to the right of the equals sign, and click the OK button. 12. The server hosts list should now show the host ID just entered. Click the Generate button. 13. This opens the License Summary page. Here you can check the details of the license. 14. Note that at this point you can also choose to view the license in several ways. You can save, print, or email it. 15. Click the Complete button. 16. Now go to License Support, List Licenses. Select the license check box, select View, Save to File. (Note that from here you could also choose to email the license file to an email address of your choice). 17. This will download a license file. Once you have a license file, you can proceed to How to configure Server and Named User licensing. How to configure Server and Named User licensing Once you have followed the instructions in How to obtain Server or Named User licenses, you will have a license file. Now you need to configure the machine(s) that will be running the DeltaXML software to use the license file. Step-by-step guide Steps involved: 1. First rename the license file to match the name of the product you are using. The following table lists the names used for each product: Product License File/Resource Name core deltaxml-core.lic General Merge deltaxml-merge.lic DITA Compare deltaxml-dita.lic DITA Merge deltaxml-dita-merge.lic DocBook Compare deltaxml-docbook.lic 2. Place the license file in one of the following locations: The same directory as the jar or exe/dll files in your unpacked installation Your home directory As a resource on your java classpath A user specified directory may be used by calling the API method setLicenseFile 3. Test that the licensing is working. This can be done by typing java -jar deltaxml.jar How to return a license A license may be returned when a server is replaced or when a user leaves a company and a named-user license is reassigned to another employee. By returning a license in FNOC you are committing to no longer using the license as per the terms of your license agreement. Step-by-step guide Follow these steps to return a license. 1. Log on to the FletNet Operations portal. See How to use the FlexNet Operations portal. 2. Select from the top menu bar License Support, List Licenses. This will display a list of your available licenses in use. 3. Select the tick box at the left of the license line, then select Action, Return. 4. This opens the Return Licenses page, where you can check the details of the license to confirm it is the correct one. Click on the Ret urn button to return the license. 5. A message will be displayed at the top of the License Activation page, and the license will no longer be listed. 6. This completes the steps to return a license. Concurrent Licensing Procedures How to determine a license server hostid How to obtain a concurrent license How to setup a license server How to setup clients to use a concurrent (network) license server How to combine concurrent license files How to determine a license server hostid A hostid is required for use with concurrent licensing. It is used to identify the license server. As the license server uses native code a number of platforms are supported. Some hostid types are platform specific (such as the Windows Disk Serial Number and the Solaris hostid) and others such as those based on IP addresses or ethernet MAC addresses are available on all supported platforms. There are two ways to determine the hostid of a system; you can either use the command line tool lmhostid which is included in our license server downloads, or you could use platform specific commands. Please refer to the FlexNet Publisher License Administration Guide, chapter 6 "Hostids for Supported Platforms" for a full description of the available lmhostid options. The table below shows the server Host ID types that DeltaXML supports for license servers (a subset of those supported by Flexera and listed in their documentation), when to use them, and how to generate them. Host ID type Description lmhostid options Command line alternative Examples Disk Serial Number The serial number of the first physical hard disk drive. lmhostid -vsn Windows DISK_SERIAL_NUM=42cab316 DIR C:\ Use when a physical machine has no ethernet card. Ethernet This is the MAC address of the network card. look for the "Volume Serial Number", remove any dashes lmhostid -ether Unix 00155d141307 /sbin/ifconfig <ethernet_name> It is a recommended identifier for physical machines. Look for the ether line of the active ethernet adapter. On linux usually eth0, on Mac en0 or en1. It should be specified as a 6 byte quantity with each byte specified as two hex digits. Windows ipconfig /all Look for the Physical Address of the active ethernet adapter. Remove the dashes. Solaris hostid For machines running Solaris this is the result of the hostid command lmhostd hostid 00470bb5 IP Address An IPv4 or IPv6 address lmhostid -internet Unix INTERNET=216.239.57.119 (INTERNET) Can be used in Virtual Machines. ifconfig INTERNET=192.168.1.22 INTERNET=2001:db8:d1:5::22 Windows ipconfig VM UUID A Virtual Machine identifier. Preferred for use in Virtual Machines (such as Amazon EC2 or Hyper-V) lmhostid -ptype VM -uuid VM_UUID=9980A572-3723-47A8-B0CF-5B4854C3BFBE When entering hostids into the Flexnet Operations system you may need to remove the type prefix (the word before the = symbol) such as VM_UUID= or INTERNET=. The hostid type is specified immediately before the text entry area. How to obtain a concurrent license Step-by-step guide Steps involved: 1. First ensure that you have selected a host ID for the license server. See How to determine a license server host ID. 2. Log on to the FlexNet Operations portal. 3. Select License Activation, Activatable Entitlements. 4. Select the check box at the left of the line item to activate, then click on Action, Activate. 4. 5. The Activate Licenses page opens. If you want to send the license entitlement to an email address then fill in an email address here, otherwise click Next 6. On the Configure Hosts page, add a server host ID by clicking the green plus icon... 7. and then select the host ID policy from the list (see How to determine a license server host id) 8. then fill in the value of the host ID found from the server, 9. Then click OK to add the line, then click Next. 10. On the Configure Counts page click Next 11. Now on the Review page, click Generate. 11. 12. then on License Summary page click Complete 13. Now you can click on download now and download the server zip, or to download the license file, click on License Support, List Licenses. 14. Select the check box for the line item desired and then select View, Save To File. This will download the license file with a ".lic" file extension. 15. 15. You now have your concurrent license file. How to setup a license server There is detailed documentation on FlexNet licensing in the document entitled “FlexNet Publisher License Administration Guide” (LAG). This how-to will refer to sections in that document where appropriate. Prerequisites To set up a license server you first need to select a machine to use as a server. See the LAG Chapter 8 on page 65 “Selecting a License Server Machine”. Once you have chosen a platform, you then download the correct license server zip file for your server platform. We provide daemon tools for the following platforms: Microsoft Windows 32-bit and 64-bit Linux LSB 32-bit and 64-bit Mac OS X Solaris, 64 bit Intel/AMD platform Step-by-step guide 1. Install daemons Unzip the license server zip file which will create a folder with the same name as the zip, for example on OS X the folder will be called something like “deltaxml-license-server-macos-1_0”. The daemon executables may be found in the bin sub-folder. There are two ways of running and controlling license servers: Command line tools lmgrd, lmstat, lmdown etc. (See LAG page 97 “lmgrd”) A browser based GUI called lmadmin (See LAG page 69 “lmadmin”). Note that on the Windows platform there is also a Windows desktop GUI tool called lmtools.exe which provides a graphical equivalent of the command line tools. 2. Choose your preferred option and install by placing either the command line executables or the contents of the lmadmin folder on to your server system. 3. Startup and shutdown The automated startup and shutdown of both types of license servers is described for Windows and Unix-style platforms in the LAG. See Chapter 10 for lmgrd and Chapter 9 for lmadmin. On Windows lmgrd can be installed as a service using the command line tool "installs.exe" included in the zip for the Windows platform. Example install as service: installs.exe -c C:\licensing_redist\deltaxml.lic -e C:\licensing_redist\lmgrd.exe -n "DeltaXML License Manager" -l C:\licensing_redist\logs 4. Configure an Options File An options file allows you to further control licensing within the constraints of the license model. See LAG Chapter 13 “Managing the Options File”. 5. Monitor the Logs See LAG Chapter 21 “Report Log File” and Chapter 22 “Debug Log File” for details of all logging aspects. How to setup clients to use a concurrent (network) license server After configuring and starting the license servers, client systems need to be able to connect to the server in order to obtain licenses when performing comparison or other operations. Step-by-step guide 1. Copy the license file to your client machine 2. The license file can be placed in exactly one of the following locations: a. The same directory as the DeltaXML .jar or .dll files. This is typically the directory created when unzipping the release download or a /bin subdirectory. b. The user's home directory c. A user specified directory may be used by calling the API method setLicenseFile 3. You will need to change this_host so that clients can contact the server - use an IP address or hostname (simple or fully qualified). When editing, be careful to ensure that the second argument on the server line is used to contact the host and the third is the hostid used for locking. 4. Alternatively, to steps 1-3 above, specify the server through the setLicenseServer API method. 5. To ensure the license server is running, test that you can obtain a license. Open a command terminal, navigate to the product folder, and run the main product jar file with the license argument. The name of the jar file depends on the product being used, here are some examples:- $ java -jar deltaxml.jar license $ java -jar deltaxml-docbook.jar license This will display the version of the product and the license details. If you observe the license server logs you will also see a checkout followed by an immediate checkin corresponding to the license report. How to combine concurrent license files It is possible to use a single license server to serve multiple licenses for multiple DeltaXML products. A typical use case would be if you have purchased more than one product, either at the same time or at different times, you could choose to use the same server to serve them all. You will typically have downloaded multiple license files - one for each product. These can be combined into one license file for ease of management. To be able to merge license files, they should have the same vendor daemon name and the same hostid on the server line. To do this simply use any text editor to merge the FEATURE (or INCREMENT) lines together and keep a single SERVER line. Here is an example to clarify how to combine files. If you have the following two license files A and B:- License File A #Please Do not delete this comment line. SERVER this_host VM_UUID=9980A572-3723-47A8-B0CF-5B4854C3BFBE VENDOR deltaxml USE_SERVER INCREMENT compare deltaxml 8.0 19-feb-2017 1 START=19-feb-2016 \ SIGN="003A 6485 FB87 96BC 732F D584 775F BD00 EF4F 899A E573 \ 47D2 064E CFEE D7E9" License File B #Please Do not delete this comment line. SERVER this_host VM_UUID=9980A572-3723-47A8-B0CF-5B4854C3BFBE VENDOR deltaxml USE_SERVER INCREMENT merge deltaxml 1.0 7-mar-2019 1 DUP_GROUP=H START=7-mar-2016 SIGN="0070 F38B 1887 81C6 1DFD 62F5 B0DC 3800 B2C0 C984 46F5 \ 54AE 8275 8E6F 7350" You should combine them together to form a single license file that looks like license file C. License File C #Please Do not delete this comment line. SERVER this_host VM_UUID=9980A572-3723-47A8-B0CF-5B4854C3BFBE VENDOR deltaxml USE_SERVER INCREMENT compare deltaxml 8.0 19-feb-2017 1 START=19-feb-2016 \ SIGN="003A 6485 FB87 96BC 732F D584 775F BD00 EF4F 899A E573 \ 47D2 064E CFEE D7E9" INCREMENT merge deltaxml 1.0 7-mar-2019 1 DUP_GROUP=H START=7-mar-2016 SIGN="0070 F38B 1887 81C6 1DFD 62F5 B0DC 3800 B2C0 C984 46F5 \ 54AE 8275 8E6F 7350" Licensing transition information Customers of previous DeltaXML releases may have interacted with our previous software licensing system. This guide provides transition information for users, administrators and application developers. Flexera based licensing is being introduced into products on a rolling basis. The following table lists the releases where Flexera licensing is introduced. Any previous releases will use our traditional licensing mechanism. Product Flexera Licensing initial version Corresponding traditional licensing version Core 8.1.1 7.1.1 DocBook Compare 5.0 4.0 License File Format Our previous license files (for all license types except Redistribution) were based on Java Property files. Here is an example: #DeltaXML License Key (start: Thu Mar 31 00:00:00 BST 2016, expiry date: 2016-04-15 00:00:00.0) #Thu Mar 31 11:34:22 BST 2016 nodeLimit=-1 serial=603 startDate=1459378800000 majorVersion=4 evaluation=true endDate=1460674800000 issuedDate=1459420462685 checksum=MCwCFEMC6ehTT+qikf1nNHOE0PaRCzVOAhQZ18rar4eEgEuKJwKCaZlaTBRh7A\=\= licenseIssuer=CN\=DeltaXML Limited, STREET\=Monsell Lane, L\=Upton-upon-Severn, ST\=Worcestershire licenseType=Named User licenseHolder=CN\=Nigel Whitaker,O\=DeltaXML Ltd cpus=16 minorVersion=2 product=DeltaXML-Merge This format was undocumented and was only used internally by DeltaXML software. FLexera's License Administration Guide documents their license file format in the Reading a License File section. The Flexera guide describes the full file format although licenses issues by DeltaXML will use only a subset of the full capabilities. Here is an example of a concurrent license using the Flexera format: SERVER this_host VM_UUID=9980A572-3723-47A8-B0CF-5B4854C3BFBE VENDOR deltaxml USE_SERVER INCREMENT docbook deltaxml 5.0 29-mar-2019 5 DUP_GROUP=H \ ISSUER="DeltaXML Ltd" ISSUED=29-mar-2016 START=28-mar-2016 \ NOTICE="For use on non-production/test/standby systems only" \ SIGN="0000 1111 2222 3333 4444 5555 6666 7777 8888 9999 AAAA \ BBBB CCCC DDDD EEEE" Feature/product names There is no one-to-one correspondence between our previous or traditional format licenses where they described the product and Flexera licensing where features are enabled and counted. We have taken this opportunity to overhaul some of the names used in the licensing to make them more consistent with the capabilities of the product. Product old license product name flexera feature name(s) Core DeltaXMLCore compare Merge DeltaXML-Merge merge DocBook-Compare DeltaXML-DocBook-Compare docbook DITA Compare DeltaXML-DITA-Compare dita DITA Merge DeltaXML-DITA-Merge dita-merge Locating licenses The software (including the built-in applications and customer developed code) will attempt to locate license files at defined locations. Although the file format has changed the lookup locations are similar: User home directory Software install directory/sub-directory Using classpath resource lookup File and resource names Different filenames or resource names are used in the above lookup locations according to the product being used. Product Filename Resource name Core deltaxml-core.lic deltaxml-core.lic Merge deltaxml-merge.lic deltaxml-merge.lic DocBook-Compare deltaxml-docbook.lic deltaxml-docbook.lic DITA Compare deltaxml-dita.lic deltaxml-dita.lic DITA Merge deltaxml-dita-merge.lic deltaxml-dita-merge.lic One issue with the Flexnet operations cloud system is that we cannot control the download filename on a per-product basis, therefore users will need to create or rename files according to the rules above. License Reporting Invoking the jar file still provides a license report but some details have changed: IP notices contained in license files are now reported There is no longer the concept of the license holder, but the hostid and other aspects of the license provide identification The license type corresponds to one of several that are now supported: SERVER CONCURRENT_SERVER NAMED_USER CONCURRENT_USER REDISTRIBUTION Functional Changes The previous licensing code operated by finding a license file and then checking the details in that file. The Flexera system looks for features irrespective of which file or server they are obtained from. The feature lookup code used for license checkout will request the feature and the version corresponding to the release. In the previous system if a license file was found but the version specified in the file did not match that of the software a VersionException would be thrown. VersionException is no longer possible in the Flexera system and a NoLicenseInstalledException was produced when testing similar scenarios. The previous code would defer license checking until the licensed operation such as a compare method. In the new system more checking is done up-front when the license is specified or set, for example when a setLicenseFile() or setRedistributionLicense() method is called. This means that exceptions that were previously thrown at comparison time are now thrown earlier and method signatures and documentation have been changed to reflect this. API Changes While we have tried to maintain a degree of API compatibility a number of minor changes have been made to support the issues and topics discussed above. A consequence of these changes is that some recompilation may be necessary and in a limited number of cases code changes may be needed. We have incremented major version numbers of the releases to reflect these small incompatibilities at the API level. Here is a summary of the API changes: VersionException has been removed LicenseNotYetStartedException and LicenseExpiredException have deprecated methods as they no longer provide useful information with Flexera licensing. The Core product's com.deltaxml.core package has a new LicenseException superclass so as to mirror the exception class structure used in the com.deltaxml.cores9api package The signature of the setRedistributionLicense method now throws exceptions that were not used in the previous releases New methods have been introduced to specify the license file or server through the API, these are: setLicenseFile and setLic enseServer Glossary This is a glossary of licensing terms. It augments the Flexera documentation. Host A unique, identifiable system that runs the application code. A host could be a desktop system, a physical server or a virtual machine on-site or in the cloud. A host usually needs a unique IP address when networking with a license server. License server A system which provides network checkin and checkout operations over a LAN or other network. Such a system runs the lmgrd and vendor daemon. lmgrd A daemon used on a license server to coordinate checkin and checkout activity. lmgrd is a standard Flexnet Publisher component. vendor daemon An executable daemon (file with name: deltaxml or deltaxml.exe) that when used in conjunction with lmgrd forms the basis of the License server. Runtime core This is a processor known to the Java runtime and the number of runtime cores is the result of calling the java.lang.Runtime.av ailableProcessors() method. Licensing unit A quantity represented in the license file and measured by the license server for concurrent operations. A checkout will consume and reserve this quantity from the license server and the checkin operation will return the quantity. For concurrent user licensing the quantity corresponds to the number of users (usernames) and for Concurrent Server it is half the number of runtime cores of a host rounded up to the nearest integer. Licensed Operation A unit of software functionality bounded by a checkin and checkout operation so that either: the number of concurrent instances can be controlled and counted with a license server or a server/named-user license can be checked prior to performing the operation The operations could correspond to comparisons, pipelined comparisons, three way merge operations or setAncestor/addVersion operations on the ConcurrentMerge object. HostId For Server and Named User licensing a hostid identifies fixed hosts or a server used with concurrent/network licensing. checkout Occurs at the start of a licensed managed operation when the client code requests a quantity of license units from the license server. checkin Returns the license units to the license server. Flexnet Publisher The third party license management software system from Flexera Software LLC that is used in DeltaXML products. FNOC Flexnet Operations Cloud, the hosted service used to deliver licenses and downloads for DeltaXML products activation id This is a FNOC term corresponding to an order line in a software quote or order from DeltaXML. An order may list several products or license types and each would have a separate order or line number and in activation-id in FNOC. entitlement id A FNOC term corresponding to an order, may include a number of products. fulfilment id When an activation is fulfilled, typically by providing the hostid of the host running the software or the hostid of a license server, a license file is generated. Each license file will have a corresponding system generated fulfilment id. partial fulfilment Server and Named User activations may be partially fulfilled. For example an order line (activation id) may specify a quantity of 5 servers. A user needs to provide 5 hostids for the corresponding servers, until all are provided this is a partial fulfilment.