Client Requirement Client required a track pad that could work in any offline environment. Even in areas where there are no wi-fi connections like parking lots, all data should be saved regardless of the connection status. The already built iPad app needed to be enhanced to be utilized for IOS Mobile Based Incident Management System with the following features: •
Automated data syncing with server
•
Customization in long form
•
Data merging through iPad app
Challenges The team faced the following challenges
Developing an app for iPad platform Automated syncing with the server every 20 seconds came as a challenge
Customization of Long form as per the requirement and also implemented Minor Touchups and Data merging functionality.
Technologies Used Operating System Server Management
& iOS, Multi-Server Architecture with Staging & Production Environment through Version Controlling releases, Server Optimization, Security & SSL Implementation, Scheduler for Back-ups, Alert Monitoring System Integration, Server Performance Tuning at regular intervals, Software Firewall Configuration & Maintenance
Development Tools Environments
& PHP5+, iOS SDK, Xcode, Objective C, Core Data Framework etc.
Database
MYSQL Database Server, SQLite Mobile Database, DB Clustering, DB Optimization, Master Slave Replication, Query Optimization, Scheduler for Backups
Manpower Project Leader
1
Developers
2
Quality Assurance Testers
1
Planning Keeping in mind the enormous nature of the application, the following 4 tier development approach was used:
Database Layer: containing SQLite Mobile Database and MYSQL Database. Interface Layer and Database Abstraction Layer: to enable converting of data between incompatible type systems in databases as well as accessing data from the database respectively. Business Logic Layer: consisting of all the business logic procedures for varied modules. User Interface Layer: forms the Graphical User Interface of the iPad application.
Architecture Objective C was used for the development of ISS Trackpad. The modules that were developed in objective C could be directly executed from the UI layer. The Objective-C files consisted of all the business logic that were used for modules like Save (Add/Update), Delete, Get Single Object, Get Multiple Objects for Listing. They were specially designed to be capable of handling many more logics which were not related to the database. An interface translating the object logic to the relational logic was used to communicate with the relational databases in an object-oriented manner in order to most effectively access the database in an object-oriented context. An intermediary abstraction layer was created for accessing data from the database. The UI layer was kept free of any business logic with images, applications and data being called from their respective servers.
Development Highlights The application was equipped with a robust architecture and incidences were automatically synced with the server application. In this manner, app the web and application incidences will be in sync and acknowledged incidences will also be showed on the iPad app. The sync process runs as a background thread at the start of the app for a certain time period. . Custom fields in the Long form will be updated as customized in the Web CMS form. The form was generated from the parsed web services with custom form fields as attributes.