3 Passos para SOAP curl e Testes Simples de EAI Inbound no Siebel

SOAP via CURL para EAI Inbound

Chamando EAI Inbound com integração SOAP via curl

A integração de sistemas é um dos pilares para garantir a eficiência operacional em ambientes corporativos complexos. No contexto do Siebel, uma plataforma amplamente utilizada para gestão de relacionamento com clientes (CRM), a necessidade de testar e otimizar conexões logo após a inicialização dos servidores é crucial. Este artigo explora conceitos fundamentais como consulta de variáveis de ambiente utilizando eScript e o consumo de serviços SOAP via curl, oferecendo uma abordagem prática para testes simples de EAI Inbound no Siebel.

O principal objetivo desta implementação é assegurar que o pool de conexões anônimas do EAI esteja devidamente carregado antes da liberação do ambiente para uso pelos sistemas integrados. Além disso, detalhamos o fluxo de trabalho necessário, o uso de Business Services e a aplicação de scripts shell para automatizar processos críticos, garantindo maior confiabilidade e eficiência na operação dos servidores Siebel.

Por meio de exemplos práticos e explicações detalhadas, o artigo se propõe a ser um guia útil tanto para profissionais experientes quanto para iniciantes que buscam compreender melhor os mecanismos de integração e automação no Siebel.

 

Workflow de Integração para EAI Inbound

Indo direto ao ponto, você vai precisar de um Workflow de integração simples associado a um serviço web de entrada.

Nesse exemplo, estamos usando um serviço web anônimo porque o principal objetivo da construção do shell script –  detalhado mais abaixo – foi carregar o pool de conexões anônimas do EAI assim que o Servidor Siebel é inicializado.

Veja os inputs e outputs do WF:

O Business Service

A implementação do método fake do Business Service chamado pelo Workflow também é bem simples. Veja:

switch(MethodName)
{
       case “GetEnv”:
            Outputs.SetProperty(“Value”,Clib.getenv(Inputs.GetProperty(“Name”)));
           vReturn = CancelOperation;
           break;
}
}

O Shell Script com CURL chamando SOAP

O código acima retorna a variável de ambiente do sistema operacional onde o workflow está sendo executado. No nosso caso, passamos a string HOSTNAME como input e, portanto, o output desse método vai ser o hostname do servidor.

Por último, mas não menos importante, vamos falar sobre o shell script que chama o serviço Web associado ao Workflow.

Antes, algumas considerações sobre o shell script:

Com o resultado da chamada e depois fazemos um cut no ponto que deveria estar o nome do Siebel Server retornado pelo Workflow de Integração.

Dependendo do seu XMLOut, esse ponto de corte ou a informação que você procura no seu XML pode ser outra.

Nós fizemos o teste em forma de loop porque esse script é chamado imediatamente após o start do Siebel Server. A requisição SOAP via curl viabiliza testes simples de integração com Siebel além de carregar o pools de conexões anônimas do Siebel EAI.

Precisamos colocar todos os hostnames do ambiente no OR dentro do loop, pois se o curl+cut não retornar algum desses nomes, consideramos que a integração falhou e deve refeita novamente por até 5x com intervalos de 30 segundos entre uma chamada e outra.

#!/bin/sh
HOST=$(hostname)
count=0
echo ‘Testando conectividade EAI do Servidor de AI ‘$HOST’…’
echo ‘…’

SERVER=`curl -s -k –request POST –header “Content-Type: text/xml;charset=UTF-8” –header ‘SOAPAction: “document/http://siebel.com/CustomUI:CacheIntegracao”‘ –data ‘<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:cus=”http://siebel.com/CustomUI”><soapenv:Header/><soapenv:Body><cus:CacheIntegracao_Input/></soapenv:Body></soapenv:Envelope>’ ‘https://’$HOST’.dominio.com.br:PORTA/siebel/app/eai_anon/ptb?SWEExtSource=AnonWebService&SWEExtCmd=Execute’ | cut -d “>” -f 10 | cut -d “<” -f 1`
SERVER=${SERVER^^}

until false
do

if [ “$SERVER” == “SERVIDOR_A” ] || [ “$SERVER” == “SERVIDOR_B” ] || [ “$SERVER” == “SERVIDOR_C” ]
then
echo ‘SUCESSO: Teste de Conectividade EAI no servidor de “AI/Siebel Server”:”‘$HOST’/’$SERVER'” com Sucesso.’
echo ‘ ‘
echo ‘*A User Interface da aplicacao deve estar operacional, mas deve ser verificado manualmente por garantia.’
break
elif [[ $count -eq 5 ]]
then
echo ‘ERRO: Teste de Conectividade EAI no servidor de AI ‘$HOST’ falhou depois de ‘ $count ‘ tentativas.’
## terminates the loop.
break
fi

((count++))
echo ‘ATENCAO: Falhou a ‘ $count ‘ tentativa… Nova tentativa em 30 segundos… (CTRL+C para cancelar o check)’
sleep 30

SERVER=`curl -s -k –request POST –header “Content-Type: text/xml;charset=UTF-8” –header ‘SOAPAction: “document/http://siebel.com/CustomUI:CacheIntegracao”‘ –data ‘<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:cus=”http://siebel.com/CustomUI”><soapenv:Header/><soapenv:Body><cus:CacheIntegracao_Input/></soapenv:Body></soapenv:Envelope>’ ‘https://’$HOST’.dominio.com.br:PORTA/siebel/app/eai_anon/ptb?SWEExtSource=AnonWebService&SWEExtCmd=Execute’ | cut -d “>” -f 10 | cut -d “<” -f 1`
SERVER=${SERVER^^}

continue
done

Se você adicionar seu shell script a algum alias do Sistema Operacional, pode fazer um este básico de integração com o EAI do Siebel diretamente da console do seu servidor Linux.
Shell script com alias

E pronto.

A implementação de testes simples de integração com Siebel demonstra-se uma solução eficaz para garantir a estabilidade e funcionalidade dos servidores logo após sua inicialização. O processo descrito, desde o uso de workflows de integração até a automação com scripts shell, não apenas simplifica a validação das conexões anônimas, mas também reduz o tempo necessário para liberar o ambiente para uso pelos sistemas integrados.

Ao explorar conceitos como consulta de variáveis de ambiente e manipulação de XML, este artigo destaca a importância de práticas bem estruturadas para otimizar operações em ambientes corporativos. A abordagem apresentada serve como um exemplo de como ferramentas simples podem ser utilizadas para resolver desafios complexos, promovendo maior eficiência e confiabilidade.

Recomenda-se que futuras implementações considerem adaptações específicas para diferentes configurações de servidores e fluxos de trabalho, ampliando ainda mais o potencial dessa solução. Com isso, espera-se que os profissionais possam aplicar os conceitos aqui discutidos para melhorar continuamente seus processos de integração e automação.

 

Compartilhe esse conteúdo com seus contatos