Al final pegandote con ello aprendes bastante yo he empezado sin tener ni idea y gracias a darme bastante con el estoy viendo que es mas facil de lo que parece sobre todo si ya has manejado anteriormente JSF, lo que es un poco lio es hacer interactuar el backend con el frontend, esto es que precises hacer cosas visuales con la respuesta del servidor, en mi caso me costo un poco entender como provocar por ejemplo que una ventana modal al guardar provocase una salida en pantalla, guardase el document actualizase la pantalla padre que la abrio y se cerrase, al final son acciones en Eventos pero me costo un poco entenderlo en alguna de ellas lo que provocaba era que la salidad e servidor fuese una llamada a un js de cliente con llamadas de este tipo
Esto es un js de Servidor que lo que hace es invocar javascript en el lado de cliente segun creo internamente es como si en la salida de un agente escribieses print "<script>window.close();</script>"
facesContext.getViewRoot().postScript("window.close()");