Enterprise Mobility Seamless offline-online
One of the discussion points in any enterprise mobile application design is whether it should be an online application or offline application. Typically discussion revolves around connectivity where one group claims that whole world is connected and other group claims that wireless connectivity is unreliable. In my earlier Qualities Required for a Successful Enterprise Mobile Solution I mentioned that seamless offline-online as a quality for the enterprise mobile application and probably taking this route it is possible to resolve this conflict while designing the mobile application and choosing the right architecture. I am trying to give next level of detail on this seamless offline-online quality.
What is Seamless offline-online?
Typically mobile applications are enabled to provide information visibility to the end users and also to gather useful information from the field into the enterprise information system. Offline or online is a question that is more relevant for information visibility to the end user. Users should be able to access information when required any time. But depending on the quality of the information and business process involved it is possible to determine what information is required always and what is required on demand. That information which is required always to be available should be cached on the client. Other information which are really fluid in nature or would be accessed occasionally based on users need can be made available through request response call which needs connectivity. Essentially seamless offline-online is an approach to make some information available offline synchronized with every change happening in the backend system and other information made accessible through user requests on demand when connectivity is available. This categorization has to be done carefully per scenario.
I am giving a few examples to map it to some existing applications
- PIM access from mobile devices – mails, messages, calendar events are accessible locally even when not connected. Address book can be looked up online only when you are connected and you can take a local snapshot as contacts once accessed
- Sybase Mobile Sales for SAP CRM – Objects like accounts, contacts, opportunities etc., are cached based on business rule (like employee responsible). Also it is possible to do online search for objects like oppurtunities
Typically all the information which users have to act upon and all the related information which would help in users to act on a specific task can be cached. If a user has to act on a specific service request, then service request details along with related customer information can be cached. But the historical transactions for that customer can be accessed on demand. Following pictorial example is another probable scenario which would help in understanding it better
Important point in local caching is the data integrity. Deleting a old information from the device is also as important as showing new information alert. It is not a good idea to keep lots of unwanted information on the device, since it is going to affect end user productivity.
Online or offline is not necessarily exclusive per mobile application. Real valuable applications for enterprise are hybrid in nature. We need one platform to handle both access patterns. This is one of the key design principles that are enabled by SAP Sybase Co-innovation Platform for Enterprise Mobility. It is possible to develop such a hybrid application using single programming approach using this platform.