Pergunta

Eu tenho uma pergunta sobre JBPM. Em um de nossos projetos, desenvolvi um serviço corporativo (.NET) da qual outros sistemas (JBPM, Delphi, etc.) devem receber dados. Para isso, estou fornecendo uma interface de sabão.

Agora, há um caso de que, quando o sistema A JBPM entra em contato com o serviço, algum trabalho manual deve ser feito antes que os dados que o sistema precisa podem ser retornados. Nesse caso, o serviço SOAP retorna um "manualworkticketid". Esse ID pode ser usado para pesquisar a interface SOAP em, digamos, intervalos de 1 minuto. Assim que o trabalho manual foi realizado, o serviço SOAP poderá retornar os dados necessários ao sistema JBPM. Como o serviço corporativo não deve saber sobre nenhum sistema e apenas fornecer uma interface de sabão para comunicação, vejo isso como uma boa solução para lidar com a parte comonnycrona.

Mas o desenvolvedor da JBPM me disse que essa não é uma boa abordagem. Em vez disso, ele sugere escrever as informações em uma fila ActiveMQ, que eu deveria ouvir. Quando o trabalho manual é concluído, tenho que escrever de volta para outra fila que o sistema JBPM me forneceu, onde a mensagem é consumida pelo processo JBPM.

  1. Pergunta: Como não sou desenvolvedor da JBPM, eu queria saber se não há um padrão padrão para lidar com a parte da pesquisa de serviço da Web no JBPM?
  2. Pergunta: Qual abordagem você sugeriria nesses casos tendo em mente que o serviço corporativo deveria ser vagamente acoplado?
Foi útil?

Solução

Se você implementar uma fila JMS, presumo que o desenvolvedor da Delphi reclamará. Soap é uma boa solução.

Dê uma olhada neste, e entregue ao desenvolvedor JBPM. (btw, você está usando o JBPM 3 ou 4?)

Se o tempo perfeito não for importante, ele pode pesquisar o serviço de sabão a cada x minutos e ver o resultado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top