Do You Really Need a License Manager? Or can you use an Activation Server as a License Manager?
In certain circumstances, you could use an Activation Server as a license manager.
This would be the case for very simple, straightforward node-locked licensing. For example, an app that runs on a phone or a tablet (or a simple application that runs on the desktop). Instead of integrating a license manager, you add a call to activate the license, and the activation server performs the initial activation on the first request, and verifies that the license is activated on subsequent requests.
Advantages:
- You avoid the cost of a license manager.
- The code is easier to integrate
- The software footprint in your code is smaller
Disadvantages:
- Your application must contact the activation server on every invocation.
- The licensing models supported are quite simple – nodelocked, uncounted only
How would this work?
Let’s put aside the issue of how the activation keys are created in the first place. There are a variety of ways this is accomplished, depending on your business rules.
When your application runs, you do the following:
- determine some unique charactistic of the device or computer. If it is a phone, this might be as simple as the phone number or the device’s ethernet MAC address.
- your software presents the activation key and the device id to the activation server and receive the status:
- Not Activated previously -> the server records the device ID, and returns a success status.
- Activated previously from this device -> the server returns a success status.
- If the key was activated from another device, the status would be “key already used”.
It’s really as simple as that. There is a single web services call to perform the initial activation and checks status later.