Introdução
Para integrar um sistema externo e o sistema Maximo Asset Management 7.5 podemos utilizar o MIF, que significa Maximo Integration Framework. Com o MIF, podemos fazer a troca de dados realizando operações de importação e exportação, como por exemplo, via XML ou arquivos .dat. Nesse artigo vamos abordar como apagar mensagens de troca de dados. Essa ação é necessária no caso de erro no primeiro item da fila de processamento que pode impactar todas as outras mensagens ou mesmo quando um arquivo é incorretamente enviado para essa fila e é necessário excluí-lo.
Filas
Para realizar a integração de dados, o Maximo utiliza- se das seguintes filas:
Inbound sequential (sqin) - Fila seqüencial utilizada para importação no Maximo
Inbound continuous (cqin) – Fila continua utilizada para importação no Maximo
Outbound sequential (sqout) – Fila seqüencial utilizada para exportação do Maximo
Error continuous (cqinerr) – Fila de erro continua: As mensagens com erros geradas na fila contínua de inbound (cqin) podem ser redirecionadas para esta fila, desde que essa esteja configurada.
As filas são estruturas baseadas no princípio FIFO (first in, first out – primeira que entra, primeiro que sai), em que os elementos que foram inseridos no início são os primeiros a serem removidos. Nas filas sequencias quando um erro ocorre nenhum elemento é mais processado e a fila fica parada até que a mensagem seja apagada ou o erro resolvido. Nas filas continuas mesmo que ocorra um erro, os outros elementos da fila são processados.
Utilizando de filas seqüenciais, muitas vezes o cliente precisa apagar todas as mensagens de uma fila durante a integração de dados. Para explicar o processo, usaremos como exemplo uma operação de inbound com XML.
Utilizando-se do MIF corretamente configurado, o usuário deve importar o XML. O MIF irá identificar a fila de JMS de inbound e então escrever a mensagem na fila de inbound. Se a mensagem contiver múltiplas instâncias de um documento, múltiplas mensagens serão escritas na fila. Se ao menos umas das mensagens forem processadas com erro, uma mensagem de exceção será identificada e nenhuma outra mensagem poderá ser processada e gravada no banco de dados.
É comum que o usuário queira importar vários registros e por isso utilize vários arquivos XMLs ou vários registros em um arquivo XML o que irá gerar diversas mensagens na fila. Se por algum motivo ocorrer alguma falha na importação, é possível apagar ou corrigir o XML que gerou erro na aplicação de Reprocessamento de Mensagens (Message Reprocessing) (veja figura abaixo). Com este procedimento a próxima mensagem da fila será processada, mas se todo o lote de mensagens estiver com erro, o usuário não precisa esperar que todas as mensagens sejam processadas, apagadas ou corrigidas, ele pode utilizar o IBM Maximo ou o servidor de aplicação (Weblogic ou Websphere) para apagar todos os elementos da fila. Para a partir daí, fazer as alterações necessárias e importar novas mensagens com a fila limpa.
Figura 1.
Visualização maior da figura 1.
Para apagar as filas no Maximo utilize os seguintes passos:
Vá até Integração (Integration) – > Sistemas Externos (External Systems).
Selecione o sistema externo usado para integração e em seguida "Selecionar Ações" (Select Action) e "Incluir/Modificar Filas" (Add/Modify Queues).
Selecione a fila que contém dados parados e utilize o botão "Excluir Dados da Fila" (Delete Queue Data).
Se for preciso consultar antes quantas mensagens existem na fila, utilize o botão "Visualizar Dados da Fila" (View Queue Data):
Figura 2.
Visualização maior da figura 2.
Clique em "OK". Se nenhum parâmetro for informado, todas as mensagens serão apagadas:
Figura 3.
Visualização maior da figura 3.
Uma mensagem será mostrada informando quantas mensagens foram apagadas:
Figura 4.
Visualização maior da figura 4.
Para apagar as filas no Weblogic utilize os seguintes passos:
Navegue até JMS > JMS Modules > intjmsmodule > sqin > Summary of JMS Messages > sqin
Clique na tab "Monitoring":
Figura 5.
Visualização maior da figura 5.
Selecione "intjmsmodule!sqin" e clique em "Show Messages":
Figura 6.
Visualização maior da figura 6.
Selecione "Delete All" para apagar todas as mensagens:
Figura 7.
Visualização maior da figura 7.
Verifique que todas as mensagens que estavam listadas foram apagadas:
Figura 8.
Visualização maior da figura 8.
Para apagar as filas no Websphere utilize os seguintes passos:
Navegue até: Buses > intjmsbus > destination > sqinbd > Queues points
Selecione o destino do sqin e clique em "Runtime" e depois clique em "Messages":
Figura 9.
Visualização maior da figura 9.
Clique no botão "Delete All":
Figura 10.
Visualização maior da figura 10.
Confirme que deseja apagar todas as mensagens clicando em "OK":
Figura 11.
Visualização maior da figura 11.
Verifique que todas as mensagens paradas na fila foram apagadas:
Figura 12.
Visualização maior da figura 12.
Importante
Para versões dos servidores de aplicação diferentes das apresentadas no artigo, consultar a documentação disponibilizada pelo fabricante.
Referências
Maximo Enterprise Asset Management: http://www.ibm.com/software/br/tivoli/solutions/asset-management/
Maximo Integration Framework (MIF): https://www.ibm.com/support/docview.wss?uid=swg21380484&aid=1

Fernando Ruano é pós-graduado em Engenharia de Sistemas, atua na área de TI desde 2001 e hoje trabalha como Quality Assurance Engineer dentro do Laboratório de Software da IBM no Brasil. Participou de diversos releases do produto Maximo Asset Management, passando por projetos de integração de sistemas com MEA e MEA for SAP, atuou como QA Lead do produto Maximo Primavera Adapter e como team member do produto Maximo for Service Providers. Atualmente integra a equipe de SQA do novo produto adquirido pela IBM, o TRIRIGA Application Platform, que faz parte da estratégia de Smarter Planet da companhia. Perfil My Developer Works: http://www.ibm.com/developerworks/mydeveloperworks/profiles/user/FernandoRuano

Raquel Bortoluci é pós-graduada em Desenvolvimento de Software pela UFSCAR e graduada em processamento de dados pela FATEC. Atua na área de TI desde 2002 e atualmente trabalha como Quality Assurance Engineer dentro do Laboratório de Software da IBM no Brasil. Possui vasta experiência em projetos de integração de sistemas. Começou a trabalhar com o MIF (Maximo Integration Framework) em 2007 e posteriormente trabalhou no projeto Maximo Oracle Adapter. Atualmente trabalha no projeto SRM realizando testes de integração entre aplicações do Maximo Asset Management.Perfil My Developer Works: https://www.ibm.com/developerworks/mydeveloperworks/profiles/user/Raquel_Bortoluci