That's not going to work. An HTTP request doesn't return anything at all until
all the code in the request handler has completely finished processing. So you'd get a long delay and then 100%.
To get a progress display, you're going to need to run the long-running display in a separate
thread, start the thread in you backing bean, then return to the caller, leaving the thread to run.
You also need to make sure that the thread you start isn't tied to a transient object like a
servlet request or you'll run out of HTTP request processors. Traditionally, I've simply set up what I call a "null servlet" whose init() method launched a thread engine which could be petitioned to run the threads on its own resource structure.