I am looking for some architectural guidance.
I developed a mobile application using Flex mobile. It is not very usable. This is no fault of Flex, it is the way I designed it. The application is a task management application with lots of data exchange with a remote server. During development, it worked OK.some forms were slow to get required data, but all in all, being a business application with a captive audience, it was usable. However, during real world testing, it was obviously deficient, especially in areas with a weak signal. It is not usable in its present form. I have two main issues.the first is, I need to run the application with a local sqlite database and synch in the background. I really don't know the right way to do this. But I am thinking the steps are something like the following: 1. Add two columns to the required database tables: CreatedTimeStamp and MostRecentEditTimeStamp 2. Write a script that creates a blank database when the app is initially run, which matches the database tables required on the remote database (about 15 tables). Most of the remote tables have auto-increment primary keys, so I guess just numeric primary key on the phone. 3. Connect to the database and create ArrayCollections for each of the database tables. 4. Loop over theArrayCollections and add the data to the SQLite database tables. 5. Then, as the user works with the application, change all my remote objects to SQLite queries populating the existing ArrayCollections, for the existing forms and lists, which should eliminate the remoteObject latency/failures that plague the current version. 6. Change all the add/edit functions to include added/edited timestamps (to the CreatedTimeStamp and MostRecentEditTimeStamp columns mentioned above). 7. When the sync occurs, download all newly added records from the various tables ( I guess in an order that doesn't violate foreign key constraints). 8. Upload any newly created records from the phone to the remote database. 9. Download any edited records changed since last sync to the phone. 10. Upload any edited records changed on the phone since the last sync. I am not even going to mention the second issue just yet.this is the big one and quite a stretch for a hack like me. Any guidance, advice, or shortcuts would be greatly appreciated. Mark Fuqua [email protected] 2301 Mount Carmel Road Parkton, MD 21120 (410) 215-7356 www.availdata.com
