Question
· Jun 30, 2023

Supporting Licensed IPM (ZPM) products

Motive

Am just plain curious about how people may be approaching this area.

The Question

The %SYSTEM.License API wraps an IRIS key that is specific to a range of InterSystems products with

  •  Platform features
  •  Platform behaviors
  •  Expiry date
  •  Capacity / Usage limits

If a company is implementing deployed products that:

  • run on top of IRIS
  • optionally support other vendor IRIS products

For example:

  • a "plug-in" API
  • a knowledge-base

And they have an IPM deployed solution.

To avoid reinventing the wheel, am wondering for commercial vendors, is there a common way to achieve third-party application license checking with IRIS.

Is there / could there be a feature in IPM that:
 * Supports "deployed licensed features" for third-party applications
 * Loads / Registers a license from environment variable or install argument
 * Compatibility with containers

Thanks in advance for thoughts.

Discussion (2)3
Log in or sign up to continue

Thinking it is useful for an IPM repo to provide different "visibility" of "available" deployed modules, depending on the account used to access the IPM server.

This avoids having a separate repo per customer. So one common repo service, where account-permissions to access different modules (and versions) is configured.

Can this work for a subscription business model ie: Once installed the software runs forever. Maybe this is limited to some extent with byte-code being published per IRIS version. So a "subscription" is on the IPM repo by security configuration continuing to enable access to module updates.

In that case the listing / search of modules, might give hints on whether subscription is enabled.

Speculating then a "10 seat / process" license would translate to a specific module byte-code build? To upgrade the "license capacity" is installing a different module version? This has potential to cause service disruption, if only interested in a change in capacity behavior.

Maybe a product would be split into two parts, an IPM "license module" that changes, and an IPM "main software module" that remains unaffected.