Shay Going Mobile - Home
Servicing Mobile Applications – A Better Way
Shay Shmeltzer
MAR 06, 2014 03:05 AM
A+ A A-

When developers look at mobile application development a big chunk of their planning goes into the implementation details for the mobile front end. They’ll look into things like the design of pages, flow between functionality, the data that is displayed in each page etc.

All of those considerations will help deliver a better user experience and can increase adoption. But beyond tuning the client side, developers should also pay as much attention to the server side of their application.  

Most enterprise mobile apps rely on data delivered from remote servers. And if this side of the mobile application is not correctly planned the whole experience of your mobile application can be damaged because of bad performance and network overload.

One key difference between enterprise mobile apps and enterprise web apps is the network they are running on. While most enterprise Web apps work over wired network infrastructure, mobile apps in many cases use slower and less stable networks. In addition many mobile users have data caps attached to their mobile contract. They would really appreciate it if your mobile application network usage won’t put them over their limits and cause additional costs.

How can an enterprise IT shop adopt to these requirements? What can they do to optimize their service backend?

Here are three basic steps:

RESTify your services

While many of the existing service APIs for enterprise applications are SOAP based services. REST is much lighter in terms of the amount of data that passes back and forth between the client and the server. REST eliminates a lot of the XML that SOAP uses to describe the content. This is why REST and specifically the JSON flavor of REST is becoming the de-facto preferred solution for your service end-points in the mobile world.

Shape your data objects

Existing services aimed to service many clients with different needs and as such tend to return a lot of information with each request. In this way, various clients each can access the same service using a part of the data it provides. For example an employee service might return the full record for an employee containing tens of fields of data.

On mobile device you usually show less information because of screen real estate design considerations. In addition you want to eliminate any redundant data from traveling over the network and slowing your application. To optimize the backend and network experience you should provide services that return only the data that is needed. In other words – shape your data object so they address specific mobile needs.

Data Caching

This consideration is not just for Mobile apps, and Web apps could benefit from it too. The idea is to reduce the load on your backend server, by caching frequently requested data, that doesn’t change much, on the middle tier and eliminate querying the database too frequently. For example, the catalog of products a company is selling is not likely to change during the day. So instead of executing a query for all the products in your database for each customer that access your application, execute the query once per day, cache the data in the middle tier, and return this cached data to every customer.

The problem for many organizations is that their services entry points are already developed. And redeveloping those access points from scratch is a costly task. This is where enterprise service bus products can help organizations achieve this new mobile service layer faster.

This is the reason that we at Oracle include the Oracle Service Bus as part of the Oracle Mobile Suite. A service bus can take existing services and other end points such as EJB and transform their interaction protocol to REST. In addition the service bus can simplify extracting specific data from these services and providing new simpler data structures to the mobile clients. To top it all, the Oracle service bus provides service data caching in the middle tier, leveraging Oracle’s Coherence caching technology, with just a click of a button you can specify that a service will cache its data as well as the frequency that additional fetches will be performed at.

To summarize, don’t forget to think about your server backend when you are looking into extending your enterprise applications to the mobile world. While it is the less “sexy” part of your application – it is at least as important as your front end for the overall experience users will have with your application.

[%= name %]
[%= createDate %]
[%= comment %]
Share this:
Please login to enter a comment:

Computing Now Blogs
Business Intelligence
by Keith Peterson
Cloud Computing
A Cloud Blog: by Irena Bojanova
The Clear Cloud: by STC Cloud Computing
Computing Careers: by Lori Cameron
Display Technologies
Enterprise Solutions
Enterprise Thinking: by Josh Greenbaum
Healthcare Technologies
The Doctor Is In: Dr. Keith W. Vrbicky
Heterogeneous Systems
Hot Topics
NealNotes: by Neal Leavitt
Industry Trends
The Robotics Report: by Jeff Debrosse
Internet Of Things
Sensing IoT: by Irena Bojanova