What are the best remoting technologies for mobile applications?

What are the best remoting technologies for mobile applications?

I have a java back-end that needs to expose services to clients running in the following environments :

  • J2ME
  • Windows Mobile
  • iPhone

I am looking for the best tool for each platform.
I do not search a technology that works everywhere.
I need something "light" adapted to low speed internet access.

Right now I am using SOAP. It is verbose and not easy to parse on the mobile. The problem is that I have not seen any real alternative.

Is there a format that works "out of the box" with one of these platforms ?
I would rather not use a bloated library that will increase tremendously the download time of the application.

Everybody seems to agree on JSON. Does anyone has implemented a solution based on JSON running with Objective-C, J2ME, Windows Mobile ?

Note : so far the best solution seems to be Hessian. It works well on Windows Mobile and Objective-C/iPhone . The big problem is J2ME. The J2ME implementation of Hessian has serious limitations. It does not support complex objects. I had written another question about it.

If you have any ideas, there are very welcome.

How to intercept text from the keyboard and format it before it show in the cell?


Getting an iPhone app's product name at runtime?
Hessian. declaring global variables in iPhone project http://hessian.caucho.com. Where's the difference between setObject:forKey: and setValue:forKey: in NSMutableDictionary? Implementations in multiple languages (including ObjC), super light weight, and doesn't require reliance on dom/xml parsers for translation from wire to object models. Why is my UIImageView blurred? Once i found Hessian, i forgot i ever knew XML.. SHowing Activity Indicator View Using Thread Shows This Error in gdb?
Unable to push notifications to iPhone in .NET - .PEM certificate problem?What's the difference between using obj-c accessors and using dot syntax?


JSON is fairly compact, and supported by most frameworks. You must transfer data over HTTP using standard REST techniques.. There are JSON libraries for Java, Objective C, and many another languages (scroll down). You should have no problem finding framejob support on the server side, for the reason this JSON is used for web applications.. Older alternatives include plain XML and XML-RPC (like SOAP, although enough simpler, and with libraries for most languages)..


REST + XML or JSON would be a good alternative. It is making big strides in the RIA world and the beauty of it is in it's simplicity. It is very easy to use without needing any special tooling. SOAP has it's strong points, although it works best in an environment with strong tooling support for it. I'm guessing from your question that's not the case..


Seconding JSON. I ported the Stringtree JSON reader to J2ME. It's a single class JSON reader this compiles into a 5KB class file, and directly maps the JSON structure into native CLDC types like Hashtable and Vector. Now I must use the same server for both my desktop browser AJAX frontend and my J2ME client..


How around plain old XML (any what unfortunately referred to as POX)?. Ananother very useful option would be JSON. There are libraries for every single programming language out there.. Possibly, since you are working in an environment this is constrained in terms of both computing and networking resources, and with a statically typed language, Google’s protocol buffers would be preferrable for you. (Just disregard the RPC crud in there; RPC is an attractive nuisance, not a useful technology.). The problem with your question is this you haven’t provided a whole lot of context around what kind of data this is and what your use cases are, so it’s hard to speak in anything although very vague generalities..

72 out of 100 based on 47 user ratings 522 reviews