Hi all,

Back-end:
STOMP is a simple text-orientated messaging protocol, based on which, we can accomplish the "TCP for the web".

What we need is a message server and a client that communicate with the server. We can send messages to server using this protocol and receive messages from server, which needs a subscription to the server first and then server gives the callback.

Here are the possible STOMP servers:

Apache ActiveMQ         the most popular and powerful open source messaging and Integration Patterns server  
Apache Apollo               a redesigned version of ActiveMQ
CoilMQ                           a lightweight pure Python STOMP broker inspired by StompServer    
Gozirra                            a lightweight Java STOMP broker    
HornetQ                         puts the buzz in messaging    
MorbidQ                        a STOMP publish/subscribe server with absolutely no potential to cluster   
RabbitMQ                      an Erlang-based, multi-protocol broker with full support for STOMP via a plugin   
Sprinkle                          written in Python and runs on Unix type platforms    
Stampy                           a Java implementation of the STOMP 1.2 specification   
StompConnect               provides a bridge to any other JMS provider  
StompServer                  a lightweight pure Ruby STOMP server

And the client:
pyactivemq     module for communicating with the ActiveMQ message broker
stomper          a client implementation of the STOMP protocol
stompest        a full-featured STOMP implementation for Python including both synchronous and asynchronous clients
stompy           implementation of the STOMP protocol in Python
stomp.py        a Python client library which can also be run as a standalone, command-line client for testing.

Front-end:
As I mentioned before. Front-end only change the way that the long time task communicate with the back-end. UI should look just the same with a more enhanced display. Also, more function will be enabled according to this like we can enable actions when generating a debug report, etc.

Best Regards

Wang Wen