Part II: Is Your SOA Enough for Building Mobile Apps?
Published on: November 14, 2014
This is the second in our series of blogs comparing the frameworks for traditional and mobile app development. In our first blog, “Is Your SOA Enough for Building Mobile Apps,” we examined some of the benefits of the SOA approach. In this blog, we’ll discuss the limits of an SOA framework for mobile app development.
SOA is not enough because mobile devices are not like the platforms of yore. They bring unforeseen complication into the world of IT, and when you couple that with the potential power of mobile apps and ubiquity of devices you have a set of needs that requires a thoughtful and strategic approach.
Mobile Devices Have Different Limitations
Mobile devices – whether a cell phone, tablet, or mini laptop – are amazingly powerful, but are constrained by bandwidth and battery life. Apps have to be architected to conserve both or the user experience suffers.
Mobile devices require apps that are architected to
- Conserve bandwidth – you cannot send a large, metadata-encrusted SOAP objects to a phone the way you can with larger platforms. Likewise, you also should not send unfiltered data sets filled with unnecessary data and have the device to extract the one field it needs. Doing so consumes unacceptable amounts of bandwidth and ultimately leads to frustrated users.
- Conserve battery – when a mobile app performs significant amounts of computation, the device chews through a significant about battery power. As much business logic as is possible must be done service-side to keep the mobile devices functioning at their peak.
Most apps written for a larger platform are intolerable on a mobile device, and more than just the UI has to be re-engineered.
Connectivity Is Intermittent
One significant inconvenience of mobile devices is that connectivity is not always available. It is a mild annoyance when you are not able to play your favorite game on the subway, but it cuts into productivity if you cannot conduct business in basements, remote regions, or other areas with no cell service or Wi Fi.
Mobile workers need to be able to continue work off-line because the work does not stop when connectivity stops. Working off-line is not difficult to implement if the app provides read-only access to background information, but if the app is designed to provide near real-time support for transactions, the app needs to store and sync data which is a nontrivial task.
Mobile Devices Are…Mobile
One of the most difficult challenges of working with mobile devices is that they are mobile, making it very difficult for IT departments to secure the data used by the device and govern the activities taking place on the device. They move beyond firewalls, travel across international borders and get lost in cabs.
The prevailing bring-your-own-device (BYOD) policy makes it even more difficult, as corporations have less control. And, phones and tablets typically are used for both personal and business purposes. IT has to secure employees from:
- Non-business apps – a user can inadvertently download an app with spyware which could compromise corporate data;
- Non-employee users – phones are often picked up by friends or children who are not authorized to use corporate apps;
- Lost devices – if a phone is left behind, IT has to be able to wipe sensitive corporate data without harming personal data such as pictures or music.
Security is always a challenge, but mobility adds a new dimension to the problem.
In the third and final blog of this series, we’ll explore why a mobile app server is integral to enterprise mobile app development.