FAQs Técnicas sobre o Magic xpi

Estas são algumas das questões mais frequentes que se tem observado a respeito do Magic xpi (iBOLT).

Seguem algumas respostas que talvez possam ajudá-los a compreender melhor o ambiente de funcionamento da Suíte Magic xpi:

 

P: Porque eu paro o serviço do Magic xpi, mas ele continua executando?

R: O serviço, ex: “Magix xpi3.2 Service”, é do Magic xpi Broker (uniRQBroker.exe) e não do Magic xpi Server (iBoltServer.exe). Quando o Broker é finalizado, ele envia uma notificação para o Server, para que este finalize também. Mas se por algum motivo a notificação não chegar até o Server, este permanecerá executando. Por isso, após a parada do serviço (Broker), o correto é conferir na lista de processos (Gerenciador de Tarefas) se o Server parou também. Se não parou, ele deve ser finalizado (process kill).

 

P: Se o serviço é do Magic xpi Broker, porque o Magic xpi Server começa a rodar quando o serviço é iniciado?

R: O Magic xpi Broker é gerenciado por um arquivo .INI, normalmente mgrb.ini. Neste arquivo existe uma seção chamada [APPLICATIONS_LIST] onde são relacionados todos os Magix xpi Servers que deve ser iniciados automaticamente. Todos os projetos Magic xpi que precisem ser iniciados junto com o serviço, devem ser registrados aqui. Consulte mais no DevNET do Magic xpi.

 

P: Porque às vezes eu paro e reinicio o Magic xpi, e depois de um tempo ele pára de funcionar?

R: Como dito anteriormente, o Broker pode ser finalizado e o Server não. Este Server continua ativo e consumindo as licenças. Se o serviço for iniciado novamente, sem a devida verificação de que o Server anterior foi finalizado, haverá então dois Servers no ar (simultaneamente). Este novo Server que iniciou vai querer consumir as mesmas licenças e por isso, haverá um conflito que fará com que todos os Servers envolvidos no problema sejam automaticamente finalizados.

 

P: Onde que eu posso ver que isto está ocorrendo?

R: Na pasta %ibolt%logs haverá um arquivo chamado: <Nome_do_Projeto>_error.log. Estas ocorrências ficam todas registradas nele.

 

P: Eu abri o Magic xpi Studio, fechei, iniciei o serviço Magic xpi e ele dá erro de porta ocupada e não executa. Por quê?

R: O Magic xpi Studio requer a presença de um Magic xpi Broker ativo. Se não houver, ele mesmo (Magic xpi Studio) inicia um e aguarda até que fique on-line. Quando o Magic xpi Studio é fechado, este Broker permanece ativo e por isso, alocando a porta tcp. Quando o serviço é iniciado, um novo Broker será instanciado e não conseguirá subir, porque a porta tcp que ele quer usar já está ocupada. Não se recomenda usar Studio no mesmo ambiente (máquina) onde está o serviço de produção. Mas se for realmente necessário, é preciso tomar estes cuidados: parar o conjunto do serviço (uniRQBroker.exe & iBOLTServer.exe) completamente antes de abrir o Studio, e parar o conjunto do Studio (iBOLTStudio.exe & uniRQBroker.exe) completamente antes de iniciar o serviço.

 

P: Eu parei o serviço corretamente, e quando abro o Studio, o Server começa a rodar. Por quê?

R: O Magic xpi Studio requer a presença de um Magic xpi Broker ativo. Se não houver, ele mesmo (Magic xpi Studio) inicia um e aguarda até que fique on-line. Quando o Broker inicia ele lê seu arquivo .INI de configuração e inicia os Servers listados na seção [APPLICATIONS_LIST]. Por isso, a abertura do Studio pode fazer com que Servers iniciem a executar. Não se recomenda usar Studio no mesmo ambiente (máquina) onde está o serviço de produção. Mas se for realmente necessário, é conveniente criar um segundo arquivo .INI para o serviço Broker, ex: mgrb_service.ini, e somente neste arquivo devem ser registrados os Servers na seção [APPLICATIONS_LIST]. Para alterar o arquivo .INI que o serviço do Magic xpi Broker utiliza é preciso editar o Registro do Windows: chave = HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\<nome do serviço Magic xpi>, configuração = ImagePath

 

P: Eu iniciei o Magic xpi e ocorre a mensagem de erro: “System Date is Incorrect”. Por quê?

R: O uso de licenças não definitivas, onde a data de expiração é diferente de 01-jan-0, faz com que qualquer produto da Suíte Magic xpi (Studio, Server ou Monitor) não inicie se houver algum arquivo no disco com data de acesso/criação maior que a data corrente do sistema operacional. É preciso localizar estes arquivos e corrigir estas datas. Ou usar uma licença definitiva.

 

P: Eu iniciei o projeto Magic xpi mas ele sai do ar uma vez por dia. Por quê?

