Configurações especiais
Otimizar tempo de execução dos serviços
Para web services, há um recurso para otimizar o tempo de execução dos serviços, quando são executados consecutivamente e pelo mesmo usuário. O recurso possibilita efetuar um único login de usuário, quando o serviço for executado pela primeira vez, e o mantém ativo por determinado período de tempo, e após a execução permite efetuar outros serviços com o mesmo usuário, sem a necessidade de efetuar o login e logoff.
Caso o recurso não for utilizado, a cada nova execução do serviço será efetuado o login de usuário e, após a execução do serviço será efetuado o logoff. Com o recurso ativo, enquanto o tempo determinado não expirar e houver envio de serviços consecutivamente para a mesma instância de serviços para o mesmo usuário, o logoff não será efetuado e o usuário permanecerá ativo.
O objetivo deste recurso é otimizar o tempo de execução dos serviços, pois todos os recursos e permissões do usuário não necessitam ser filtrados novamente para cada execução do serviço, apenas uma vez. Caso o período de tempo determinado for ultrapassado ou algum dos serviços enviados, dentro do período de tempo, for executado por outro usuário, será efetuado o logoff do usuário atual e o novo login será realizado, recomeçando a contagem do tempo.
- O sistema permanece validando o usuário e a senha, independente se o login do usuário continua ativo;
- O recurso deve ser utilizado apenas se houver vários serviços consecutivos sendo executados com o mesmo usuário. Como exemplo, em situações de integrações, onde é comum um aplicativo externo acionar serviços com o mesmo usuário. Serviços que recebem grande massa de dados não se beneficiam plenamente desse recurso, pois o tempo de processamento da massa de dados pode ultrapassar o tempo em que o login do usuário é mantido ativo;
- Quando esse recurso estiver ativo, o usuário é mantido ativo no sistema todo o tempo. O logoff não é efetuado explicitamente após o término do serviço, mas sim quando receber uma nova solicitação para execução de um serviço;
- O tempo de permanência de login ativo deve ser definido na configuração do ambiente, aprimorando-se conforme a necessidade. Não há uma sugestão padrão para o valor, visto ser necessário adequar conforme o ambiente de utilização dos serviços, hardware, número de requisições, tipo de serviço sendo utilizado e massa de dados a ser processada a cada requisição;
- Serviços anônimos forçam o logoff do usuário atual, independente do novo recurso.
A configuração do tempo para realização do login é efetuada em: SeniorConfiCenter > Sistemas > Gestão Empresarial (ERP) > Configurações > Tempo máximo para refazer o login de usuário em Web Services. Esse campo é representado por segundos.
Limite de página e índice de página
Alguns web services possuem dois campos específicos para tratar o limite de página e o índice de página. Segue abaixo informação sobre a funcionalidade deles e também um exemplo de utilização, que vale para qualquer web service que disponibiliza esses parâmetros.
- IndicePagina: este parâmetro determina a partir de qual registro deverá ser retornando a informação na execução do web service. Quando não for informado valor no campo, ou for informado o valor "0" ou "1", serão retornados os registros a partir do primeiro registro encontrado. Este campo não tem a funcionalidade de indicar o código do registro do documento, mas sim a disposição dele no banco de dados. Por exemplo, se for indicado índice 20, não significa que será retornado o pedido 20 ou o cliente 20 (ou qualquer registro de código 20 conforme o web service que estiver sendo utilizado), mas sim a partir do vigésimo registro do banco.
- LimitePagina: nesse parâmetro determina se até qual registro deseja retornar na consulta. Como, por exemplo, no web service de consulta de clientes, ao determinar o valor 20 para o limite de página e no índice de página o valor "0" ou "1", será retornado até o vigésimo registro encontrado na tabela de clientes, independente do código do cliente, ou seja, não necessariamente serão retornados os clientes de código 1 a 20, pois, pode existir casos onde não existe na base o cliente de código 20, então nesse caso será retornado o cliente de código 1 a 19 e o cliente de código 21 (totalizando 20 registros). Desta forma, caso tenha a necessidade de retornar 20 registros, é necessário somar 20 ao índice de página e então atribuir o valor ao limite de página. Quando não informado ou com valor "0", web service exportará no máximo de 100 registros. O resultado matemático da diferença entre o campo LimitePagina e IndicePagina não deve ser maior do que 100, pois esse é o limite de registros que o web service exporta a cada requisição.
Exemplo para buscar 20 registros
LimitePagina: 20
IndicePagina: 0 ou 1
Serão retornados os registros de 1 ao 20.
- Apresentar os próximos 20 registros
LimitePagina: 40
IndicePagina: 21
Serão retornados os registros de 21 ao 40. - Apresentar os próximos 20 registros
LimitePagina: 60
IndicePagina: 41
Serão retornados os registros de 41 ao 60.