IBM Maximo Manage: Maximo Integration Framework: Difference between revisions

From Wiki
Line 76: Line 76:
* '''CreateOrUpdate''' — Cria o registro se ele não existir ou atualiza se já existir. É a operação mais utilizada em integrações.
* '''CreateOrUpdate''' — Cria o registro se ele não existir ou atualiza se já existir. É a operação mais utilizada em integrações.
* '''Sync''' — Realiza uma sincronização completa, tratando criação, atualização ou outras ações conforme o estado dos dados. Indicada para cenários de sincronização bidirecional.
* '''Sync''' — Realiza uma sincronização completa, tratando criação, atualização ou outras ações conforme o estado dos dados. Indicada para cenários de sincronização bidirecional.
== Invocation Channel vs. Enterprise Service ==
A escolha entre um '''Invocation Channel''' e um '''Enterprise Service''' normalmente depende da necessidade de resposta imediata ou processamento assíncrono.
* '''Invocation Channel'''
  ** Comunicação síncrona (requisição/resposta).
  ** O sistema chamador aguarda a resposta imediatamente.
  ** Erros são retornados instantaneamente ao chamador.
  ** Menor capacidade de processamento, pois as requisições são tratadas individualmente.
  ** Maior dependência entre os sistemas, que precisam estar disponíveis ao mesmo tempo.
  ** Indicado quando a resposta é necessária imediatamente.
* '''Enterprise Service'''
  ** Comunicação assíncrona (fila de mensagens).
  ** O processamento ocorre posteriormente, sem aguardar resposta imediata.
  ** Erros podem ser reenviados ou reprocessados por meio das filas.
  ** Maior capacidade de processamento devido ao uso de filas e processamento em lote.
  ** Menor acoplamento entre os sistemas, já que as filas absorvem indisponibilidades temporárias.
  ** Indicado quando o processamento pode ocorrer posteriormente.


= Ver também =
= Ver também =

Revision as of 00:57, 3 June 2026

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) [XSL Transformation (se configurado)]

5) Object Structure – Mapeia os dados recebidos para os objetos de negócio (MBO) do Maximo.

6) Inbound Processing Rules – Aplica mapeamentos de campos, valores padrão e transformações.

7) 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? menos campos resultam em mensagens menores e processamento mais rápido. Permite excluir campos sensíveis (dados de custos, informações pessoais etc.) dos sistemas externos.

Operações: O que acontece com os dados

Quando um Enterprise Service recebe uma mensagem, o MIF precisa determinar qual ação executar sobre os dados. As operações mais comuns são:

  • Create — Cria um novo registro. Falha se o registro já existir. Ideal para cargas iniciais de dados.
  • Update — Atualiza um registro existente. Falha se o registro não for encontrado. Utilizado para alterações de status ou atualização de campos.
  • Delete — Remove ou marca um registro para exclusão. Utilizado para sincronizar a desativação de registros.
  • CreateOrUpdate — Cria o registro se ele não existir ou atualiza se já existir. É a operação mais utilizada em integrações.
  • Sync — Realiza uma sincronização completa, tratando criação, atualização ou outras ações conforme o estado dos dados. Indicada para cenários de sincronização bidirecional.


Invocation Channel vs. Enterprise Service

A escolha entre um Invocation Channel e um Enterprise Service normalmente depende da necessidade de resposta imediata ou processamento assíncrono.

  • Invocation Channel
 ** Comunicação síncrona (requisição/resposta).
 ** O sistema chamador aguarda a resposta imediatamente.
 ** Erros são retornados instantaneamente ao chamador.
 ** Menor capacidade de processamento, pois as requisições são tratadas individualmente.
 ** Maior dependência entre os sistemas, que precisam estar disponíveis ao mesmo tempo.
 ** Indicado quando a resposta é necessária imediatamente.
  • Enterprise Service
 ** Comunicação assíncrona (fila de mensagens).
 ** O processamento ocorre posteriormente, sem aguardar resposta imediata.
 ** Erros podem ser reenviados ou reprocessados por meio das filas.
 ** Maior capacidade de processamento devido ao uso de filas e processamento em lote.
 ** Menor acoplamento entre os sistemas, já que as filas absorvem indisponibilidades temporárias.
 ** Indicado quando o processamento pode ocorrer posteriormente.

Ver também