Sunday, June 19, 2011

Mobile Architecture for Enterprise Applications

It is widely expected that revenue from mobile solutions will grow rapidly in the comming years. People are getting used to have access to their apps and data anywhere and anytime. Not only as a consumer, but also when doing business. Enterprises are under pressure to make their applications and data available on all kinds of mobile devices. To do this they have to make some key decisions about the solution architecture, like native client vs. thin client, developing for target mobile operating systems or using a multiplatform framework, supporting multiple clients or a dedicated device, how to manage access and devices. 

The following picture gives a high-level Mobile Architecture for Enterprise Applications that can be used as a reference during solution crafting of a more detailed Mobile Architecture. 

Mobile Architecture for Enterprise Applications

The following list contains the elements of this architecture and gives areas of concern for mobile design.

Mobile Enterprise Application Platform (MEAP)
A Mobile Enterprise Application Platform offers middleware with standard solutions for common functionality across server and clients on multipe devices. When supporting more than one application or targeting more than one device type a MEAP is a efficient solution to make enterprise applications and data available in a uniform way.

Mobile Clients

Native Application
Specialized application for target device.
Business logic locally installed.
May be created with multiplatform development framework.
Hybrid Application
Specialized host for online content featuring native look-and-feel.
Multiplatform.
Web Application
Browser based multiplatform.
HTML5 is the technology for the near future.

Device Security
Access Control.
Data encryption.

Device Specific Hardware
Handling variations in screen size and orientation.
Limited CPU, memory, storage: processing power devoted to user experience, heavy processing moved away from the device.
Accelerometers, GPS, haptic feedback (touch, force, vibration), compass, camera, fingerprint readers.

Local Data Storage
Limited resources.
Tradeoff between local data storage and connectivity limitations.

Communication

Optimized for mobile application to save mobile bandwidth and reduce processing power needed on the mobile device. 

File Transfer
Data Synchronization
Secure Communication
Connectivity Limitations
Occasionally connected.
Limited-bandwidth.

Mobile Access Infrastructure
Mobile Access can be integrated in Enterprise Application Servers or as separate Mobile Access Servers.
Reasons for separate Specific Mobile Access Servers may be security reasons, to manage mobile devices or to access legacy systems.

Mobile Portal Server
Offers content for mobile hybrid applications.
Mobile Web Application Server
Web Application Server for applications specialized for mobile devices.

Device Management
Configuration management.
Stolen/list devices (swipe data).
License management.
Remote control.

Access Control
Authentication.
Authorization.

Database
Optimized for data synchronization over limited bandwidth.