Instalando manualmente os serviços do Magic xpi (3x) ou Magic xpa/uniPaaS

Muitas vezes quando estamos fazendo a passagem do ambiente de desenvolvimento para o de produção, em projetos Magic xpi (iBOLT) ou Magic xpa (uniPaaS), acabamos por esquecer a diferença da forma de ativação (carga) dos mesmos.

Em ‘desenvolvimento’ estamos controlando o início e parada do servidor de aplicação (iBolt = iBoltServer.exe, UniPaaS = uniRTE.exe, Magic xpi = MgxpiServer.EXE e Magic xpa = MgxpaRuntime.EXE) a todo o momento. Já em ambiente de produção, em um projeto de integração Magic xpi ou Magic xpa RIA/EnterpriseServer, o correto é definir este servidor como um “serviço” do sistema operacional, de forma que ele entre em execução imediatamente assim que o SO iniciar e sem intervenção do usuário.

O primeiro ponto de atenção, é que o serviço Magic xpi ou Magic xpa não é realmente o AppServer, mas sim, o AppBroker (uniRQBroker.exe ou MgBroker.exe). O Broker do Magic xpi ou Magic xpa é que será o executável do serviço criado. Quando ele é iniciado, automaticamente carrega o AppServer (iBoltServer.exe ou uniRTE.exe ou MgxpiServer.EXE ou MgxpaRuntime.EXE) conforme as regras do seu próprio arquivo .INI (mgrb.ini, por exemplo). Este AppServer, por sua vez, carrega o projeto (Magic xpi) ou aplicação (Magic xpa) definida no seu arquivo .INI (magic.ini, por exemplo).

É possível realizar esta configuração de forma transparente durante a instalação do produto (Magic xpi ou Magic xpa), através da opção “Install Broker as Service”. Mas e quando não fazemos esta seleção durante a instalação, e desejamos mudar o ambiente para o formato “serviço”?

A primeira opção seria “reinstalar” e selecionar o formato correto. Mas há uma outra opção: a criação manual do serviço.

O MS-Windows (2003, Vista, Win7, 2008) possui um utilitário chamado “sc.exe(Service Controller). Com ele podemos criar, alterar, consultar ou excluir serviços pela linha de comando do Windows.

Para criar um serviço Magic xpi ou Magic xpa (manualmente), o comando seria este:

SC \\{maquina} create {serviço} binPath={brokerEXE} -INI={brokerINI} -SERVICE={serviço}start= auto

{maquina} -> nome da máquina onde será criado o serviço (necessário mesmo que seja na máquina atual)

{serviço} -> nome do serviço Windows que deseja criar

{brokerEXE} -> caminho completo do broker Magic xpi ou Magic xpa

{brokerINI} -> caminho completo do .INI de configuração do broker Magic xpi ou Magic xpa

 

Exemplo: supondo que queremos criar um serviço Magic xpi na máquina “Srv1”, o nome do serviço será “Magic xpi Server”, o Magic xpiestá instalado na pasta “C:\MSE\Magic xpi\3.2sp2” e o .INI de configuração do broker se chamará “mgrb_svc.ini”, teríamos então este comando:

sc \\Srv1 createiBolt Server binPath=c:\mse\ibolt\3.2sp2\unirqbroker.exe -INI=c:\mse\ibolt\3.2sp2\mgrb_svc.ini -SERVICE=iBolt Serverstart= auto

Se quisermos excluir o serviço, o comando seria:

sc \\Srv1 deleteiBolt Server

 

Outro exemplo:

sc \\Srv1 createMagic xpa Broker binPath=c:\mse\xpa\4.8.1\Mgbroker.exe -INI=c:\mse\xpa\4.8.1\mgrb_svc.ini -SERVICE=Magic xpa Brokerstart= auto

 

NOTAS:

  1. Esta dica serve tanto para serviços Magic xpi, quanto Magic xpa
  2. binPath= e auto= são ‘case sensitives’ e deve haver no mínimo um espaço em branco após o ‘=’
  3. Este outro ‘post’ na seção ‘Dicas e Truques dá dicas de como fazer o AppBroker iniciar automaticamente o AppServer
Manoel Frederico - Gerente de Produto e Magic Evangelista
Manoel Frederico – Gerente de Produto e Magic Evangelista

 

Deixe um comentário

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