IBM Maximo Manage: Maximo Integration Framework
Visão Geral do Fluxo de Dados
Veja como os dados trafegam através do MIF em ambas as direções:
Fluxo de Saída (Maximo --> Sistema Externo)
1) Business Event – Um registro é criado, atualizado ou excluído no Maximo.
2) Publish Channel – Avalia se esse evento deve disparar uma mensagem de saída.
3) Object Structure – Organiza os dados na estrutura XML definida.
4) Processing Rules – Aplica mapeamentos de campos, transformações ou condições.
5) Outbound Queue – Coloca a mensagem na tabela MAXIFACEOUTQUEUE para processamento assíncrono.
6) Endpoint – Encaminha a mensagem para o sistema externo (HTTP, JMS, arquivo, etc.).
Fluxo de Entrada (Sistema Externo --> Maximo)
1) External System – Envia dados para um endpoint do Maximo (HTTP, JMS, arquivo ou tabela de interface).
2) Inbound Queue – A mensagem chega à MAXIFACEINQUEUE para processamento.
3) Enterprise Service – Identifica o serviço correto e a ação de processamento correspondente.
4) Object Structure – Mapeia os dados recebidos para os objetos de negócio do Maximo.
5) Processing Rules – Aplica mapeamentos de campos, valores padrão e transformações.
6) Business Processing – O Maximo cria, atualiza ou exclui o registro de destino.
Essa arquitetura bidirecional tornou o MIF extremamente versátil. O mesmo framework era capaz de lidar tanto com importações simples de arquivos texto quanto com sincronizações bidirecionais complexas, em tempo real, com sistemas ERP.
Detalhes
Object Structure
<MXWO>
<WORKORDER>
<WONUM>WO-12345</WONUM>
<DESCRIPTION>Pump motor replacement</DESCRIPTION>
<STATUS>WAPPR</STATUS>
...
<WPMATERIAL>
<ITEMNUM>PUMP-100</ITEMNUM>
...
</WPMATERIAL>
...
<WOACTIVITY>
<TASKID>10</TASKID>
...
</WOACTIVITY>
<WOACTIVITY>
<TASKID>20</TASKID>
...
</WOACTIVITY>
</WORKORDER>
</MXWO>
Na prática, as Object Structures fornecidas nativamente pelo Maximo raramente atendem exatamente às necessidades da sua integração. Normalmente, você criará Object Structures personalizadas contendo apenas os campos necessários para cada integração.
Por que personalizar?
- Desempenho — menos campos resultam em mensagens menores e processamento mais rápido.
- Segurança — permite excluir campos sensíveis (dados de custos, informações pessoais etc.) dos sistemas externos.
- Compatibilidade — facilita o alinhamento com o contrato de dados esperado pelo sistema externo.
- Simplicidade — objetos filhos desnecessários aumentam a complexidade sem agregar valor à integração.