Introdução
A versão 7.1.1.6 do TPAE (Tivoli Plataform Automation Engine) utilizada nos produtos da linha Maximo, TAMMIT, SRM e TPM, entre outros, introduziu uma nova funcionalidade que permite a usuários avançados integrar suas aplicações com Web Services síncronos de forma simples e intuitiva, através da utilização de um assistente (wizard) e assim disponibilizar novos serviços para os usuários finais.
Interactions ou Interações (na versão em Português) é o novo módulo disponível dentro do contexto do módulo de Integrações da plataforma Maximo e que torna possível esse tipo de integração. Na versão 7.1.1. 6 foram disponibilizadas duas novas aplicações:
- Create Interaction/ Criar Interações – Permite a configuração de novas integrações com Web Services compatíveis com o padrão WSDL 1.1, através da utilização de um assistente (Wizard) que guia o usuário através de nove passos até a conclusão da criação do novo serviço.
- Interactions/Interações – Permite visualizar todas as Integrações criadas pelo Wizard e alterá-las (ainda que de forma restrita), bem como exclusão das mesmas.
Este artigo tem como objetivo demonstrar através de um caso de uso simples, como podemos implementar um novo serviço (ou ação) em aplicações existentes, de forma rápida e simples e que poderá ser utilizado por todos os usuários finais.
Uma empresa que utiliza um dos produtos da família Maximo, necessita validar e padronizar os endereços do seu cadastro de fornecedores no momento em que novas empresas são cadastradas ou quando há alteração no endereço das empresas existentes. Para essa finalidade, optou-se pela contratação de um serviço de busca disponível via Internet (seguindo o padrão de Web Services) que disponibiliza os endereços atualizados de todas a regiões do país baseado no Código de Endereçamento Postal (CEP).
Para implementar essa nova funcionalidade, será necessário a criação de uma integração entre a aplicação de Empresas (ou Companies) e o serviço de CEP (que a partir de agora chamaremos de CEPService).
Modificações Necessárias
Com base nos requerimento definidos será necessária a seguinte modificação:
- Alterar a seção de Informações Gerais da aba de Endereços dentro da aplicação Empresas (ou Companies), no módulo de Compras do Maximo, identificando os campos que serão utilizados na busca e os campos onde serão armazenadas as informações retornadas pelo serviço de CEP.
Após uma análise básica das informações envolvidas na operação, chegamos a seguinte definição:
Tabela 1. Informações Necessárias para a Busca
| Campo da Tela | Maximo Business Objeto (MBO) | Atributo |
|---|---|---|
| Zip Code ou Cep/Codigo Postal | COMPANIES | ADDRESS4 |
Tabela 2. Informações de Retorno
| Campo da Tela | Maximo Business Objeto (MBO) | Atributo |
|---|---|---|
| Address ou Endereço | COMPANIES | ADDRESS1 |
| City ou Cidade | COMPANIES | ADDRESS2 |
| State ou Estado | COMPANIES | ADDRESS3 |
Dados do Web Service: CEPService
Para ilustrar este artigo, desenvolvi um web service “Fake“ utilizando como ferramentas de desenvolvimento o Eclipse Helios e o Tomcat 6.029. O trecho de código a seguir (código 1) ilustra o as classes que foram utilizada na geração do web service.
Código 1. Classes CEPService e CEPBean (código parcial)
|--------10--------20--------30--------40--------50--------60--------70--------80--------|
Public class CEPService {
Public CEPBean getEnderecoByCEP(String cep){
CEPBean cepBean = new CEPBean();
String[] busca = buscaCep(cep);
CepBean.setZipcode(cep);
CepBean.setAddress(busca[0]);
CepBean.setCity(busca[1]);
CepBean.setState(busca[2]);
Return cepBean;
}
…
}
Public class CEPBean {
Private String address;
Private String zipcode;
Private String state;
Private String city;
…
}
|
Para iniciar a configuração da Interação é necessário ter em mãos o endereço WSDL do serviço que será utilizado. Para o nosso exemplo, utilizaremos a seguinte url: http://localhost:8081/WSTest/services/CEPService?wsdl
O código abaixo (código 2), mostra um trecho da definição do serviço CEPService que será utilizado como base na configuração da troca de informações entre as aplicações.
Código 2. WSDL do CEPService (parcial)
|--------10--------20--------30--------40--------50--------60--------70--------80--------|
<wsdl:types>
<schema elementFormDefault="qualified" targetNamespace="http://cep.sample"
xmlns="http://www.w3.org/2001/XMLSchema">
<element name="getEnderecoByCEP">
<complexType>
<sequence>
<element name="cep" type="xsd:string"/>
</sequence>
</complexType>
</element>
<element name="getEnderecoByCEPResponse">
<complexType>
<sequence>
<element name="getEnderecoByCEPReturn" type="impl:CEPBean"/>
</sequence>
</complexType>
</element>
<complexType name="CEPBean">
<sequence>
<element name="zipcode" nillable="true" type="xsd:string"/>
<element name="address" nillable="true" type="xsd:string"/>
<element name="city" nillable="true" type="xsd:string"/>
<element name="state" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
</schema>
</wsdl:types>
|
Com essas informações em mãos, podemos iniciar a construção da nova Interação.
