“It was the best of times, it was the worst of times…”
― Charles Dickens, A Tale of Two Cities
For enterprise architects and CTOs alike, mobile’s rise feels a little like Dickens’ famous beginning of A Tale of Two Cities. On the one hand, so much opportunity! On the other hand, the standards for middleware and backend data access that defined the web era don’t work for mobile.
Why? The mobile world brings different types and sources of data, different formats and payload sizes, different transaction volumes and usage profiles, and the end of connection persistence. “Mobile,” as Forrester Research observes, “is pushing aging web architectures to the brink.”
So does this mean replacing years of investment in service-based data access with a bunch of new, avant-garde software?
In a word, No. You can leverage and extend what you’ve already built and still meet every demand mobile throws your way. Be wary of any vendor that tells you differently.
A (very) short history of modern architectures
Not too long ago, every big enterprise IT shop was engaged in a multi-year, multi-million dollar project to implement an enterprise service bus or SOA initiative that would make backend data sources like SAP and Oracle easily available to developers. This was a big bullet to bite, so the idea that the technology paradigm would shift (again) just as many of these initiatives were wrapping up is, well… depressing.
The good news is that there are ways to extend your current infrastructure for mobile, rather than having to rip-and-replace what you’ve spent years optimizing. This is where APIs and MBaaS (mobile backend-as-a-service) come in.
Where to start
Consider the net-new requirements mobile introduces to enterprise architectures:
- Data synchronization and connectivity – because mobile devices can’t count on an uninterrupted connection, apps must continue to function when offline and gracefully synchronize to the backend when the connection is restored. This requires the ability to queue up data record changes and use configurable sync policies to send updates when networks are available.
- Data transformation – mobile apps speak a different API language from most of their web and desktop counterparts. You’ll need to convert legacy formats such as SOAP and XML to mobile-optimized formats such as JSON.
- Payload optimization – you’ll want to deliver only the payloads necessary for devices that have reduced real estate for rendering and less processing power than a desktop.
- Data orchestration and caching – combines and normalizes data from multiple sources into a middle tier that is unencumbered from the processing and battery constraints of a mobile device.
After you’ve assessed your current infrastructure against the new requirements for mobile, you’re ready to approach mobile vendors. But be wary of anybody who tells you it’s time to rip-and-replace years of investment. Often there are ways to extend what you have for mobile (hence the idea of “as-a-service”). The right solution will make the mobile era “the best of times”—for you and for your customers.
For more, including a comparison of the different ways for mobilizing data, see APIs & MBaaS: How to Extend Your Architecture for a Mobile World