BusinessObjects

O blog do Consultor BO

Kill Session – A escopeta do Administrador BO

Olá, pessoal! Fiquei um tempo sem postar no blog, mas estava preparando um post muito interessante, pelo menos para mim foi uma descoberta maravilhosa: um aplicativo web para finalizar sessões no BO. Ai você me pergunta: “poxa, no CMC não dá para fazer isso?”; eu respondo: “Não”. Vou explicar o tamanho do problema que a ausência desse recurso causa para um Administrador BO.

Licenças Concorrentes e Nomeadas

Imagine um estacionamento de uma empresa, no qual tem 300 vagas, sendo 50 privativas de diretores, ou seja, somente eles podem estacionar nas suas respectivas vagas demarcadas. As licenças concorrentes funcionam igualmente as 250 vagas livres, e as nomeadas igualmente as 50 vagas demarcadas.

As licenças nomeadas são associadas ao cadastro do usuário no BO, com isso o usuário nomeado pode efetuar logon na plataforma a qualquer momento, inclusive mais de uma vez (o que a SAP não permite fazer), por diferentes ferramentas e interfaces.

As licenças concorrentes são disputadas pelos usuários, igualmente às vagas do exemplo do estacionamento: se as 250 vagas estiverem ocupadas, o 251º carro só conseguirá entrar nele se um dos carros estacionados sair, liberando uma vaga para ele. No BO é a mesma coisa, licenças concorrentes significam usuários simultâneos. Se eu tenho 250 licenças concorrentes, isso significa que serão 250 usuários logados na plataforma ao mesmo tempo, e se o 251º usuário tentar se logar, ele não irá conseguir.

A vantagem das licenças concorrentes sobre as nomeadas é que as concorrentes conseguem atender muito mais usuários que as nomeadas. No BO não tem limite para cadastro de usuários concorrentes, já as nomeadas têm, que é o número de licenças nomeadas que você tem na sua chave de licença. Em uma empresa os usuários não ficam logados na plataforma o dia todo, normalmente se logam para pegar um relatório ou informação e efetuam logoff logo em seguida. Usando o exemplo do estacionamento, imagine um McDonald’s com vaga para 30 carros, mas quem vai lá não fica mais de 1 hora, então é um estacionamento com alta rotatividade, diferentemente de um estacionamento para os funcionários da empresa, que quem para o carro lá vai ficar em torno de 8 horas.

Num ambiente de muitos usuários ou poucos, o que vai definir o licenciamento entre concorrente ou nomeados é a frequência com que os usuários utilizam o BO, conforme os exemplos dos estacionamentos de empresa e do McDonald’s, mas em ambientes com usuários concorrentes que os problemas de sessões duplicadas no BO começam a dar dor de cabeça para o Administrador BO.

O problema de sessões concorrentes múltiplas ou inativas

KillSession-01

Os problemas típicos de sessões múltiplas ou inativas no BO ocorrem por 3 motivos:

  1. Usuários que fecham o browser para sair do BO sem efetuar logoff;
  2. Usuários que além de fazerem o item 1, efetuam o logon novamente logo em seguida, tendo sessões duplicadas por múltiplo acesso;
  3. Usuários que entram no BO para emitir um relatório, saem para tomar café e se esquecem de efetuar logoff, ficando a sessão aberta até cair por timeout.

Infelizmente, o BO não fornece interface para derrubar sessões, nem no CMC nem em lugar nenhum. Se um usuário concorrente efetuar logon no BO umas 5 vezes, o Administrador não poderá fazer nada para derrubar essas sessões múltiplas (sim, ele pode fazer: baixar e subir o SIA, mas isso não vale, é ser bruto demais). Aí essas sessões múltiplas vão consumindo o número de licenças concorrentes, pois o BO controla por sessão, e não por usuário, ou seja, se tenho 10 licenças concorrentes e efetuo logon 10 vezes com o mesmo usuário, as 10 licenças serão consumidas e ninguém mais conseguirá se logar no BO.

