Revisão: 2015-01-15
Nas soluções Magic xpa e Magic xpi, toda a interface com webServices SOAP é realizada com o auxílio de um framework adicional (de terceiros), chamado Systlnet (popular SSJ).
O Magic xpa até tem uma solução alternativa (veja aqui), mas ela é mais limitada e não oferece vários dos recursos presentes no SSJ, como acessar webServices via protocolo HTTPS.
O SSJ é instalado/configurado automaticamente pelo mesmo instalador do Magic, desde que você assinale a opção “Web Services FrameWork”, e que a variável %WASP_HOME% do sistema operacional não exista:
Mas, você pode querer (ou precisar) fazer esta instalação/configuração manualmente. E é sobre isso que falaremos a partir de agora.
O SSJ foi adotado a partir do eDeveloper 10 e do iBOLT 3.0.
Até o uniPaaS 1.9e e iBOLT 3.2sp1b, o SSJ instalado era o 6.5.2. A partir do uniPaaS 1.9g e iBOLT 3.2sp2, o SSJ utilizado é o 6.6, incluindo as atuais versões de Magic xpa e Magic xpi.
Os pacotes de instalação do SSJ são disponibilizados dentro de um único arquivo .JAR.
Você pode baixá-los deste endereço:
SSJ 6.5.2 = systinet-server-java-6.5.2.jar
SSJ 6.6 = wso2-soa-enablement-server-java-6.6.jar
O SSJ é um framework Java. Por isso, é necessário ter o Java Development Kit ( JDK ) e o Java Runtime Environment ( JRE ) na mesma máquina onde ele será instalado.
O SSJ 6.5.2 exige o Java 5 (1.5.0_04 ou +). Já o SSJ 6.6, o Java 6 (1.6.0_21 ou +). O JDK/JRE pode ser obtido a partir do site da Oracle. Mas também estão disponíveis aqui:
Nota: mesmo no Windows 64 bits, você necessita instalar o Java 32 bits.
Uma vez que instalamos o JDK (e também o JRE), duas variáveis do sistema operacional precisam ser corretamente configuradas: JAVA_HOME = pasta onde o JDK foi instalado:
PATH = Deve ter o caminho %JAVA_HOME%\bin incluído em sua lista:
Para conferir se a instalação ficou correta, e qual a versão do Java está disponível, você pode executar os comandos: Java – version e JavaC – version:
Além do SSJ e do Java (JDK/JRE), também é necessário ter os scripts de instalação.
Eles são arquivos de texto (.TXT) e estão disponíveis nestes endereços:
De posse de todos os pré-requisitos (Java + SSJ + Script), vamos então ao trabalho.
A partir de agora, estaremos falando apenas do SSJ 6.6. Mas para o SSJ 6.5.2, é exatamente a mesma coisa.
Instalando
Copie o pacote do SSJ (arquivo .JAR) e o script de instalação (arquivo .TXT), para uma pasta temporária qualquer:
Este scrip precisa ser editado, e duas chaves devem ser alteradas:
dname= Nome da máquina onde está sendo feita a instalação. Melhor não utilizar “localhost” ou número de “IP”, pois na instalação será gerado um certificado digital para este servidor, com o nome da máquina. E se as informações não forem iguais, alguns conflitos durante a execução podem ocorrer.
installation.destination= Pasta onde deseja instalar o SSJ. Observe o uso da “/” (estilo Unix).
Outras chaves que você talvez possa querer alterar são aquelas que definem as portas de conexão do SSJ:
http.port= Porta HTTP (default: 6060).
ssl.port= Porta HTTPS (default: 6443).
Você poderia, por exemplo, instalar o SSJ nas portas 80 (HTTP) e 443 (HTTPS) em um servidor que é público na internet.
Ajustado o script, você deve executar o comando:
java -jar "<caminho_completo_JAR>" --use-config "<caminho_completo_SCRIPT>"
e a instalação terá início (demora um pouco):
Um login para administração do SSJ é criado, com os valores padrões:
Usuário = admin
Senha = changeit
Se preferir, você pode digitar apenas:
java -jar "<caminho_completo_JAR>"
e realizar estas configurações todas através da interface UI do instalador do SSJ:
Após este passo é necessário criar uma variável no sistema operacional, chamada WASP_HOME. Ela deve apontar para a pasta onde o SSJ acabou de ser instalado:
Executadas estas tarefas, o SSJ já está instalado:
Porém, ele ainda não consegue se comunicar com o Magic (xpa e xpi). É necessário completar a segunda parte do processo: a configuração.
Configurando
Devido as mudanças internas no Magic xpa e Magic xpi, de versão para versão, as configurações não são exatamente iguais, embora muito parecidas. Atualmente, temos 5 opções diferentes de configuração.
Vejamos quais são elas:
eDeveloper10, uniPaaS (todos), iBolt (todos) e Magic xpi (até a versão 3.4)
Primeiro, é preciso ir até a pasta “support” da instalação do Magic (xpa ou xpi) e copiar alguns arquivo .JAR para a pasta %WASP_HOME%lib:
Depois, é preciso realizar algumas alterações nos arquivos “server.bat” e “InstallService.bat” que estão na pasta %WASP_HOME%\bin:
No arquivo “server.bat”:
A) Colocar os comandos abaixo, logo após a linha que tem o label “:winnt”
set JAVA_HOME=<pasta do JDK>
set WASP_HOME=<pasta do SSJ>
set JAVA_CMD=<pasta do JDK>\bin\java
set BUILD_FILE=build-default.xml
B) Após os comandos acima, e ANTES do comando “CALL <…> \env.bat”, acrescentar:
set WASP_CLASSPATH=%WASP_CLASSPATH%;%WASP_HOME%\lib\uniSSJ.jar;%WASP_HOME%\lib\uniRequester.jar;%WASP_HOME%\lib\saaj_utils.jar;
C) Na linha que inicia com “%JAVA_CMD%”, precisa inserir o argumento:
"-Djava.library.path=<Pasta Magic Home>"
entre os argumentos já existentes. <Pasta Magic Home> é a pasta da instalação do Magic (xpa ou xpi), onde reside o arquivo “mgreq.ini”. É através das configurações neste arquivo (mqreq.ini) que o SSJ localiza o Magic Broker, para retransmitir as chamadas que ele receber, direcionadas ao Magic Server (xpa ou xpi).
Este argumento deve ser inserido ANTES do argumento “-Dtorun=com.idoox.wasp.server.Main” e APÓS o argumento %WASP_PROPS% -cp “<…>”.
No arquivo “InstallService.bat”:
A) Colocar os comandos abaixo, logo após a linha que inicia com “@echo off”
set JAVA_HOME=<pasta do JDK>
set WASP_HOME=<pasta do SSJ>
set JAVA_CMD=<pasta do JDK>\bin\java
set BUILD_FILE=build-default.xml
B) Na linha que inicia com “WaspService.exe”, precisa inserir os argumentos:
"-Djava.class.path=%WASP_HOME%\lib\wasp.jar;%CLASSPATH%;" "-Djava.class.path=%WASP_HOME%\lib\wasp.jar;%WASP_HOME%\lib\uniSSJ.jar;%WASP_HOME%\lib\uniRequester.jar;%WASP_HOME%\lib\saaj_utils.jar;%CLASSPATH%;"
e
"-Djava.library.path=<Pasta Magic Home>"
entre os argumentos já existentes. <Pasta Magic Home> é a pasta da instalação do Magic (xpa ou xpi), onde reside o arquivo “mgreq.ini”. Estes argumentos devem ser inseridos ANTES do argumento “-Dwasp.location=%WASP_HOME%” e APÓS o argumento “-Dwasp.config.location=conf\serverconf.xml”.
Se você desejar que o SSJ rode como um “serviço”, você deve executar este programa (%WASP_HOME%\bin\InstallService.bat) uma vez, para instalar o seu serviço.
Este é o procedimento normal nos ambientes de produção.
Do contrário, você deverá sempre usar os atalhos do menu “Iniciar” para subir e interromper o SSJ Server.
Este é o procedimento normal nos ambientes de desenvolvimento.
Caso você tenha optado por instalar o SSJ em portas diferentes do padrão (6060 e 6443), ou mudado o login, precisará fazer um último ajuste no arquivo MAGIC.INI do Magic:
No xpi:
No xpa:
Pronto. Instalação e configuração concluídas, a infraestrutura para consumo e provimento de webServices SOAP do Magic (xpa e xpi) já está montada.
Um último detalhe: em ambientes de desenvolvimento, é normal que existam várias versões do Magic (xpa e xpi) instaladas. Sempre que se instala uma nova versão, e se escolhe no instalador a opção de incluir também o SystInet, ele (o instalador) vai até estes dois arquivos (“%WASP_HOME%\bin\server.bat” e “%WASP_HOME%\bin\InstallService.bat”) e altera-os para apontar para o ambiente do último Magic instalado, pois o SSJ só pode integrar-se a um Magic (xpa e xpi) de cada vez. Se esta é a sua realidade, lembre-se sempre de revisar estes dois arquivos após cada nova instalação.
Magic xpa (todos)
É praticamente a mesma anterior, exceto que os compoentes JAR agora se chamam MgSSJ.jar e MgRequester.jar (ao invés de uniSSJ.jar e uniRequester.jar). Assim, a variável %WASP_CLASSPATH% fica desta maneira:
set WASP_CLASSPATH=%WASP_CLASSPATH%;%WASP_HOME%\lib\MgSSJ.jar;%WASP_HOME%\lib\MgRequester.jar;%WASP_HOME%\lib\saaj_utils.jar;
Este ajuste deve ser repetido também no arquivo “InstallService.bat”:
Magic xpi (4.0)
Depois de realizar as configurações tomando como base o Magic xpi 3.4, alguns ajustes adicionais são necessários devido a substituição do Magic Broker pelo GigaSpaces.
Alguns novos componentes JAR devem ser copiados para a pasta %WASP_HOME%.
Baixe estes novos componentes deste endereço, e atualize as pastas %WASP_HOME%\lib e %WASP_HOME%\conf de acordo.
Algumas configurações também sofreram alterações no arquivo “server.bat“.
Na linha “set WASP_CLASSPATH“, defina-a com o seguinte conteúdo:
set WASP_CLASSPATH=%WASP_CLASSPATH%;%WASP_HOME%\lib\uniSSJ.jar;%WASP_HOME%\lib\uniRequester.jar;%WASP_HOME%\lib\saaj_utils.jar;%WASP_HOME%\lib\mgxpi-commons.jar;%WASP_HOME%\lib\GigaSpaces\com.springsource.org.aopalliance-1.0.0.jar;%WASP_HOME%\lib\GigaSpaces\commons-logging.jar;%WASP_HOME%\lib\GigaSpaces\dsl.jar;%WASP_HOME%\lib\GigaSpaces\gs-openspaces.jar;%WASP_HOME%\lib\GigaSpaces\gs-runtime.jar;%WASP_HOME%\lib\GigaSpaces\org.springframework.aop-3.1.1.RELEASE.jar;%WASP_HOME%\lib\GigaSpaces\org.springframework.asm-3.1.1.RELEASE.jar;%WASP_HOME%\lib\GigaSpaces\org.springframework.aspects-3.1.1.RELEASE.jar;%WASP_HOME%\lib\GigaSpaces\org.springframework.beans-3.1.1.RELEASE.jar;%WASP_HOME%\lib\GigaSpaces\org.springframework.context.support-3.1.1.RELEASE.jar;%WASP_HOME%\lib\GigaSpaces\org.springframework.context-3.1.1.RELEASE.jar;%WASP_HOME%\lib\GigaSpaces\org.springframework.core-3.1.1.RELEASE.jar;%WASP_HOME%\lib\GigaSpaces\org.springframework.expression-3.1.1.RELEASE.jar;%WASP_HOME%\lib\GigaSpaces\org.springframework.transaction-3.1.1.RELEASE.jar;%WASP_HOME%\lib\GigaSpaces\mgxpi-gs.jar;
Na linha que se inicia com “%JAVA_CMD%”, logo após a nossa configuração “-Djava.library.path=<Pasta Magic Home>”, devemos adicionar também:
"-Dcom.magicsoftware.xpi.SpaceName=MAGIC_SPACE" "-Dcom.magicsoftware.xpi.LookupGroupName={LOOKUP_GROUP_NAME}" "-Dcom.magicsoftware.xpi.LookupLocators="
A configuração final ficará mais ou menos assim:
Onde “{LOOKUP_GROUP_NAME}” é uma informação específica da instalação corrente do GigaSpaces, e pode ser obtida no arquivo MAGIC.INI, seção [MAGICXPI_GS].
Estes ajustes também devem ser aplicados no arquivo “InstallService.bat“:
Magic xpi (4.0a)
Praticamente a mesma configuração do Magic xpi 4.0, sendo que o conteúdo dos componentes JAR estão mais atualizados.
Baixe estes novos componentes deste endereço, e atualize as pastas %WASP_HOME%\lib e %WASP_HOME%\conf de acordo.
Algumas configurações também sofreram alterações no arquivo “server.bat” e “InstallService.bat“.
Devemos remover a configuração “-Dcom.magicsoftware.xpi.SpaceName=MAGIC_SPACE” “-Dcom.magicsoftware.xpi.LookupGroupName={LOOKUP_GROUP_NAME}” “-Dcom.magicsoftware.xpi.LookupLocators=” e substituí-la por:
"-Dcom.magicsoftware.requester.conf=<Pasta Home Magic>\mgreq.ini"
<Pasta Home Magic> é a pasta onde o Magic xpi está instalado. Na versão 4.0a, os dados de conexão com o GigaSpaces são extraídos do arquivo MGREQ.INI desta pasta, e não mais da linha de comando do Java.
Este ajuste deve ser repetido também no arquivo “InstallService.bat”:
Magic xpi (4.1)
Praticamente a mesma configuração do Magic xpi 4.0a, sendo que o conteúdo dos componentes JAR estão mais atualizados e com outros nomes.
Baixe estes novos componentes deste endereço, e atualize as pastas %WASP_HOME%\lib e %WASP_HOME%\conf de acordo.
Como houve mudança nos nomes de alguns JARs, ajustes no arquivo “server.bat” e “InstallService.bat” também são necessários.
Na linha “set WASP_CLASSPATH“, defina-a com o seguinte conteúdo:
set WASP_CLASSPATH=%WASP_CLASSPATH%;%WASP_HOME%\lib\uniSSJ.jar;%WASP_HOME%\lib\uniRequester.jar;%WASP_HOME%\lib\saaj_utils.jar;%WASP_HOME%\lib\mgxpi-commons.jar;%WASP_HOME%\lib\GigaSpaces\com.springsource.org.aopalliance-1.0.0.jar;%WASP_HOME%\lib\GigaSpaces\commons-logging-1.1.3.jar;%WASP_HOME%\lib\GigaSpaces\gs-openspaces.jar;%WASP_HOME%\lib\GigaSpaces\gs-runtime.jar;%WASP_HOME%\lib\GigaSpaces\spring-aop-3.2.4.RELEASE.jar;%WASP_HOME%\lib\GigaSpaces\spring-aspects-3.2.4.RELEASE.jar;%WASP_HOME%\lib\GigaSpaces\spring-beans-3.2.4.RELEASE.jar;%WASP_HOME%\lib\GigaSpaces\spring-context-3.2.4.RELEASE.jar;%WASP_HOME%\lib\GigaSpaces\spring-context-support-3.2.4.RELEASE.jar;%WASP_HOME%\lib\GigaSpaces\spring-core-3.2.4.RELEASE.jar;%WASP_HOME%\lib\GigaSpaces\spring-expression-3.2.4.RELEASE.jar;%WASP_HOME%\lib\GigaSpaces\spring-tx-3.2.4.RELEASE.jar;%WASP_HOME%\lib\GigaSpaces\mgxpi-gs.jar;
O arquivo “InstallService.bat” também deve ser ajustado, na linha que se inicia com “WaspService.exe”, com referência a esta lista de componentes JAR:
Existe também uma documentação adicional no Magic Community, a respeito destes procedimentos todos.
Para receber os artigos do Blog Magic Brasil em primeira mão no seu email registre-se aqui
Atualizado para o Magic xpi 4