Avançar para a área de conteúdo

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Todas as informações enviadas são seguras.

  • Fechar [x]

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Todas as informações enviadas são seguras.

  • Fechar [x]

Integrando Aplicações Maximo e Web Services em Nove Passos

Usando Maximo Interactions ou Interações

Rodrigo Braga Fernandes, Software Engineer, IBM Brasil
author's image.
Rodrigo Braga Fernandes é Engenheiro de Software no Centro de Excelência em Gerenciamento de Serviços (SMEC) do Laboratório de Software da IBM Brasil, onde atua no desenvolvimento de soluções utilizando a plataforma Maximo. Ver perfil My developerWorks

Resumo:  : Utilizando Maximo Interactions ou Interações para integrar Web Services e aplicações Maximo de uma maneira simples e rápida.

Data:  23/Dez/2010
Nível:  Intermediário

Atividade:  5959 visualizações
Comentários:  

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:

  1. 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.
  2. 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.

Caso de uso

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

Objetivo

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 TelaMaximo Business Objeto (MBO)Atributo
Zip Code ou Cep/Codigo PostalCOMPANIESADDRESS4

Tabela 2. Informações de Retorno

Campo da TelaMaximo Business Objeto (MBO)Atributo
Address ou EndereçoCOMPANIESADDRESS1
City ou CidadeCOMPANIESADDRESS2
State ou EstadoCOMPANIESADDRESS3

Definição dos Campos


Para visualizar a definição dos campos da tela, posicione o cursor no campo desejado e tecle <ALT> + I (segure a tecla Alt e tecla I ao mesmo tempo) e uma janela de help será mostrada com a informação da tabela de origem e atributo e uma breve descrição do campo

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.

1 de 14 | Próximo

Comentários



static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Tivoli
ArticleID=604898
TutorialTitle=Integrando Aplicações Maximo e Web Services em Nove Passos
publish-date=12232010
author1-email=rodrigo.fernandes@br.ibm.com
author1-email-cc=

Tags

Help
Use o campo de pesquisa para encontrar todos os tipos de conteúdo no My developerWorks com essa tag.

Use a barra de rolagem para ver mais ou menos tags.

Tags populares mostra as principais tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Minhas tags mostra suas tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Use o campo de pesquisa para localizar todos os tipos de conteúdo no Meu developerWorks com essa tag. Tags populares mostra as tags principais para essa zona de conteúdo particular (por exemplo, tecnologia Java, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere). Minhas tags mostra as suas tags para essa zona de conteúdo em particular (por exemplo, tecnologia Java, Linux, WebSphere).