Integrando Magic xpa e Java

O Magic xpa (uniPaaS) possui a capacidade de integrar-se a diversas outras tecnologias (Java, COM, .NET, SOAP, REST), visto que além de uma plataforma SaaS, ele também é uma plataforma SOA.

Existe muita coisa já construída, algumas inclusive “free”, que podemos utilizar em nossas soluções ao invés de ter de recriá-las.

Neste post, vamos ver a possibilidade de consumir classes Java em aplicações Magic xpa. Vamos recorrer ao Java para calcular valores GUID (Global Unique Identifier, um número que (em teoria) quando gerado é único no mundo inteiro).

O Java está disponível através da sua JRE. Uma das vantagens da JRE é que ela está contida toda em uma pasta (e suas subpastas), de forma que pode facilmente ser transportada para outros servidores e estações, ou incluída em pacotes de instalações.

As configurações necessárias para o Magic xpa localizar a JRE são definidas no MAGIC.INI:

Para calcular um valor GUID, teremos de utilizar a classe Java UUID, definida no package java.util.UUID.

Para criar uma instância de um objeto Java, usa-se a função Magic xpa JCreate. Para chamar um método de um objeto instanciado, JCall. Se o método for estático da classe, JCallStatic.

NOTA: consulte o help do Magic xpa para mais detalhes sobre todas as funções de acesso ao Java

A classe UUID possui um método estático chamado “randomUUID” que retorna um novo objeto GUID. Este método não possui argumentos, então sua assinatura é “()Ljava/util/UUID”.

Para ter um objeto UUID Java no Magic xpa, a instrução é esta:

Update <VarBLOB> With JCallStatic(‘java.util.UUID.randomUUID’, ‘()Ljava/util/UUID;’)

De posse do objeto UUID, basta chamar o seu método  “toString” para converter o número GUID em uma representação textual. Este método não possui argumentos, então sua assinatura é “()Ljava/lang/String;”

Para formatar um objeto UUID Java em string no Magic xpa, a instrução é esta:

Update <VarALPHA> With JCall(<VarBLOB>, ‘toString’, ‘()Ljava/lang/String;’)

Acesse este endereço e baixe um pequeno projeto Magic xpa (1.9g) de exemplo, onde são gerados GUIDs:

Este projeto também possui um programa exemplo que recupera o nome e o IP da máquina.

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 *