Um ponto que eu não sabia era que o SDK do BO fornece suporte para manipular sessões, e com isso podemos montar uma interface para matar sessões do BO. E é assim que essa aplicação web, apresentada a seguir, foi criada.

Kill Session Web App

Pesquisando sobre o assunto no SDN encontrei esse app feito com o SDK do BO. Tem também alguns documentos que explicam como fazer. Acredito que esse Kill Session foi feito para a versão 3.1, mas testei na versão 4.0 e também funciona. Não testei na versão 4.1, mas acredito que irá funcionar também. O código é bem simples.

Abaixo alguns links do SAP Knowledge Base Article (KBA) sobre o assunto:
1834664 – How to kill session using Java SDK in BusinessObjects Business Intelligence platform 4.0
1886165 – How to terminate user session manually in XI 3.1 and BI 4.0

Se você não tem um s-user da SAP para ver essas notas, clique aqui para fazer o download do arquivo TerminateSessions.zip. Se eventualmente esse link da SAP estiver quebrado, segue o link para o TerminateSessions.zip armazenado no blog.

Instalando o Kill Session

Os passos que vou descrever são os mesmos que estão nas notas do KBA citadas acima:

Instalação no BO 4.0:

  1. Descompacte o arquivo TerminateSessions.zip;
  2. Pare o serviço do Tomcat;
  3. Faça um backup da pasta “webapp” localizada em “:\Program Files (x86)\SAP BusinessObjects\Tomcat6\webapps”;
  4. Copie a pasta “KillSession” (do arquivo descompactado no passo 1) para a pasta “:\Program Files (x86)\SAP BusinessObjects\Tomcat6\webapps”;
  5. Copie o conteúdo da pasta “:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\java\lib” para a pasta “:\Program Files (x86)\SAP BusinessObjects\Tomcat6\webapps\KillSession\WEB-INF\lib”;
  6. Copie o conteúdo da pasta “:\Program Files (x86)\SAP BusinessObjects\Tomcat6\webapps\BOE\WEB-INF\lib” para a pasta “:\Program Files (x86)\SAP BusinessObjects\Tomcat6\webapps\KillSession\WEB-INF\lib”. Sobrescreva tudo;
  7. Copie o conteúdo da pasta “:\Program Files (x86)\SAP BusinessObjects\Tomcat6\webapps\BOE\WEB-INF\classes” para a pasta “:\Program Files (x86)\SAP BusinessObjects\Tomcat6\webapps\KillSession\WEB-INF\classes”;
  8. Inicie o serviço do Tomcat. Espere alguns minutos para o Tomcat terminar a inicialização por completo;
  9. Use a URL seguinte para acessar: http://:8080/KillSession;
  10. Efetue logon como administrador, usando a autenticação Enterprise;

Instalação BO 3.1:

  1. Descompacte o arquivo TerminateSessions.zip;
  2. Pare o serviço do Tomcat;
  3. Faça um backup da pasta “webapp” localizada em “:\Program Files\BusinessObjects\Tomcat55\webapps”;
  4. Copie a pasta “KillSession” (do arquivo descompactado no passo 1) para a pasta “:\Program Files\BusinessObjects\Tomcat55\webapps”;
  5. Copie o conteúdo da pasta “\Program Files\Business Objects\Tomcat55\webapps\CmcAppActions\WEB-INF\lib” para a pasta “:\Program Files\BusinessObjects\Tomcat55\webapps\KillSession\WEB-INF\lib”;
  6. Inicie o serviço do Tomcat. Espere alguns minutos para o Tomcat terminar a inicialização por completo;
  7. Use a URL seguinte para acessar: http://:8080/KillSession;
  8. Efetue logon como administrador, usando a autenticação Enterprise;

Utilizando o Kill Session

Abaixo, as telas da aplicação. Apesar de não ter tratamento visual algum, tem tudo que é necessário.

KillSession-02

KillSession-03

KillSession-04

 

E ao fim de escrever esse post eu recebi a noticia que esse recurso foi implementado no SP3 do BO 4.1.

KillSession-05

Até que enfim SAP!!!

, , , , , , , ,

2 thoughts on “Kill Session – A escopeta do Administrador BO

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *