Instalando, Configurando e Executando o Magic xpi no Linux CentOS – Parte 1

(agora com GigaSpaces)

image000

Neste post vamos realizar a instalação, configuração e execução do Magic xpi 4.1 no Linux CentOS 5.9.

Vale ressaltar que:

  • As versões do Magic xpi Server para Linux normalmente são liberadas posteriormente às versões para Windows. Isso é importante para o processo de desenvolvimento/homologação e produção.
  • Nem todos os componentes são compatíveis para todas as plataformas. Para verificar os componentes disponíveis em cada plataforma clique aqui.
  • O Magic xpi suporta Linux da plataforma Intel somente.

Pré-requisitos

Os pré-requisitos para instalar o Magic xpi são:

No cenário do post utilizaremos:

  • Bancos de dados Oracle e MySQL, caso deseja ajuda em como instalar estes itens veja neste post os itens “1) Oracle” e “2) MySQL“.
  • O Java será instalado mediante o download e execução do arquivo jdk-6u43-linux-i586-rpm.bin deste link, caso deseja ajuda em executar e instalar este item acompanhe neste post o item “3) Java”.

Instalando o Magic xpi

Criando o usuário

Crie um usuário, por exemplo, “magicxpi” 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, 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/magicxpi.

A criação do usuário e a definição de senha foram feitas com os comandos abaixo e ilustrado a seguir:

adduser magicxpi
passwd magicxpi

image001

 

Criando a pasta do Magic xpi

Faça o login com o usuário criado no passo anterior e crie uma pasta, por exemplo, “magicxpi4.1”.

A partir deste momento quando me referir a esta pasta colocarei <diretório do Magic xpi> que no exemplo é <diretório raiz do usuário Magic xpi>/magicxpa4.1.

Faça o download do arquivo magicxpi_4.1.linux.tar.gz de http://downloads.magicsoftware.com e coloque no <diretório do Magic xpi>.

Descompactando o arquivo

Entre no <diretório do Magic xpi> e rode os comandos para descompactar o arquivo magicxpi_4.1.linux.tar.gz conforme abaixo:

gunzip magicxpi_4.1.linux.tar.gz
tar xvf magicxpi_4.1.linux.tar

Rodando o script de instalação

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

Ao rodar o comando será apresentada uma tela de anúncio do script. Tecle enter.

Posteriormente será feito uma série de perguntas:

  1. Diretório de instalação do JDK (coloque o caminho instalado o JDK feito anteriormente acredito que esteja no mesmo caminho que este ambiente /usr/java/jdk1.6.0_43)
  2. Banco de dados que será usado como interno do Magic xpi, se Oracle ou MySql (coloque MySql).
  3. Se a resposta da pergunta b for MySql, será solicitado o local que está instalado o unixODBC (coloque /usr/lib)
  4. Se a resposta da pergunta b for Oracle, será solicitada a string de conexão com o Oracle e o diretório raiz do Oracle.

Veja o resultado da tela de execução abaixo:

image002

Nota: Atente para responder conforme o seu ambiente corretamente

 

Habilitando o Gateway de 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:

image003

Nota: Para usar o Oracle 11 basta mudar no final da linha de 10 para 11

Utilizando o 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:

image004

Edite 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>, o arquivo a editar depende do shell que usuário estiver fazendo logon, no nosso caso é o .bash_profile, veja abaixo que foi acrescentado o caminho:

image005

Habilitando o acesso ao JRE

Acrescente no script de logon do usuário, o caminho onde se encontram 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 nosso caso é o .bash_profile, veja abaixo que foi acrescentado o caminho:

image006

Verificando bibliotecas faltantes para o Magic xpi Server

Iremos verificar quais bibliotecas ainda faltam para que o Magic xpi Server 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/mgxpiserver

image007

Note que todas as bibliotecas foram encontradas.

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

image008

Nota: Se estiver usando Oracle 11 é só mudar de 10 para 11 no fim do comando

Note que todas as bibliotecas foram encontradas.

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

image009

Note 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.

Configurando o Magic xpi

Agora iremos configurar o Magic xpi. Lembre-se que as partes anteriores devem estar totalmente OK.

Configurando a licença

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

image010

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 nosso cenário (MySQL) seguimos as instruções do documento <diretório do Magic xpi>/db/mysql/readme.txt. Para criação deste banco apenas mudemos os scripts para criar um usuário e banco MAGICXPI com permissão de acesso de qualquer host.

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.

  • Configure o arquivo /etc/odbc.ini conforme abaixo:

image011

Nota: A alteração deste arquivo só é possível pelo usuário root

  • Teste a conexão do ODBC configurado anteriormente conforme comando abaixo e veja os resultados em seguida, note que após a conexão foi verificado as tabelas existentes no MySQL:
isql MAGICXPI

image012

  • Configure o arquivo no local em <diretório do Magic xpi> /etc/MAGICXPI.INI com os dados configurados e testados nos itens acima:

image013

 

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

Executando um projeto exemplo

