El patrón de comando es/era un patrón recomendado y supone un gran paso adelante para construir una interfaz RPC utilizando RemoteService y RemoteServiceServlet, que es prácticamente todo lo que estaba disponible en el momento de la presentación de Google I/O a la que hace referencia .
El enfoque GWT-RPC es muy bueno y funciona bien y proporciona el mecanismo de procesamiento por lotes y deshacer. Debo decir que nunca he implementado una sola función de deshacer() en ninguno de mis controladores, aunque utilizo el procesamiento por lotes.
Un enfoque más nuevo sería utilizar RequestFactory y asignar su código a su servicio. Esto admite lotes pero no deshacer. No es una gran tarea de implementación, pero tiene sus peculiaridades. Un buen ejemplo se puede encontrar here.
Si necesita una interfaz REST, usar esta herramienta en su GWT para guardar el desarrollo de dos interfaces parece una buena idea. Pero como @Riley Lark dice que tendrás que escribir tus propios lotes (y deshacer() si es necesario).
Mi sensación es que tanto el procesamiento por lotes como el deshacer realmente no encajan con el enfoque REST, pero esa es solo mi opinión. Hay más información here de una pregunta similar.
Perosnally Probablemente usaría la infraestructura de GWT y RequestFactory para hacer comunicaciones de cliente a servidor y aprovechar el protocolo de procesamiento por lotes y el protocolo optomised y la protección de scripts entre sitios y escribir una interfaz REST por separado para lo que necesite usar.
Consulte http://code.google.com/apis/gdata/docs/batch.html como un ejemplo. –