Módulo deste artigo: Integration Flow Helper
Externalize Parameters, copiar configurações de etapas e importar APIs do SAP Business Accelerator Hub no SAP CPI
Transforme endereços fixos em {{parameters}} em um passo, copie as configurações de uma etapa para outro iFlow, salve consultas OData como modelos, importe APIs do Hub, verifique XPath em um exemplo e organize expressões de mapping.
Parte do trabalho mais lento em um iFlow do SAP Cloud Integration (SAP CPI) não está na lógica. Está em digitar o mesmo endereço de receptor em três tenants, copiar à mão dez linhas de Content Modifier de um iFlow para outro, refazer uma consulta OData que você escreveu no mês passado ou baixar uma especificação de API só para saber os campos de um conjunto de entidades.
O Helper do Kitegra agora tem uma ferramenta para cada um desses casos, ao lado do designer do SAP Integration Suite: Externalize Parameters, copiar e colar configurações de etapas com modelos de consulta OData, uma importação do SAP Business Accelerator Hub, uma verificação de XPath no seu payload de exemplo e Organizar para expressões de Message Mapping. Este artigo explica o que cada uma faz, quando ela altera o seu iFlow e o que ela guarda.
Externalize Parameters em um passo
Um endereço escrito diretamente em um canal receptor obriga você a editar o próprio iFlow toda vez que ele passa de DEV para QA e para PROD. A resposta da SAP é o parâmetro externalizado: {{Receiver_OData_Address}} no campo, com o valor definido por tenant em Configure. O Externalize Parameters digita isso por você.
Abra um iFlow, pressione Edit no SAP e escolha Externalize Parameters no menu do Kitegra. O painel lista os valores fixos que costumam mudar entre tenants:
- Endereços: URLs, hosts, endpoints, caminhos, diretórios e WSDLs. Eles já vêm marcados, exceto endereços de proxy e endereços ProcessDirect ou JMS.
- Outros valores: nomes de filas e de Data Stores, caminhos e consultas OData, timeouts, nomes e aliases de credenciais e portas.
- Constantes nas tabelas de Content Modifier e Write Variables.
Cada valor recebe um nome sugerido, como Receiver_OData_Address, formado pelo participante e pelo campo, que você pode alterar. Valores que já são {{…}} ou ${…} aparecem como tal. Clique em Externalizar, e os campos marcados viram parâmetros no iFlow aberto. Nada é salvo até você salvar o iFlow no SAP.
Depois de uma execução, Desfazer restaura os valores anteriores, e Copiar valores atuais copia cada parâmetro com o valor que ele substituiu: depois do deploy, o SAP pede cada valor em Configure, e você os cola ali. As dez últimas execuções por iFlow ficam guardadas para Desfazer. As verificações de design do iFlow Inspector indicam esta ferramenta quando o endereço de um receptor está escrito no iFlow.
Copie as configurações de uma etapa para outra etapa ou outro iFlow
Escolha Copiar e colar configurações de etapas no menu do Kitegra, selecione uma etapa no diagrama (ou escolha-a no painel) e clique em Copiar configurações. A cópia guarda os headers, as propriedades de exchange e os campos do adaptador da etapa. O painel mantém as suas dez últimas cópias, da mais recente para a mais antiga, de todos os tenants e iFlows neste navegador.
Para colar, pressione Edit no SAP, selecione a etapa de destino e clique em Colar em. Antes de escrever, o painel lista os campos que vão mudar. Para cada tabela você escolhe Manter, Acrescentar linhas (adiciona só as linhas copiadas que faltam) ou Substituir linhas. Uma cópia só vai para uma etapa do mesmo tipo, e pode ir para outro iFlow, exceto o caminho de um EDMX e os campos de script, que apontam para arquivos do iFlow de origem. Desfazer restaura o que a última colagem alterou.
Modelos de consulta OData
O mesmo painel guarda Modelos de consulta OData. Selecione um canal receptor OData cuja consulta você já montou, clique em Salvar consulta como modelo e dê um nome a ele. Um modelo guarda a operação, o caminho do recurso e as opções de consulta, como $select, $filter e $expand. Depois, no modo de edição, selecione outro receptor OData e clique em Aplicar. Salvar com um nome que já existe substitui esse modelo. Para as opções em si, veja opções de consulta do receptor OData.
Cópias e modelos ficam no armazenamento da extensão deste navegador. Eles não são sincronizados com a sua conta Kitegra e nunca são enviados a lugar nenhum.
Importe uma API do SAP Business Accelerator Hub
O Helper sugere conjuntos de entidades e campos OData a partir de um EDMX, e caminhos HTTP a partir de um arquivo OpenAPI. Com a importação do Hub você não precisa mais baixar esse arquivo antes. No pop-up da extensão, abra a página de um iFlow com o payload de exemplo e a especificação de API dele e procure Importar do SAP Business Accelerator Hub.
- Na primeira vez, clique em Permitir acesso: o navegador pede uma única vez acesso a api.sap.com. O Kitegra não tem esse acesso até você concordar.
- Pesquise uma API, por exemplo
API_PRODUCT_SRV. A pesquisa não exige login. - Clique em Importar. Baixar a especificação exige o seu login em api.sap.com neste navegador; se você não estiver logado, o painel avisa e abre o Hub.
Os conjuntos de entidades e campos de uma API OData passam então a ser sugeridos nos receptores OData desse iFlow que não têm EDMX próprio. Os caminhos de uma API REST são sugeridos nos campos HTTP, como se você tivesse carregado o arquivo, conforme descreve o artigo sobre OpenAPI e Postman. A especificação fica guardada por iFlow, só neste navegador, até 8 MB, e Remover a exclui.
XPath verificado no seu payload de exemplo
Com um payload de exemplo salvo para o iFlow, o Helper já sugere caminhos XPath a partir dele. Agora ele também verifica o XPath que você digitou. Quando nenhum nó do exemplo corresponde, um aviso abaixo do campo diz "Nenhum nó do payload de exemplo corresponde a este XPath." Quando algum corresponde, uma linha informativa mostra o valor encontrado.
A verificação cobre linhas XPath em headers e propriedades de Content Modifier e em Write Variables, condições de XML Router e splitters XPath. Ela só roda onde o exemplo salvo é de fato o que chega a essa etapa: um exemplo XML com, antes dele, apenas etapas que mantêm o corpo, ou um exemplo JSON depois de um JSON to XML Converter. Ela fica em silêncio em Local Integration Processes, Exception Subprocesses e em XPaths montados com ${…} ou {{…}}, então um aviso significa uma divergência real.
Organize uma expressão de Message Mapping
Uma expressão de Message Mapping com uma dúzia de funções logo vira um emaranhado de linhas cruzadas. No canvas da expressão, um botão Organizar fica agora ao lado dos botões do próprio SAP. Ele dispõe os nós dos campos de origem até o destino. No modo de edição, Save mantém o layout e o botão de desfazer ao lado o restaura; no modo de visualização ele só ajuda na leitura, e o layout some quando o SAP desenha a expressão de novo. Nada é salvo nem enviado ao SAP. O diagrama do iFlow também tem o seu próprio botão Organizar, no modo de edição, com Desfazer.
O que muda no seu iFlow
Externalize Parameters, colar e Aplicar modelo escrevem no iFlow aberto no designer, só no modo de edição, e o designer mostra o iFlow como alterado. Eles nunca salvam nem fazem deploy: você salva no SAP, ou usa Discard para descartar a alteração. Cada uma dessas ferramentas pode ser desligada individualmente na página de opções, em Ferramentas; ela some do designer na hora. Externalize, copiar e colar etapas e a importação do Hub fazem parte dos planos pagos, com alguns usos no Free; a verificação de XPath e Organizar são gratuitos. Enquanto o Kitegra é lançado, todas as ferramentas ficam liberadas para todos que entrarem. Compare os planos.
Experimente no seu próximo iFlow
Veja o que o Kitegra acrescenta ao redor do designer do SAP Integration Suite, ou o que ele faz depois que você pressiona Deploy.
Perguntas frequentes
Como externalizo o endereço de um receptor no SAP CPI?
Pressione Edit no SAP, abra Externalize Parameters no menu do Kitegra, mantenha o endereço marcado, confira o nome e clique em Externalizar. Salve o iFlow e depois defina o valor por tenant em Configure; Copiar valores atuais traz os valores antigos para colar.
Posso copiar linhas de Content Modifier para outro iFlow?
Sim. Copie as configurações da etapa, abra o outro iFlow no modo de edição, selecione um Content Modifier e cole. Escolha Acrescentar linhas para adicionar só as linhas que faltam, ou Substituir linhas.
Preciso de uma conta em api.sap.com para a importação do Hub?
A pesquisa funciona sem conta. Baixar uma especificação exige o seu login em api.sap.com no mesmo navegador.
As minhas cópias de etapas e modelos são sincronizados?
Não. Eles ficam no armazenamento da extensão deste navegador e nunca são enviados a lugar nenhum.
Alguma dessas ferramentas salva ou faz deploy do meu iFlow?
Não. As ferramentas escrevem no iFlow aberto no modo de edição; você o salva no SAP ou descarta a alteração.