Instalando, Configurando e Executando o Magic xpi no Linux CentOS

Instalando, Configurando e Executando o Magic xpi no Linux CentOS

Neste post irei mostrar como realizar a instalação, configuração e execução do Magic xpi (iBOLT) no Linux CentOS 6.0. Apesar de este sistema operacional não estar na lista dos sistemas suportados, conseguiremos instalar e executar incluindo as bibliotecas necessárias para o Magic xpi.

 

Vale ressaltar que:

 

1)      As versões do Magic xpi Server para Linux não acompanham as versões Windows, por exemplo, a versão atual para Windows é a 3.2SP3 e a versão atual para Linux é 3.2 (sem SP algum). Isso é importante para o processo de desenvolvimento/homologação e produção.

 

2)      Nem todos os componentes funcionam em todas as plataformas. Para verificar os componentes disponíveis em cada plataforma clique aqui.

 

 

Parte 1: Instalando e configurando os pré-requisitos

 

Os pré-requisitos para instalar o Magic xpi são: cliente de banco de dados (MySQL ou Oracle) e Java, sendo que o cliente de banco de dados a ser instalado será utilizado para alojar o banco de dados interno do Magic xpi ou para o projeto  que será executado.

 

Caso não seja necessário o Oracle ou o MySQL, pule respectivamente o item “1” ou o item “2”, lembrando que um dos dois terá que ser escolhido.

 

No post utilizaremos o MySQL como banco de dados interno e pelo projeto, já o Oracle será usado somente pelo projeto.

 

1)      Oracle

Acesse http://www.oracle.com/technetwork/topics/linuxsoft-082809.html e baixe os arquivos:

 

a)      oracle-instantclient-basic-10.2.0.5-1.i386.rpm – este pacote contém as bibliotecas básicas de conexão. Rode o comando abaixo para instalar e veja os resultados na tela em seguida:

rpm -ivh oracle-instantclient-basic-10.2.0.5-1.i386.rpm

 

 

b)      oracle-instantclient-sqlplus-10.2.0.5-1.i386.rpm – este pacote contém o sqlplus para realizarmos testes de conexão externamente ao Magic xpi.  Rode o comando abaixo para instalar e veja os resultados na tela em seguida:

rpm -ivh oracle-instantclient-sqlplus-10.2.0.5-1.i386.rpm

 

 

c)       Realizando um teste de conexão.

Veja que para realizar este teste via sqlplus, conforme mostrado abaixo é necessário configurar PATH’s, TNSNAME’s. Veja como fazer isso em http://docs.oracle.com/cd/B19306_01/server.102/b14357/ape.htm

sqlplus USUARIO/SENHA@TNSNAME 

 

2)      MySQL

 

a)      Instalando o unixODBC

Como o MySQL é acessado pelo Magic xpi via ODBC precisaremos primeiramente instalar o unixODBC.

Rode o comando para abaixo para instalar e veja os resultados na tela em seguida:

yum install unixODBC

 

 

b)      Instalando o driver ODBC do MySQL.

Rode o comando abaixo para instalar e veja os resultados na tela em seguida:

yum install mysql-connector-odbc

 

 

c)       Instalando o servidor MySQL

Este passo será executado para que o servidor de MySQL fique alojado na mesma máquina. Caso não seja o seu cenário, você  pode pular este passo, mas lembre-se de testar a conexão do item “d” com os dados do seu servidor MySQL.

Rode o comando abaixo para instalar e veja os resultados na tela em seguida:

yum install mysql-server

 

 

d)      Realizando teste de conexão do MySQL.

Para realizar o teste conforme é mostrado abaixo, é necessário iniciar o MySQL e configurar a senha do root. Veja isso em: http://dev.mysql.com/doc/refman/5.1/en/postinstallation.html

Rode o comando abaixo e veja os resultados na tela em seguida:

mysql -p

 

 

e)      Configurando o acesso do MySQL via ODBC

Edite ou crie o arquivo no caminho /etc/odbc.ini com os dados para acesso do MySQL. Para maiores informações sobre a configuração deste arquivo, veja http://www.unixodbc.com/odbcinst.html. Confira abaixo como ficou:

 

 

f)       Realizando o teste de acesso do MySQL via ODBC

Rode o comando abaixo e veja os resultados na tela em seguida:

isql MySQL-test usuário senha

 

 

3)      Java

 

a)      Instalando o JRE

Precisaremos instalar o JRE. Acesse http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase5-419410.html#jre-1.5.0_04-oth-JPR e baixe o arquivo jre-1_5_0_04-linux-i586-rpm.bin.

