One way of avoiding this boilerplate is a tight binding layer with the underlying back-end technology that automatically generates the DTO, remote proxy, and remote plumbing parts. In the process, the binding layer can bring a lot of interesting back-end features forward to the client as well.
Fortunately, for the Java EE ecosystem, my Tunisian friend Bessem Hmidi has formulated just such a solution focusing on CDI as the back-end component model. He has aptly named his project AngularBeans and the project is now on GitHub for everyone to use. I am very happy that we were able to host Bessem at JavaOne 2015 to talk about the project. In his session, he explained the basic motivation for AngularBeans, discussed the features he has implemented so far, and did quite a bit of live coding in the process!
You can view the session below: (click here if you can't see the embedded video)
The session really speaks volumes as to the power of the solution and why it is a very valuable part of the CDI/Java EE ecosystem. The project is at a very early stage, so this is a great time to get involved, evaluate the project, and perhaps even contribute.