The progress indicator is built-in, and will default to indeterminate mode. As well, server push is not necessary for receiving the rendered view from the lifecycle in which the files were uploaded.
The upload occurs within as single JSF lifecycle, along with the form's other component processing, allowing applications to handle input field validation together with file content validation, for model coherency. The actual POST is non-AJAX, but leverages ICEfaces to return incremental page updates. The FileEntry component allows for uploading files to the server within a form submit POST.