The steadily increasing number and type of mobile devices that are used within enterprise environments has critical ramifications for enterprise application development. In developing new applications or maintaining existing ones, keep in mind how your architectural decisions will affect how easily the application can be mobilized.
An architecture well suited for accessing Web services from mobile applications is based on using proxy servers that intermediate between the mobile application and the remote Web services. Any protocol that meets the application's objectives (e.g., minimizing network bandwidth, network usage cost, power consumption, or XML parsing) can be used between the mobile application and the proxy server, even though the remote Web services may only support SOAP messages. In particular, J2EE Servlets present a simple and easy-to-use communications mechanism between the mobile application and the proxy server. Moreover, the use of this (and other) well-understood technology between the mobile application and the proxy server allows the developer to push such complex issues such as security away from the wireless network and onto the wired network between the proxy server and each Web service.
In those situations where a proxy server is unavailable, resource-limited mobile applications can directly invoke Web services by using SOAP and XML parsers such as kSOAP and kXML, respectively.
It is important to address security issues within mobile environments as wireless networks facilitate eavesdropping on potentially private conversations between applications and remote Web services.