Rode os comandos para dar permissão de execução e instalar conforme abaixo e veja os resultados na tela em seguida:

chmod +x jre-1_5_0_04-linux-i586-rpm.bin

 

./jre-1_5_0_04-linux-i586-rpm.bin

 

Após a instalação defina a variável de ambiente JAVA_HOME no script de logon de todos os usuários.

 

Até aqui finalizamos a instalação dos pré-requisitos.

 

 

Parte 2: Instalando o Magic xpi

 

Continuando, agora iremos instalar o Magic xpi no Linux CentOS 6.0. Lembre-se de que a parte 1 deve estar totalmente OK.

 

1)      Criando o usuário

Crie um usuário, como por exemplo “iboltdev” e faça o login com este usuário criado. Neste usuário ficará todo o ambiente do Magic xpi.

A partir deste momento, quando me referir a <usuário do Magic xpi> será o usuário criado neste passo, que no exemplo é igual ao iboltdev. E quando me referir a <diretório raiz do usuário Magic xpi> será o diretório raiz do <usuário do Magic xpi> que no exemplo é /home/iboltdev.

A criação do usuário e a definição de senha foram feitas com os comandos abaixo. Veja os resultados na tela em seguida:

adduser iboltdev

passwd iboltdev

 

2)      Criando a pasta do Magic xpi

Crie uma pasta, como por exemplo, “ibolt3.2”.

A partir deste momento quando me referir a esta pasta colocarei <diretório do iBOLT> que no exemplo é <diretório raiz do usuário iBOLT>/ibolt3.2.

Faça o download do arquivo ibolt_3.2.linux.tar.Z de http://downloads.magicsoftware.com e coloque no <diretório do iBOLT>.

 

3)      Descompactando o arquivo

Entre no <diretório do iBOLT> e rode os comandos para descompactar o arquivo ibolt_3.2.linux.tar.Z conforme abaixo:

gunzip ibolt_3.2.linux.tar.Z

tar xvf ibolt_3.2.linux.tar

 

4)      Rodando o script de instalação

Rode o comando ./ibinstall no <diretório do Magic xpi>.

Neste momento será apresentada uma tela de anúncio do script. Tecle enter.

Posteriormente será feito uma série de perguntas:

 

a)      Nome da máquina ou IP e porta onde ficará o broker (deixe o default)

b)      Nome da máquina onde fica o servidor de licenças do Magic xpi(deixe o default, será manipulado posteriormente)

c)       Nome da feature que será usada (deixe o default)

d)      Banco de dados que será usado como interno do Magic xpi, se Oracle ou MySql (coloque MySql).

e)      Se a resposta da pergunta d for MySql, será solicitado o local que está instalado o unixODBC (coloque /usr/lib)

f)       Se a resposta da pergunta d for Oracle, será solicitada a string de conexão com o Oracle e o diretório raiz do Oracle. Ao instalar o banco de dados interno do Magic xpi no Oracle atente em responder estas questões com informações válidas em seu ambiente e que o seu simples sqlplus consegue conectar.

g)      Alias que será criado no Apache para acesso ao requester do Magic xpi (coloque /scripts)

h)      Local em que fisicamente ficarão os arquivos do requester do Magic xpi (coloque /var/www/scripts)

i)        Local onde ficarão os arquivos de utilitários do Magic xpi, tal como o HTML padrão de erro (coloque /var/www/iboltutils)

 

Ao final, serão apresentados avisos de que não existem os diretórios /var/www/scripts e /var/www/iboltutils. Não se preocupe com isso, pois  trataremos posteriormente. Prossiga na instalação e veja o resultado da tela de execução abaixo:

 

5)      Habilitando o Gateway de acesso ao banco de dados

