Domanda

io ho ottenuto una domanda per quanto riguarda jBPM. In uno dei nostri progetti che ho sviluppato un enterprise service (Net) che altri sistemi (jBPM, Delphi, ecc) dovrebbe ricevere i dati. Per questo sto fornendo un interfaccia SOAP.

Ora c'è un caso che quando i contatti del sistema di jBPM il servizio, un po 'di lavoro manuale deve essere fatto prima che i dati alle esigenze di sistema possono essere restituiti. In questo caso, il servizio SOAP restituisce un "ManualWorkTicketId". Questo ID può quindi essere utilizzato per interrogare l'interfaccia SOAP in diciamo intervalli di 1 minuto. Non appena il lavoro manuale è stato fatto, il servizio SOAP è in grado di restituire i dati necessari per il sistema jBPM. Dal momento che il servizio di impresa non dovrebbe conoscere tutti i sistemi e solo fornire un'interfaccia SOAP per la comunicazione, vedo questo come una buona soluzione per gestire la parte asnychronous.

Ma lo sviluppatore jBPM mi ha detto che questo non è un buon approccio. Invece egli suggerisce di scrivere le informazioni in una coda di ActiveMQ, che avrei dovuto ascoltare. Quando poi il lavoro manuale è fatto, devo scrivere di nuovo a un'altra coda del sistema jBPM mi ha fornito, in cui il messaggio allora è consumato dal processo jBPM.

  1. Domanda: Dato che non sono uno sviluppatore jBPM, mi chiedevo se non c'è un modello standard per gestire la parte web service all'interno di polling jBPM
  2. ?
  3. domanda:? Quale approccio suggeriresti in questi casi tenendo presente che il servizio impresa deve essere debolmente accoppiati
È stato utile?

Soluzione

Se si implementa una coda JMS, quindi presumo lo sviluppatore Delphi si lamenterà. SOAP è una buona soluzione.

Date un'occhiata a questo , e dare al sviluppatore jBPM. (A proposito, stai usando jbpm 3 o 4?)

Se un tempismo perfetto non è importante, si può richiamare il servizio SOAP ogni X minuti e vedere il risultato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top