Practical JSF in Java EE 8 - Michael Müller (Springer, 2018)