Agora precisamos habilitar o gateway para acesso ao banco de dados. Edite o arquivo de <diretório do Magic xpi>/etc/mgenv retirando o sinal de sustenido(#) do inicio da linha do gateway que necessitar.

Veja abaixo que o quadrado amarelo foi retirado do gateway para Oracle e o quadrado azul do ODBC para MySQL.

 

 

No caso de utilização do gateway Oracle, serão necessárias mais duas configurações neste arquivo. Retire o sinal de sustenido(#) do início das configurações ORACLE_HOME e ORACLE_SID.

 

Veja abaixo que teremos que apontar o caminho home do Oracle e o SID.

 

 

No caso de utilização do gateway Oracle será necessário editar o script de logon do usuário acrescentando na variável de ambiente LD_LIBRARY_PATH o caminho das bibliotecas do Oracle.

Edite o arquivo .profile, .cshrc, ou .bash_profile, localizado no <diretório raiz do usuário Magic xpi>. Oarquivo a editar depende do shell que usuário estiver fazendo logon. No meu caso é o .bash_profile.

 

Veja abaixo que foi acrescentado o caminho:


 

 

6)      Habilitando o acesso ao JRE

Agora precisamos acrescentar no script de logon do usuário o caminho onde encontram-se as bibliotecas do Java.

Edite o arquivo .profile, .cshrc, ou .bash_profile localizado no <diretório raiz do usuário Magic xpi>. O arquivo a editar depende do shell que usuário estiver fazendo logon. No meu caso é o .bash_profile.

 

Veja abaixo que foi acrescentado o caminho:

 

 

 

7)      Verificando bibliotecas faltantes para o iboltserver

Iremos verificar quais bibliotecas ainda faltam para que o iboltserver execute corretamente.

Faça o logoff e logon com o <usuário do Magic xpi>

Rode o comando abaixo e veja os resultados na tela em seguida:

ldd <diretório do Magic xpi>/bin/iboltserver

Veja que faltam as bibliotecas libexpat.so.0 e libstdc++.so.5

 

8)      Instalando bibliotecas faltantes para o iboltserver

Com o usuário root faça os itens a e b

 

a)      Instalando a libexpat.so.0

Esta biblioteca pode ser encontrada no pacote compat-expat1, então basta instalá-la.

Rode o comando abaixo para fazer a instalação e veja os resultados na tela em seguida:

yum install compat-expat1

 

 

Além disso, teremos que fazer um link simbólico.

Rode o comando abaixo e veja os resultados na tela em seguida:

ln -s /usr/lib/libexpat.so.0 /sbin/libexpat.so.0

 

b)      Instalando a libstdc++.so.5

Esta biblioteca pode ser encontrada no pacote compat-libstdc++-33, então basta instalá-la.

Rode o comando para instala-la conforme abaixo e veja os resultados na tela em seguida:

yum install compat-libstdc++-33

 

 

9)      Checando novamente as bibliotecas para o iboltserver

 

Faça o logoff e logon com o <usuário do Magic xpi>

Rode o comando abaixo e veja os resultados na tela em seguida:

ldd <diretório do Magic xpi>/bin/iboltserver

Veja agora que todas as bibliotecas foram encontradas.

 

10)   Checando as bibliotecas para o gateway do Oracle

Com o <usuário do Magic xpi>, vamos verificar se falta alguma biblioteca para o executável do gateway do Oracle.

Rode o comando conforme abaixo e veja os resultados na tela em seguida:

ldd <diretório do Magic xpi>/bin/mgoracle10

 

Note que todas as bibliotecas foram encontradas.

 

11)   Checando as bibliotecas para o gateway do ODBC

Com o <usuário do Magic xpi>, vamos verificar se falta alguma biblioteca para o executável do gateway do ODBC.

Rode o comando conforme abaixo e veja os resultados na tela em seguida:

ldd <diretório do Magic xpi>/bin/mgodbc

 

Note que falta a biblioteca libodbc.so.1. Resolvemos criando um link simbólico, conforme o comando abaixo. Veja o resultado a seguir:

ln -s /usr/lib/libodbc.so.2.0.0 <diretório do Magic xpi>/lib/libodbc.so.1

Rode novamente o comando conforme abaixo e veja os resultados na tela em seguida:

ldd <diretório do Magic xpi>/bin/mgodbc

 

Veja agora que todas as bibliotecas foram encontradas.

 

Até aqui finalizamos a instalação dos pré-requisitos e do Magic xpi, continuaremos a seguir configurando o Magic xpi.

 

 

Parte 3: Configurando o Magic xpi

 

Agora iremos configurar o Magic xpi no Linux CentOS 6.0. Lembre-se que as partes 1 e 2 devem estar totalmente OK.

 

1)      Configurando o acesso ao Magic xpi via HTTP

Este item é necessário quando se deseja monitorar o Magic xpi com a versão Web Monitor ou se o seu projeto necessita receber chamadas via interface HTTP.

Para realizar este item você deve ter o Apache instalado/configurado e em execução.

 

Com o usuário root precisamos:

 

a)      Criar as pastas faltantes apontadas na parte 2 item “4” deste post. As pastas são /var/www/scripts e /var/www/iboltutils.

Rode os comandos conforme abaixo e veja os resultados na tela em seguida:

