Client required an application for iPhone that would be used by company employees to enable scanning and managing RFID tags for their job tasks. The application should enable employees to connect to a central database and update their job tasks statuses.
The team faced the following challenges:
- Developing an iPhone app for employees to scan and manage their jobs and update status of tasks.
- Enable users to connect to a centrally managed database in order to update their status for various tasks.
- Integration of iCarte mobile SDK and RFID.
- Implementation of the UI for multiple screens.
- Local DB and server needed to be in sync.
- Capture/ select photo, video and audio and upload on server as well as maintain on web.
|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+, Objective C, iOS SDK, Core Data Framework, Xcode etc.|
|Database||MYSQL Database Server, SQLite Mobile Database, DB Clustering, DB Optimization, Master Slave Replication, Query Optimization, Scheduler for Backups|
|Quality Assurance Testers||1|
A four tier approach was selected for this project taking into consideration the numerous complex requirements and challenges involved.
- Database Layer – contains SQLite Mobile Database and MYSQL Database.
- Interface Layer & Data Abstraction Layer – for conversion of data between incompatible type systems in databases and accessing data from the database respectively.
- Business Logic Layer – with all the business logic procedures for various modules.
- User Interface Layer – forming the GUI of the application.
The check point was built using objective C. Many modules developed in objective C so that they could be executed from the UI layer directly.
These Objective-C files consisted of all the business logic that was used for respective modules like Save (Add/Update), Delete, Get Single Object, Get Multiple Objects for Listing and were designed to be capable of handling many more logics which were not related to the database.
To enable the database access in an object oriented context, an interface that translated the object logic to the relational logic was created. This enabled communication between the relational databases in an object oriented manner. An intermediary abstraction layer ensured data access from database. The User Interface Layer was kept isolated from business logic with images, applications and data being called from their respective servers.
The application had a robust architecture for employees to scan and to manage RFID tags and update their jobs and tasks. Detailed planning enabled the robust setup and well designed system with all integrated modules. The application was fully developed and live within a span of 6 months.