Sessões de usuários

O Engine possui um runtime JavaScript que permite a construção de aplicativos e APIs utilizando essa linguagem de programação. Um mesmo processo do Engine permite a execução concorrente de códigos JavaScript por meio da criação de contextos de execução isolados, os quais são chamados de sessões JavaScript no sistema.

Normalmente as sessões JavaScript são reutilizadas, pois elas podem requerer uma quantidade significativa de memória do servidor. No entanto, interfaces mais ricas, que preservem o estado completo de execução no servidor, podem necessitar que a sessão criada pelo usuário seja isolada das demais. Esse é caso da interface web padrão do sistema, construída utilizando o Web Framework. Sessões que não preservam estado de execução e são reutilizadas são chamadas de Stateless, enquanto as sessões que precisam ser preservadas em memória são chamadas de Stateful. Sessões Stateful normalmente são associadas a usuários e por esse motivo também são frequentemente chamadas de sessões de usuários.

A seguir são apresentadas as interfaces disponíveis no sistema para realizar o monitoramento da criação e utilização das sessões JavaScript.

Manage

Na interface Manage do Engine, há a opção “Sessions” onde é possível visualizar todas as sessões JavaScript criadas em um Engine. Essa interface exibe informações em tempo real, mas elas são restritas ao Engine acessado.

Os detalhes apresentados nesta interface são técnicos e o seu uso é mais voltado para os desenvolvedores. A associação da sessão JavaScript a um aplicativo ou uma API HTTP é realizada de forma indireta por meio da propriedade realm.

Realms identificam o pool de sessões utilizado por um aplicativo ou por uma API HTTP. Eles são configurados no diretório “/Configuração/Realms” da Virtual File System e são associados a um aplicativo por meio da propriedade ModelDef.prototype.realm em um script x-class ou x-model, ou a uma API HTTP pela propriedade RouteSet.prototype.realm.

Processo Sessões de aplicativos

Caminho: Admin > Monitoramento > Sessões de aplicativos.

Este processo exibe as informações das sessões JavaScript associadas aos Aplicativos cadastrados, como a interface web padrão do sistema.

Diferentemente do Manage, são exibidas as informações das sessões JavaScript de todos os Engines configurados em uma base de dados, permitindo uma visão global do uso do sistema. As informações apresentadas são atualizadas pelos Engines na base de dados a cada 60 segundos, portanto podem estar brevemente desatualizadas. O Manage de um Engine específico deve ser utilizado caso informações em tempo real sejam necessárias.

Operações

Descartar a sessão de um usuário

A sessão de um usuário pode ser descartada por meio do botão “Descartar a sessão”. Para isso, selecione as sessões que devem ser descartadas, clique no botão e informe um motivo para essa operação estar sendo realizada.

O descarte não é realizado de forma imediada e o usuário afetado receberá um alerta com o motivo da sessão dele estar sendo finalizada. Ele terá até 5 minutos para encerrar o sistema.