Java EE 7 Recipes: A Problem-Solution Approach