Ci sono state molte ricerche recenti nel considerare come le chiamate HTTP REST potrebbero sostituire il concetto di coda dei messaggi.
Se si introduce il concetto di processo e attività come risorsa, la necessità di un livello di messaggistica centrale inizia a evaporare.
Ex:
POST /task/name
- Returns a 202 accepted status immediately
- Returns a resource url for the created task: /task/name/X
- Returns a resource url for the started process: /process/Y
GET /process/Y
- Returns status of ongoing process
Un'attività può avere più passaggi per l'inizializzazione e un processo può restituire lo stato quando sottoposto a polling o POST a un URL di richiamata al termine.
Questo è molto semplice e diventa abbastanza potente quando ti rendi conto che ora puoi iscriverti a un feed rss / atom di tutti i processi e le attività in esecuzione senza alcun livello intermedio. Qualsiasi sistema di accodamento richiederà comunque una sorta di front-end Web e questo concetto è integrato senza un altro livello di codice personalizzato.
Le tue risorse esistono fino a quando non le elimini, il che significa che puoi visualizzare le informazioni storiche molto tempo dopo il completamento del processo e dell'attività.
Hai individuato il servizio di rilevamento, anche per un'attività che prevede più passaggi, senza protocolli extra complicati.
GET /task/name
- returns form with required fields
POST (URL provided form's "action" attribute)
La scoperta del servizio è un modulo HTML, un formato universale e leggibile dall'uomo.
L'intero flusso può essere utilizzato a livello di codice o da un essere umano, utilizzando strumenti universalmente accettati. È un client guidato e quindi RESTful. Ogni strumento creato per il Web può guidare i tuoi processi aziendali. Hai ancora canali di messaggi alternativi POSTANDO in modo asincrono su un array separato di log server.
Dopo averlo considerato per un po ', ti siedi e inizi a capire che REST potrebbe semplicemente eliminare la necessità di una coda di messaggistica e di un ESB.
http://www.infoq.com/presentations/BPM-with-REST