zheng ling · Jan 25, 2021

web service api consumed license

1) Does web service access consume license? 

2) In web service program, we used a connection pool to reuse the session id, but it doesn’t work, the license consume increased quickly, it seems connection pool didn’t work, do you have any sample to do it?

0 0 1 62


If you have a Business Service that is acting as a Web Service server then every client connection will result in the server process spawning off a sub-process to deal with the incoming client request. The server will also detect where the request has come from (i.e. the client ip address and other CGI variables) and therefore will be able to detect whether the requests are coming from one client or many. If the requests are coming from one client then you will be able to manipulate %session to a certain extent and that client will be able to have a number of simultaneous connections to the server yet consume one 'License' however if there are multiple clients connecting simultaneously then Cache will treat them as individual 'users' and each 'user' will consume a license and depending on the license key you have installed/purchased may result in you running out of licenses. Even if you were able to successfully kill your %session (where each session is viewed as a 'user') there is a grace period of several minutes before the license is released back into the available license pool. 

The reason the system works like this is to prevent applications from supporting more users than the T&C's of your license agreement with InterSystems allows. If this functionality didn't exist then developers would be able to build applications supporting multiusers with a single user license and that would not be good business practice for ISC who license their software based on the number of users that the application is going to support.