R: O uso de licenças não produção (IBNPSRV) é voltado apenas para ambientes de testes e desenvolvimentos, e ela possui um controle interno que deixa o Server no ar por no máximo 24h. Em ambientes de produção esta licença não deve ser utilizada.

 

P: Eu fiz o Debug do projeto e quando o coloco no ar, não executa corretamente. Por quê?

R: O ato de fazer ‘debug’ de um fluxo pelo Studio gera uma versão especial do projeto apenas para este fim. Após finalizar um ‘debug’ é preciso sempre realizar o ‘Rebuild’ do projeto, para que seja criada a versão de produção. Não se recomenda usar Studio no mesmo ambiente (máquina) onde está o serviço de produção. Mas se for realmente necessário, é preciso cuidar para que o Server (iBoltServer.exe) não esteja executando no momento em que o ‘Rebuild’ é realizado.

 

P: Eu fiz o projeto e testei, e tudo ficou como o desejado. Mas quando instalo na produção e inicio o serviço, não funciona corretamente. Por quê?

R: Muitos podem ser os motivos, dignos de investigação. Mas um que ocorre com frequência á a diferença de contexto de execução. Os serviços são instalados normalmente para executar com o usuário ‘LocalSystem’, que pode ter acesso limitado a alguns recursos que o projeto necessita, como internet ou pastas de rede por exemplo. Por isso, certifique-se que o usuário que vai executar o serviço possui os mesmos direitos de acesso que o usuário usado no desenvolvimento e testes. Você também pode alterar o usuário de logOn do serviço, se desejar.

 

P: O projeto parou de funcionar e olhando os arquivos da pasta %ibolt%logs, há mensagens de erro no acesso ao ifs_actlog. O que isso quer dizer?

R: Aqui também pode haver diversas razões para isso, mas o que ocorre com frequência é o excesso de registros nesta tabela. Ela contém os dados apresentados no Magic xpi Monitor e dependendo do tipo de projeto em execução, pode chegar a milhões de registros em poucos dias. Aí, o banco de dados não consegue responder corretamente as consultas feitas nela. Você pode desligar a alimentação desta tabela, em produção, ou limitar a quantidade de informações geradas. Ou também fazer manutenção periódica em seu conteúdo, eliminando seus dados mais antigos. Consulte mais no DevNET Magic xpi.

 

P: O projeto está dentro das regras, mas a performance final não é a que eu esperava. O que pode estar ocorrendo?

R: Os motivos também podem ser vários, mas o que acontece bastante é a não consideração das características do ambiente de produção. Ao se desenhar um projeto Magic xpi é preciso, entre outras coisas, levar em consideração a quantidade de filas que a licença de produção irá ter. O Magic xpi é dimensionado por capacidade de processamento (filas na licença). O excesso de paralelismo colocado no projeto (agendamentos, chamadas paralelas, triggers, AutoStart/AutoRepeat) pode demandar uma quantidade de filas (threads) que simplesmente não estarão disponíveis na produção. Quando se sabe que a produção vai possuir uma quantidade menor de filas na licença, é preciso pensar os fluxos de integração de forma mais ‘linear’.

 

P: Sou desenvolvedor Magic xpa (uniPaaS), Java ou .NET. Porque eu optaria por usar o Magic xpi em meus projetos de integração e automação?

R: O Magic xpi é um servidor construído sobre a tecnologia Magic xpa Enterprise, totalmente conectável ao Java, .NET, COM, HTTP e SOAP.

Para os desenvolvedores Magic xpa, ele é um Magic xpa Server já moldado para as tarefas de integração e automação, contendo um Studio Gráfico orientado a processos e regras de negócio e uma vasta biblioteca de componentes especializados para automação e conectividade (bancos de dados, Java, .NET, COM, SOAP, Xml, Flat Files, SAP R/3, SAP A/1, SAP B1, Google Docs, Dyamics CRM, JDE, SharePoint, Lotus Notes, e muito mais). Além de tudo isso, ele permite a utilização de regras de negócio já existentes e encapsuladas em componentes Magic xpa. Você pode fazer a sua integração com Magic xpa, mas no Magic xpi ela já está quase pronta!

Para os desenvolvedores Java e .NET, além dos benefícios listados acima, o Studio orientado a processos do Magic xpi possibilita uma facilidade e rapidez no desenvolvimento que dificilmente será encontrada nestas outras ferramentas. Os componentes da biblioteca abstraem toda a complexidade das APIs dos diversos sistemas que o Magic xpi permite conectividade direta. Além de tudo isso, ele permite a utilização de regras de negócio já existentes e encapsuladas em classes Java ou .NET. E neste caso também, você pode fazer a sua integração com outra tecnologia, mas no Magic xpi ela já está quase pronta!

Manoel Frederico Silva – Gerente de Produto e Evangelista de Tecnologia – Magic Brasil
Manoel Frederico Silva – Gerente de Produto e Evangelista de Tecnologia – Magic Brasil

Deixe um comentário

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