One of the world’s most prominent retailers wanted to keep their brick and mortar locations’ staff up to date on the latest information about their many scores of products. We created a smart application that draws and normalizes data from disparate sources and presents it in an actionable format through a mobile app.
The needed data is housed in a number of separate, differently configured databases and Web applications.
We then extended the functionality to put these data in sales consultants' hands—literally.
We proactively recommended an architectural approach to optimize the client’s opportunities for future scaling.
The plan was to create the system and turn it over for the client’s team to operate.
There is no room for breaches. But the system also has to be fast—nearly instant. Our solution meets both needs.
We faced a dilemma: how to ensure instant document delivery, without risking outdated information—even if a document changed just seconds ago?
We engineered the system to download changed documents at a scheduled time. When a user taps on a document, the downloaded document instantly displays—and the system simultaneously makes a "HEAD" request to see if the official document has since changed (a rare but possible occurrence). If so, a message displays that a more recent document is being retrieved and the new document will very quickly be exhibited.
Strict security needs prevented traditional server-side caching, because each individual's permissions had to be confirmed document by document.
We addressed both the security and speed concerns by predownloading documents to the device, using encryption to help protect the cached data—distinct encryption for each permitted role.
Each time an authorized user logs in, the mobile app asks the smart application to transmit a recent rotating decryption key (and certain past decryption keys as well) that can decrypt only the cached documents they may access.
Leveraging HTML5 and native app components, we programmed an enterprise mobile system that delivers fast, secure data on demand to many thousands of users at thousands of retail locations nationwide.
The architectural and programming approach we took provided the client with tremendous opportunities to scale the smart application. Much logic is embedded in the application and content extracted from static files is rapidly served from a mirrored server infrastructure.
Many of the dynamic server-side services and content databases already available were leveraged, and server-side file preparation utilities we provided can be run prior to any mirroring to achieve an easily scalable system. Web Services are configured to work in a stateless fashion that allow them to be deployed to any number of services, thus maximizing the system's cost-effectiveness.
After building the system we, operated it, carefully creating technical and feature specification documents. We the trained the client’s team—and turned over the keys.