You're viewing documentation for release 6 (LTS). Looking for a different release?

Licensing web and SaaS applications

Web and Software-as-a-Service (SaaS) applications operate entirely in the cloud and are accessed by users directly through a web browser. When implementing licensing for web and SaaS deployments, you can easily control access based on user seats, use count, or use time, providing a seamless experience while protecting your software.

10Duke Enterprise licensing solutions for web and SaaS applications

A web or SaaS application is used interactively by a person, so each user signs in through the 10Duke Login Application before consuming a license. The exact authentication flow depends on your application architecture:

Once the user signs in, your application handles the token exchange and calls the 10Duke License Consumption API to verify that the user has a valid license. Because SaaS applications run on always-on cloud servers, these are direct backend-to-backend authorization calls made in real time.

The check runs against your configured license model, which restricts consumption based on a single credit type: seat count, use count, or use time. Choose the model that matches your billing structure.

Seat-based licensing (named user or concurrent)

Use a seat to control how many users can access the application. On its own, this caps the total number of seats consumed at once—which, in a concurrent model, is the limit on simultaneous active sessions across your organization.

Count-based metered licensing

Choose count-based metered licensing to restrict or track discrete actions, such as report exports, data-processing tasks, or AI feature triggers.

Time-based metered licensing

Choose time-based metered licensing to enforce cumulative active-session time across user accounts.

Combine seat access with consumption metering

If you need to license seat access separately from metering consumption, for example, giving a user a seat while also billing for report exports, create two separate product packages, each containing its own licensed item and license model.

Offline and on-premises deployments

Standard web and SaaS applications depend on a live connection between the user’s browser, your servers, and 10Duke Enterprise, so the offline license checkout and token workflows used by desktop, mobile, and device applications do not apply to a cloud SaaS deployment.

If an enterprise customer needs your software to run in a fully offline, private-cloud, or on-premises environment, the deployment shifts from a SaaS model to a self-hosted server model. For those scenarios, see licensing in virtualized environments.

Implement web and SaaS licensing

To implement web and SaaS licensing in 10Duke Enterprise, connect your application to the 10Duke License Consumption API with direct REST API calls.

If a consumption request exceeds the configured limits, the License Consumption API returns a specific error code, for example, licenseQuotaExceeded (no seats available), licenseAssignmentMissing (a named-seat model where the user has no seat assignment), maxConcurrentSessionsExceed, maxUseCountExceed, or maxAggregateUseTimeExceed, depending on the constraint applied. See error codes for the full list your application should handle.

For detailed instructions on configuring custom rules and tracking modes in 10Duke SysAdmin, see defining settings for custom license models.

See more