'Disconnected' Mobile Applications


Legendary Poster
OK - let's challenge what we know about the whole MAF/IAS and all those other new (or recent) acronyms that OracleJDE has been sending to us.

Current Process: We have 'Secret Agents' that go out to the 'Far and Remote Locations' and 'do their thing'. They report these 'things' into a Visual Basic Application. When they return to the office, they export their 'report of things' to a CSV - and email that CSV to 'someone' with JDE Access. That 'someone', then, imports the 'report of things' into JDE.

Wanted Process: We have 'Secret Agents' that go out to the 'Far and Remote Locations' and 'do their thing'. They open their tablet, Click and fill-out forms to 'report of things' that occurred. The 'report of things' magically appear in JDE.

Conceptually - this would be done through Oracle/JDE's Mobile Application Framework. BUT, there is an unknown - what happens when the Mobile Application is not connected. You see, not all of our 'Secret Agent' 'Far and Remote Locations' are within Cell Range. Some of the 'Far and Remote Locations' have to kept 'secret' - so the other venues have no idea they exist.

That said - when a Mobile Application is outside of Cell Range - do you hear the tree fall in the forest (look, a squirrel)... I mean, does the Mobile Application Store, then forward - once it is 'Connected'?

So many of our sites are on the Disconnected Fringes, I'm hesitant to pursue the JDE Mobile - without knowledge of what happens when disconnected.


Look, another squirrel!


Reputable Poster
What you're trying to do can be done with MAF as it supports local storage via sqlite.

We do disconnected mobile solutions for JDE all the time and they are more involved than purely online apps but not that difficult.

The basic concept is:

User logs into the app whilst online
Application retrieves all of the data it needs for the user to be able to "do their thing". This includes both the information that needs to be presented to them and also any data required to be able to validate the information they're collecting.
User does their thing
If the application is online then it processes the transactions in real time
If the application detects that it is offline then the transactions are recording locally ready to be processes when online

There are of course a few tricks to this. Firstly, you really need to do as much data validation at the point of collection as possible to ensure the sync process runs smoothly. Secondly, you want to cache as much data as possible so that it doesn't need to be synced on every login. Also, you need to provide ways to abandon transactions that are invalid or that have been processed in JDE in some other way.

We developed the solutions in this video https://youtu.be/IHtXfxYkDlM and they run completely offline in the middle of nowhere and only sync with JDE when the users gets near a satellite base station. Depending on the user that logs in they have access to between 10,000 and 150,000 asset records (each animal is treated as an asset in JDE and they have a total of around 600,000 head) that they can view and also update. Those 150,000 assets also have supplemental data which is brought down at the same time.

We also just went live with an offline service management solution. In that instance the user has offline access to:
- all customer account information in case they get a call out and need to get their location and also check whether they are on account or CoD
- all item master information so they can check parts
- all item balance information for every service vehicle in their region as well as their warehouses

They use the app to update their service management work orders, so take notes, capture failure analysis data, take photos, book time, issue parts and also capture the customer's signature at completion. If they are online then the transactions happen live in JDE. If they don't have cell coverage then everything syncs later when they do have cell coverage. A full data sync takes about 2 minutes if they need to reload all of the master data involved. If they are just getting their daily update then it takes about 30 seconds for them to get all of their work order information and item balance details. We also do push notifications to them from JDE if they are allocated a new work order either by another tech or by the job schedulers.

That project went from design sign off to live in 5 weeks. If it had been a purely online app I'd say the same project probably would have taken about 2 to 3 weeks to complete. The extra time is because you have to replicate a fair bit of business logic into the app to support offline so this means more development and a lot more testing time.