Software Architecture with Java EE 6