I plan to write a server which will be accessed through both an AJAX Web interface and a client program I will write. The two interfaces will provide similar functions. For example, users can sign up using either Web or client interface (think Skype). The client shall use RPC over HTTP to communicate with the server.
Is there any server framework that enables a single server to to serve both HTML/AJAX and RPC requests with minimal efforts? Google's GWT seems a good candidate but I have no experience with it...
Try looking at XML-RPC?
Google's GWT is well suited if you want to do client-side programming in java instead of javascript as Java provides better tooling in development and testing. Also GWT can produce cross-browser compatible javascript( At the heart of GWT, there lies a GWT compiler that translates java-to-javascript.)
As your requirement is to have RPC over HTTP for web client as well as other rich client, then you can either look for RPC frameworks such as
Apache avro [http://avro.apache.org/]. The advantage is if you carefully design your API's then they can be consumed by your web client (As JSON format is supported at javascript) as well as your rich clients
Msgpack-rpc [http://msgpack.org/]. This is a binary serialization framework.