Showing posts with label offline mode. Show all posts
Showing posts with label offline mode. Show all posts

Friday, February 28, 2014

Offline Apps: Don’t Forget the Security

Often when discussing the challenge of creating offline mobile apps we jump right to the issue of the synchronization business logic. Let today’s discussion serve as a reminder that offline mode presents important security considerations that must be planned for by the developer as well.

The Magic xpa Application Platform is among the elite class of application platforms that now provides capabilities for offline applications. 

Nevertheless, intentional effort is required to assure that proper and unique security measures are taken to protect offline apps and their data.  Offline security requires technical implementation measures, but beyond this it requires that developers apply business logic to the architecture and workflow of an application to make it secure. Even the most secure application platform can be misused to create insecure apps, so be careful to approach offline business app logic very carefully. 

Security may indeed be the most significant challenge for offline access to web services as opposed to using pure cloud services, because while the same network, server and application security concerns apply, offline access also requires storage on the device.  Therefore, malware, lost and stolen devices, and BYOD can all put your organization at risk of losing data held offline. Malware could access the local storage, lost or stolen devices could fall into the hands of data thieves, and a disgruntled user with their own device could seek to divulge the contents of their local storage after leaving the organization.

As with any mobile security challenge, this requires security to be built in to the business processes on several layers, from the device to the application and the user, as appropriate for the data being stored.  Securing devices is typically achieved through software measures such as user authentication and encryption while modern mobile device management (MDM) vendors provide tools external to the apps themselves like geofencing, remote wiping and device tracking to provide extra security and control over the device.Magic Software now offers a Mobile Device Management (MDM) platform to accompany its well known Magic xpa Application Platform and Magic xpi Integration Platform.

MDM and mobile application management (MAM) tools as well as modern application platforms help secure the applications, in particular providing the organization with the ability to view and manage who can access which applications, where, when and on which devices.  Finally, the data itself can be secured by requiring user authentication.  A combination of these layers should be used according to the data being stored.

For Magic xpa applications that require user authentication, user credentials should be securely stored on the client, to allow for operation without server authentication. To ensure validity, such credentials should be re-checked when connected.

When using integrated security with Magic xpa Application Platform, the user logon details and security credentials are automatically kept encrypted in the client cache. When running the application without connecting to the server, the last logon details (including rights) are used. Note that when running the application without connecting to the server, the logon dialog box will not appear. The logon credentials will be automatically synchronized on initial connection and on subsequent connected application startups.


Developers of offline apps have the tools they need, so don’t forget the security.

Wednesday, September 4, 2013

Off the Hook: Introducing Offline Programs

With the release of Magic xpa 2.4, Magic xpa RIA applications have offline capabilities in addition to online capabilities for browser-free Internet and mobile apps. Magic xpa applications are comprised of multiple programs that perform specific tasks. Magic xpa Application Platform now supports the creation of RIA applications that may be comprised of both online programs that are connected to the server and offline programs that use local resources and storage. Magic xpa Offline Programs are Rich Internet/Client applications (RIA) that work while not connected to a server and store information locally on the client device. An offline program runs only on the client and will not access the server and cannot use server resources.
Because you can now build applications with both connected and offline capabilities for Windows, iOS and Android devices it is important to think through the necessary application patterns to deal with the lack of a connection to the server. Offline programs allow users to continue to be productive in areas with intermittent, limited or unavailable internet connectivity. While working offline, data is stored locally on a local database, and periodically, when internet connectivity resumes, you can synchronize it back to the server.
Offline programming requires you to overcome the limitations imposed by the challenges and constraints of working without a server connection. In contrast to online programs, the server connectivity is either non-existent or unreliable. Your apps need to be adjusted to handle this state carefully, while creating a usable app and maintaining data integrity. The challenge in offline programming is to keep the data consistent and synchronized while providing the user a meaningful experience while disconnected. Magic xpa allows you to create apps that store a subset of relevant server data or client-only data locally on the client. Magic xpa allows you to store user credentials on the client for apps that require user authentication. In a Magic offline program, data can be entered on the client and later updated for consistency with the server. This means Magic xpa now provides bi-directional data sync between the client and the server. Magic xpa ensures a seamless user experience when connections are slow or lost allowing uninterrupted operation and data consistency. A Magic xpa offline program also accesses application resources locally on the client such as application metadata and images. New tools and features in Magic xpa allow developers to overcome offline programming challenges and provide users with a rich-interactive experience regardless of connection issues.
Since Magic xpa applications can work without network connectivity or with intermittent network connectivity, new application patterns must be considered.
Startup. When you start a Magic xpa offline program for the first time, you will need to be connected. Magic xpa uses this first invocation to sync the resources that you the programmer have specified such as client-side data, metadata, and images.
User Authentication. When you want an app with user authentication, the user credentials will need to be stored securely on the client in order for authentication to occur while offline. When reconnecting, credentials should be checked again.
Local Resources. After initial startup, offline programs always use local data and images as resources. In this fashion, they always work even when there is no connection to the server. Data updates are always stored to the local device and only when connected is the matter of data consistency with the server handled.
Master-Master Synchronization. Magic xpa allows you to use a master-master pattern http://msdn.microsoft.com/en-us/library/ff650702.aspx for bi-directional data synchronization so you will need to think through your business rules for resolving data conflicts. At intervals you specify, the application will attempt to synchronize client-modified data back to the server and server-modified data back to the client. The assumption is that there are multiple clients that may be modifying data as well.
Metadata Synchronization. Magic xpa will automatically synchronize application metadata on startup or when the application changes.
Whether you need Windows, iOS (iPhone, iPAD) or Android apps in offline mode, Magic xpa Application Platform provides an ideal solution for developers of enterprise mobile apps that are fully integrated and completely native. 

In a future post, will look further into how-to create offline programs in Magic xpa 2.4 and above.