Continuando agora iremos executar um projeto exemplo. Lembre-se que as partes anteriores devem estar totalmente OK.

Iniciando o GigaSpace

Acesse a pasta <diretório do Magic xpi>/gigaspaces/bin e execute o comando ./magicxpi-gs-agent.sh.  (deixe esse terminal aberto com essa tela).

Você pode verificar se o GigaSpace subiu corretamente via Xterminal executando o comando de <diretório do Magic xpi>/gigaspaces/bin/magicxpi-gs-ui.sh, veja:

image014

Iniciando o Magic Enterprise Monitor

Abra um novo terminal e execute <diretório do Magic xpi>/sbin/runDisplayServer.sh, verifique se foi iniciado, veja:

Nota: Para parar o Magic Enterprise Monitor basta executar o comando <diretório do Magic xpi>/sbin/stopTomcat.sh

Agora é possível abrir o Monitor via Browser com endereço:

http://<Nome ou IP>:8068/magicmonitor/panels.jsp

Veja:

image016

Realizar o login (default: username=admin e password=changeit)

image017-A

 

Nota: Para maiores informações sobre este monitor veja essa seção “Monitoramento de Projetos Magic xpi – Magic Sem Segredos – S02E01” e/ou esse post no blog

Sobre o projeto exemplo

Faça o download do projeto exemplo clicando aqui. Este projeto exemplo é bem simples, composto por três fluxos sendo que o 3ª será testado somente na 2ª parte deste post onde iremos configurar e executar o Requester HTTP.

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.

image018

2º Fluxo

É executado a cada 30 segundos;

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

image019

Gerando o comando de start/stop do projeto exemplo

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

  1. Coloque o projeto na pasta <diretório do Magic xpi>/projects
  2. Rode o comando “mgxpisetup(sem aspas),  e abrir-se-á uma tela informando que serão gerados o IFS.INI, start.xml e os scripts para iniciar e parar o projeto. Tecle enter.

image020

  1. Surgirá uma pergunta, qual o nome da pasta do projeto, digite Teste e tecle enter.

image021

Preparando o ambiente do projeto

  1. 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. Lembre-se que a conexão do Magic xpi ao banco MySQL deve ser feita via ODBC.
  2. Ajuste as variáveis de ambiente de <diretório do Magic xpi>/projects/Teste/IFS.INI conforme apontado abaixo de acordo com o ambiente que foi rodado os scripts no passo anterior.

image022

Iniciando o projeto

Para iniciar o projeto é preciso sempre iniciar o GigaSpace e o mesmo deve estar intacto conforme feito anteriormente.

Segue os comandos de start/stop do projeto:

<diretório do Magic xpi>/sbin/mgxpistart.<nome do projeto> = Iniciar um projeto, onde <nome do projeto> é o nome do projeto que foi gerado anteriormente pelo comando mgxpisetup.

<diretório do Magic xpi>/sbin/mgxpistop.<nome do projeto> = Parar um projeto, onde <nome do projeto> é o nome do projeto que foi gerado anteriormente pelo comando mgxpisetup.

Com o usuário <usuário do Magic xpi>, inicie o projeto exemplo rodando o comando abaixo:

mgxpistart.Teste

Monitorando um projeto

Para monitor o projeto além do Magic Enterprise Monitor mostrado anteriormente podemos instalar um Magic xpi Monitor em uma máquina Windows:

image023

Apontando para o mesmo banco de dados utilizado no Magic xpi Server no Linux:

image024

No nosso cenário foi usado MySQL.

Apontar o ODBC MySQL ou dados de conexão ao Oracle:

image025

image026

Copie o projeto exemplo para pasta projects do home desta instalação.

Monitorar o projeto.

image027-A

Verificar que os fluxos 1 e 2 foram executados, veja:

image028

image029

Instalando e Configurando a Interface “SOAP”

Todo acesso via webServices SOAP, seja consumindo ou provendo os serviços, é disponibilizado através do framework SystInet (WSO2 SESJ).

WSO2 SESJ

Ele requer uma instalação à parte, para execução em cooperação com o Magic xpi Server.

É uma tarefa simples, e que já foi inclusive publicada aqui mesmo no Blog.

Consulte este post: “Ambiente Distribuído usando o WSO2 e Magic xpi” sobre como instalar e configurar o SystInet no Linux.

Instalando e Configurando a Interface “HTTP”

Todo acesso via web HTTP, para serviços providos pelo Magic xpi, é disponibilizado através do Apache TomCat nesta versão 4.x for Linux.

Sua instalação e configuração será detalhada na continuação deste post, a “Parte 2“.

Aguardem!

Até a próxima,

Jerônimo Alberto da Costa - Senior Analist / Senior Developer / Project Designer - Magic Software Brasil
Jerônimo Alberto da Costa – Senior Integration Designer / Linux Master – Magic Software Brasil

Para receber os artigos do Blog Magic Brasil em primeira mão no seu email, registre-se aqui

Deixe um comentário

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