Mobile SDK > Architecture
 
Architecture
Your mobile application architecture depends on the chosen implementation strategy, which in turn depends on your application connectivity requirements. It is useful to have a basic understanding of the interviewing, data model, and synchronization architectures, regardless of which strategy is selected.
The Architecture includes web, interviewing, and data tiers. The Web Service tier hosts the Interview Web Service that is used by the Connected and Partially Connected strategy mobile applications. The Interview Service tier applies to both web and personal interviewing.
Disconnected mobile applications
Disconnected mobile applications interact with the Synchronization Web Service to retrieve project files and return interview data. The example Mobile Synchronization Web Service provides a simple interface and might be sufficient for use in the final application.
Disconnected mobile applications also require an understanding of the metadata and routing script (when the interview is displayed to the respondent and when gathering responses). The example Mobile Synchronization Web Service transforms the metadata and routing script to Question XML, based on the Player XML schema and Routing XML. The XML might be sufficient for use in your disconnected application.
Value cache
The UNICOM Intelligence Value Cache is used to transfer interview response data to the UNICOM Intelligence Data Model, where it is manipulated and analyzed. The example Mobile Synchronization Web Service transforms simple Response XML into value cache files for synchronization. The Response XML used by the example might be sufficient, or you might want to implement your own data transformation. In the provided example, Response XML is included in the RespondentData XML that also contains sample and quota updates.
Sample data
Sample information is transformed by the example Mobile Synchronization Web Service into SampleData XML that contains a definition of the sample fields along with the assigned sample records. The SampleData XML might contain associated response data to support the transfer of an in-progress interview (from one interviewer to another). The disconnected application uploads sample record changes and sample history records. The records are used in the UNICOM Intelligence Interviewer - Server Admin Interviewing activity to provide project management reports.
Shared content
The shared content area contains supporting files that are used by multiple projects. The area can be used to improve performance, for example, by downloading an often used file a single time instead of for each project. By default, the SharedContent area contains the Dojo framework and UNICOM Intelligence specific JavaScript files that can be used to display specialized controls, and frequently used templates. Files in the shared content area can be retrieved through the Mobile Synchronization Web Service by using a Resources URL that does not specify a project.
Quota
Quota information is transformed by the example Mobile Synchronization Web Service into Quota XML, and contains the quota definitions, quota target for the interviewer, and the current completion count. The disconnected application uses this information to check quotas and end interviews if the respondent does not meet the quota criteria. The application also uploads quota counts and quota transaction records.
Log files
Log files are used in UNICOM Intelligence to provide debugging or metric information. It is suggested that the mobile application write logs in the UNICOM Intelligence Log file format, making it easier to investigate the logs with the Log DSC and SQL queries. The logs URL can also be used to upload any other files that might be useful for debugging or interrogating the application activity. Logs can be uploaded to the server through the Mobile Synchronization Web Service.
The following sections provide more information regarding each implementation mode and the associated components.
See also
Connected and partially connected
Disconnected
UNICOM Intelligence Mobile SDK