Yo diría construir un backend REST. En mi último proyecto comenzamos desarrollando usando GWT-RPC durante los primeros meses, queríamos un rápido arranque. Más adelante, cuando necesitábamos la API REST, era tan costoso hacer la refactorización que terminamos con dos API de back-end (REST y RPC)
Si construyes un backend REST apropiado, y una infraestructuralización infra en el lado del cliente (para transformar el json \ xml en objetos GWT Java), entonces el beneficio del RPC es casi nulo.
Otra ventaja a veces olvidada del enfoque REST es que es más natural para el navegador que ejecuta el cliente, RPC es un protocolo propiciatorio, donde todas las solicitudes usan POST. Puede beneficiarse del almacenamiento en caché del lado del cliente al leer recursos de la manera estándar.
Contestación comentarios AMS: con respecto al protocolo RPC, última vez que "olieron" usando Firebug que no se veía como JSON, por lo que no saben de eso.Sin embargo, incluso si está basado en json, todavía utiliza solo el método HTTP POST para comunicarse con el servidor, por lo que mi punto aquí sobre el almacenamiento en caché sigue siendo válido, el navegador no almacenará en caché las solicitudes POST.
En cuanto a la retrospectiva y lo que podría haber sido mejor, escribir el servicio RPC en una arquitectura orientada a recursos podría llevar más tarde a una migración más fácil a REST. recuerde que en REST normalmente se exponen los recursos con las operaciones CRUD básicas, si se enfoca en ese enfoque al escribir el servicio RPC, entonces debería estar bien.
Algunas aclaraciones adicionales: 1) Me gustaría tener otras interfaces para esta aplicación, la palabra clave podría así que hay un patrón de diseño para diseñar cosas con GWT-RPC de tal manera que se implemente una capa de interfaz REST en el futuro no requiere gran refactorización? – ams