OK, a mobile Web service client is not exactly a new idea. I talked about it more than two years ago back in 2002. The .Net Compact Framework has been supporting Web services for quite some time now. On the Java side, kSOAP is a J2ME based SOAP parser and the JSR 172 provides a standard set of XML and SOAP APIs on J2ME devices. Tools like Visual Studio, IBM WebSphere Device Developer, JBuilder, and SunONE Studio have provided code generators to drastically simply the work for developers. I wrote a kSOAP tutorial in August 2002 and also covered both kSOAP and JSR 172 extensively in my "Enterprise J2ME" book.Read more: SOA and Web Services Go Mobile, Nokia-Style
Those are all nice. However, there is a key problem with the current approaches: All the frameworks more or less assumed that the device interact with one service endpoint at a time in a synchronous remote procedure call (RPC) mode. That is to take all the overhead of Web service but get little of the promised flexibility, scalability and asynchrony in return. Indeed, most developers opt to implement custom RPC protocols to interface with mobile servers. I recommended building a service facade to hide the backend complexity in this simple scenario.