Posts Tagged rpc

ITworks Design Journal: GWT RPC vs JSON

This post is part of the “ITworks Design Journal” series.

Currently, ITworks uses JSON generated via PHP for client-server communication. This decision was made for several reasons:

  • I am not extremely familiar with Java servlets or serving them (ie, Tomcat, etc)
  • I am not familiar with accessing SQL databases from Java code
  • I am experienced in PHP and quickly wrote code to convert SQL result sets into JSON responses
  • I already had code to authenticate via LDAP written in PHP that could be reused for this application
  • The university already has servers set up to serve PHP scripts

However, after reading more about GWT RPC and how it works, I decided to try my hand at setting up my first Tomcat instance. When the university’s web developer asked for a new Apache server, I figured it was an opportune time.

So, after a lot of experimentation and a lot of reading documentation, I installed my first Tomcat server, and even got the GWT "Hello World" demo app (the one that gets created when you use webAppCreator) to run by using mod_proxy and ProxyPass (I’m still having issues getting mod_jk to do what I want it to, but I think I’m close). So, now using GWT RPC is a real possibility.

GWT’s RPC sheme is very nice; you can call server-side methods, and your input parameters and the server’s return are all automatically serialized and sent acorss the wire–you don’t have to worry about it at all. This is certainly a very nice feature. I also feel confident that I can get LDAP authentication and SQL connectivity down fairly quickly.

The one downside is connection other non-GWT applications to the server-side code. If I want, say, an iPhone app, or a desktop widget, to be able to connect to the server to retrieve information I have to either (1) figure out how GWT RPC sends and receives information, or (2) code the server-side logic again in another language.

It’s still up in the air for me. Thoughts?

, , , , , , ,

4 Comments