Histórico da Página
MDI
Cada MDI aberta do RM, em uma determinada máquina e autenticada com um determinado usuário, representa para o License Server um usuário concorrente. O consumo de licenças se dá de acordo com o Módulo e as Rotinas que vão sendo abertas. Cada módulo possui uma licença específica.
Por exemplo:
Maquina A, usuário Mestre:
Ao ir ao módulo de Folha de Pagamento e abrir o cadastro de funcionário, uma licença do tipo <colocar nome da Licença> será consumida. Ao abrir uma outra rotina do mesmo módulo, a licenças será mostrada no Monitor do License Server, mas não descontará do total de licenças disponíveis, apresentando o status Abonada.
Algumas rotinas de configuração do sistema, por exemplo, Cadastro de Usuário, não consomem nenhuma licença, mas notificam o seu uso ao License Server.
Portal Corpore RM, Novos Portais, Serviços SOAP/REST e APIs
Os portais e serviços expostos pelo Servidor de Aplicação da Linha RM (RM.Host) tem o seu consumo independente de máquina e usuário. O seu consumo é dado por requisição e durante o tempo de vida de cada uma. Eles utilizam uma licença específica, chamada TOTVS I, podendo ser escalada para TOTVS FULL.
Por exemplo:
Portal Corpore RM
Cada abertura de página gera um consumo de licença TOTVS I ou equivalente durante o processamento da página até sua exibição, ou seja, ao clicar no link da rotina, enquanto a página é "desenhada" a licença é consumida no License Server.
Após o término de processamento, a licença é liberada. Isso ocorre o tempo todo durante a navegação no Portal Corpore RM.
Novos Portais, Serviços SOAP/REST e APIs
Um processamento semelhante ao Portal Corpore RM acontece com os novos portais e qualquer outra aplicação que faça consumo de serviços expostos pelo Servidor de Aplicação. Durante o processamento da requisição até a sua resposta, a licença é consumida no License Server. Ao término da requisição, a licença é liberada.
Como as requisições nos portais e webservices tendem a serem muitas existe um mecanismo que reaproveita uma licença consumida durante 30s, desde que as requisições não concorram entre si.
Por exemplo:
Requisição 1 → Consumo L1 → Processamento → Resposta → Liberação L1
A licença liberada, caso ainda tenha algum tempo de vida (limite 30s) é colocada em uma fila para ser reutilizada.
Requisição 2 → Consumo L1 → Processamento → Resposta → Liberação L1
Requisição 3 → Consumo L2 → Processamento → Resposta → Liberação L2
Requisição 4 → Consumo L3 → Processamento → Resposta → Liberação L3