Bookmark and Share

 

 

Typical Mobile Solution Technology Stack

Typically, client (device) side applications are built using the basic technology stack illustrated below and are implemented entirely in C#.  The architecture for each resulting mobile application is heavily influenced by the underlying libraries.  Following the M-V-C pattern, the Model is the center point of the mobile application, containing a set of model objects (entities) that map specifically to the subset of enterprise data being exposed to the mobile device.  This model defines the database schema through an OR/M layer (object relational mapping) and contains the majority of the application business rules via validation constraints and other custom logic.  The Views are generally UI (user interface) only objects that are bound to specific properties on the model allowing the display and editing of model data.  Controllers glue the model to the views, provide navigation logic via the workflow engine, and are in charge of updating the embedded database and/or synchronizing edited data through the OR/M layer.


Figure 1: Technology stack for Windows XP, Vista, 7 (full screen) and Windows Mobile
(traditional handheld device screen) based client applications

The server side of Blue Dot’s mobile implementations generally follows the architecture stack illustrated below and implemented largely in C# as well.   Synchronization services are generally exposed over http offering both real time CRUD (create, retrieve, update & delete) functionality for the Model (entities) and snap shot based synchronization for moving large quantities of lookup data. The integration layer allows for the partitioning of solution-specific integration actions and adapters to be created and dynamically loaded outside of the core framework, allowing a large amount of code reuse between projects. By leveraging an integration pipeline and then defining the basic CRUD activities on the enterprise data source(s) through actions and adapters, getting data in an out of back office systems becomes simply a matter of understanding how to interface with that system and translate that data into the defined entities (the Model) and back again.


Figure 2: Technology stack for server side of mobile solution