mkdir /var/www/scripts

mkdir /var/www/iboltutils

 

 

b)      Rodar o script <diretório do Magic xpi>/sbin/mgroot.sh que irá copiar o requester, e arquivos necessários.

Rode o comando conforme abaixo e veja os resultados na tela em seguida:

<diretório do Magic xpi>/sbin/mgroot.sh



 

 

c)       Definir os diretórios virtuais no Apache do Magic xpi, para isso precisamos copiar o conteúdo do arquivo <diretório do Magic xpi>/web_utils/magic.conf para o arquivo de configuração do Apache e reiniciar o Apache.

Rode os comandos conforme abaixo e veja os resultados na tela em seguida:

cat <diretório do Magic xpi>/web_utils/magic.conf >> /etc/httpd/conf/httpd.conf

service httpd restart

 

 

d)      Ajustar as permissões de execução de bibliotecas

Existem algumas bibliotecas necessárias para o requester do Magic xpi executar que não são encontradas pois o serviço do Apache é executado com outro usuário. Para tanto, vamos copiá-las para o diretório onde as bibliotecas podem ficar compartilhadas com qualquer usuário.

 

Rode os comandos conforme abaixo e veja os resultados na tela em seguida:

cp <diretório do Magic xpi>/lib/libicuio.so.32.0 /usr/lib/libicuio.so.32

cp <diretório do Magic xpi>/lib/libicui18n.so.32.0 /usr/lib/libicui18n.so.32

cp <diretório do Magic xpi>/lib/libicuuc.so.32 /usr/lib/libicuuc.so.32

cp <diretório do Magic xpi>/lib/libicudata.so.32.0 /usr/lib/libicudata.so.32

cp <diretório do Magic xpi>/lib/libeasysoap.so.0.0.0 /usr/lib/libeasysoap.so.0

cp <diretório do Magic xpi>/lib/libssl.so.0.9.8 /usr/lib/libssl.so.0.9.8

cp <diretório do Magic xpi>/lib/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.0.9.8

 

 

e)      Liberar a execução das bibliotecas pelo usuário Apache

Desligue o SELinux configurando o arquivo /etc/selinux/config conforme abaixo e faça o reinício.

 

 

f)       Testar o acesso via HTTP

Faça o teste do acesso via HTTP mesmo o Magic xpi não estando em execução será dado um retorno, podemos usar uma URL de teste como por exemplo:

http://<IP_OU_NomeDaMaquina>/scripts/mgrqcgi018?AppName=TESTE1&PrgName=TESTE2

Lembre de colocar <IP_OU_NomeDaMaquina> com os dados de seu ambiente, veja o resultado:

 

2)      Configurando a licença

 

a)      Coloque sua licença no arquivo <diretório do Magic xpi>/etc/license.dat

 

 

b)      Aponte o arquivo do item “a” no arquivo <diretório do Magic xpi>/etc/IFS.INI no parâmetro LicenseFile, veja abaixo:

 

 

3)      Criando o banco de dados interno do Magic xpi

Para que o Magic xpi funcione é necessário criar o banco de dados interno para ele.

Rode os scripts que estão em <diretório do Magic xpi>/db/mysql quando MySQL e <diretório do Magic xpi>/db/oracle quando Oracle.

Em meu cenário (MySQL) segui as instruções do documento <diretório do Magic xpi>/db/mysql/Readme.txt para criação deste banco.

 

4)      Configurando o acesso ao banco de dados interno do Magic xpi via ODBC

Este item é necessário, pois o cenário apresentado utiliza o banco de dados interno no MySQL e o Magic xpi conecta-se via ODBC

 

a)      Configure o arquivo /etc/odbc.ini conforme abaixo:

 

 

b)      Teste a conexão do ODBC configurado anteriormente conforme comando abaixo e veja os resultados em seguida:

isql iBOLT

 

c)       Configure o arquivo no local em <diretório do Magic xpi>/etc/IFS.INI com os dados configurados e testados nos itens a e b.

 

 

Até aqui finalizamos a instalação dos pré-requisitos e instalação e configuração do Magic xpi.

 

 

Parte 4: Executando um projeto exemplo

 

Continuando a instalação do Magic xpi no Linux CentOS 6.0, agora iremos executar um projeto exemplo. Lembre-se que as partes 1/2/3 devem estar totalmente OK.

 

1)      Sobre o projeto exemplo

Faça o download do projeto exemplo clicando aqui.

O projeto exemplo é bem simples, composto por três fluxos.

 

1º Fluxo:

Fica monitorando uma pasta do projeto “entrada” e movendo para a pasta “saída”;

Grava informações no monitor;

Lê o XML capturado e grava no MySQL e Oracle.

 

Veja abaixo o esquema do fluxo:

 

 

 

2º Fluxo

É executado a cada 30 segundos;

Copia o arquivo Request001.xml para a pasta de entrada com um novo nome.

 

Veja abaixo o esquema do fluxo:

 

 

3º Fluxo

Recebe um Pedido no formato XML via HTTP;

Grava o pedido na pasta entrada com um novo nome;

Gera retorno da chamada HTTP com a informação “Pedido recebido com sucesso . . .”.

 

Veja abaixo o esquema do fluxo:

 

 

 

2)      Gerando o comando de start/stop do projeto exemplo

 

Com o usuário <usuário do Magic xpi>

 

a)      Coloque o projeto na pasta <diretório do Magic xpi>/projects

 

b)       Rode o campo “ibsetup” sem aspas, abrirá uma tela informando que serão gerados os scripts para iniciar e parar o projeto. Tecle enter.

 

 

c)       Duas perguntas surgirão: qual o nome da pasta do projeto e o nome do projeto.

 

 

3)      Preparando o ambiente do projeto

 

a)      Crie as tabelas do projeto em MySQL e Oracle conforme os scripts que estão em <diretório do Magic xpi>/projects/Teste/db/mysql.sql e <diretório do Magic xpi>/projects/Teste/db/oracle.sql

 

b)      Ajuste as variáveis de ambiente de <diretório do Magic xpi>/projects/Teste/IFS.Teste conforme apontado abaixo de acordo com o ambiente que foi rodado os scripts no passo anterior.

 

 

4)      Iniciando o projeto

Para iniciar o projeto é preciso sempre iniciar o Broker primeiramente e para parar o projeto o Broker é parado por último.

 

Segue os comandos necessários para cada ação:

startb = Inicia o broker

stopb = Para o broker

ibstart.<nome do projeto> = Iniciar um projeto, onde <nome do projeto> é o nome do projeto que foi gerado pelo item “3” pelo comando ibsetup.

ibstop.<nome do projeto> = Parar um projeto, onde <nome do projeto> é o nome do projeto que foi gerado pelo item “3” pelo comando ibsetup. Este comando mostrará uma lista e você irá digitar um numero relativo à qual projeto da lista você gostaria de parar.

 

Com o usuário <usuário do Magic xpi>

Inicie o projeto exemplo rodando o comando abaixo e veja os resultados em seguida.

startb

ibstart.Teste

 

 

5)      Monitorando um projeto

Para monitorar um projeto utilize a versão Web Monitor.

 

a)      Acesse http://<nome da maquina ou IP>/scripts/mgrqcgi018?AppName=IFS<nome do projeto>&PrgName=Login, trocando corretamente as informações <nome da maquina ou IP> e <nome do projeto> do endereço informado.

 

b)      Ao acessar o endereço do item “a” será solicitado o usuário e senha. No projeto exemplo o usuário e senha são iguais a “Teste” sem aspas. Veja abaixo o acesso efetuado.

 

 

 

 

6)      Testando os resultados

 

a)      Veja no monitoramento que o 1ª Fluxo foi executado, isto porque na pasta entrada existiam os arquivos Request001.xml, Request002.xml e Request003.xml:

 

b)      Veja que a cada 30 segundos o 2º fluxo é executado:

 

c)       Rodando o 3º Fluxo

Como o terceiro fluxo é ativado por uma trigger HTTP, ajuste a URL do arquivo <diretório do Magic xpi>/projects/Teste/Service/pedido/adicionar.html apontando para http://<Nome da Maquina ou IP>/scripts/mgrqcgi018 no local conforme apontado abaixo:

 

Copie este arquivo para /var/www/iboltutils  e teste o acesso http://<Nome da Maquina ou IP>/IboltUtils/adicionar.html,. Veja abaixo o acesso sendo realizado:

 

 

Agora basta enviar um arquivo como os já existentes (Request001.xml, Request002.xml ou Request003.xml).

 

Verifique sua execução pelo monitoramento:

 

 

CONCLUSÃO:

Após a execução dos procedimentos descritos em todas as partes, constatamos que o Magic xpi executa tranquilamente no sistema operacional Linux CentOS.

Jeronimo Alberto da Costa - Consultor Técnico Magic

Jeronimo Alberto da Costa – Consultor Técnico Magic

 

Novo Comentário