Enterprise architects need to appreciate the differences with traditional integration strategies, said Suhas Uliyar,...
vice president for mobile strategy at Oracle. The bulk of the work in creating new mobile apps lies in building a solid foundation with the system of record. Read on for his perspective on how to address these challenges with mobile application integration in a coherent and manageable way.
What are some of the biggest challenges organizations come up against in implementing a mobile application integration [MAI] strategy?
Suhas Uliyar: The biggest challenge organizations face is a lack of understanding that [MAI] is different from traditional application integration. A good mobile application design focuses on an outside-in approach with the mobile user in mind and designing purpose-built applications for the user to perform their tasks with minimal clicks. Performance of the mobile app is critical to the end user experience, but often enterprises integrate the mobile app into the back end as is, resulting in performance issues.
One of the main reasons for this is the lack of mobile-centric APIs designed for mobile use cases from the back-end vendor. An example of this is the API returning 100 properties (fields) for an object, while the mobile app needs a small subset of five or 10 properties. Without mobile-centric APIs, the mobile app has to receive the entire data payload over the wire and process the payload, and then discard the majority of the properties, thus adding unnecessary overload and impacting performance.
While it is critical to have an overarching enterprise integration architecture for multiple channels (mobile, Web, IoT), it is equally important to consider mobile specific requirements including: connection availability, lighter protocols and end-to-end security.
What are common mobile integration anti-patterns you see being implemented?
Uliyar: The most common anti-pattern is a siloed integration and data architecture for mobile that is not leveraging the investments made for an enterprisewide integration architecture. This mobile specific integration architecture creates multiple touch points to the source of data, adding a higher load to the back-end system that perhaps was not designed for all the new digital business use cases.
The other anti-pattern is duplication of data -- driven by the need to solve the offline/data sync issue with mobile -- to compensate for the connection availability requirement mentioned [previously]. In many cases, this integration problem has been solved by duplicating data to an interim data store that is used as the system of record to synchronize and manage data with the mobile client. This interim data store is integrated to the system of record causing data to be distributed in multiple places and potentially causing data integrity issues, increased management cost and complexity as a result.
Security access and governance is yet another integration anti-pattern resulting from the mobile specific integration silo. Mobile users' access and governance is maintained in yet another user data store, thus adding cost and complexity to the infrastructure.
Why will a sound MAI strategy be critical for mobile AD projects success?
Suhas Uliyar: Two-thirds of the cost of a mobile development project is related to integrating the mobile application to the systems of record and ensuring it complies with IT security policies. Over the years, client development has gotten easier, while integration has become more complex. An effective mobile application is one that not only integrates data from the back-end system but also adds mobile context and content fromthird-party data sources. Enterprises are embracing applications in the cloud and moving some of their application assets there in addition to supporting on-premises applications. As enterprises adopt a digital strategy and deliver mobile applications for all their users (internal and external), the cost of integration can become prohibitive for them to deliver on their business goals.
The promise of service-oriented architecture [SOA] is being fulfilled. You don’t need a mobile enterprise application platform or mobile application development platform that solves a niche mobile problem. Mobile is no longer tactical; it is critical to business success. Businesses are looking for an enterprisewide mobile-first strategy for B2E and B2C applications that leverages and complies with their back-end infrastructure for security and integration. Enterprises are looking at ways to simplify enterprise mobility to drive down cost of ownership and deliver to their business at the pace of mobile innovation by reusing common components.
What will be the key MAI-enabling technologies and architectures?
Uliyar: A sound MAI strategy is one where reuse is the key focus across channels, with a uniform approach to services that can be consumed by these channels. The right approach is to have a mobile-first strategy that collaborates with an API-first strategy. A mobile-first strategy treats the mobile developer as a first-class citizen by providing them a discoverable catalog of mobile services in a RESTful API catalog to choose from. It also provides them with the ability to create mock APIs with dummy data for service developers to develop the APIs in cases where existing APIs do not meet their requirements.
An API-first strategy creates a uniform approach to exposing services from the back-end systems of record in a way that is abstracted from the back end and provides a consistent set of services for the developers to easily consume. These services support data transformation, orchestration, shaping and leverage, and comply with existing IT security policies and investments in monitoring and analytics. RESTful/JSON APIs, available in a discoverable API catalog, with full API management that includes monitoring, lifecycle management, analytics and economic models behind it, will be the key MAI-enabling technology. Node.js, an open source, cross-platform runtime environment for server-side and networking applications, is becoming a standard technology for developing custom server-side code.
However in addition to these services, that any channel can consume, additional mobile-centric services need to be layered on top to support requirements such as offline/sync, push notifications, user management, mobile data storage, etc. Enterprise grade mobile backend as a service [MBaaS] is quickly becoming a very cost effective and robust MAI-enabling cloud architecture to simplify enterprise mobile integration by providing a set of rich integration services in the field to mobile developers, allowing these mobile developers to do what they do best -- build engaging mobile applications very rapidly.
How will the tension between centralized control and fast time to value be resolved?
Uliyar: A well-architected mobile-first and API-first solution helps resolve the tension between very Agile mobile developers, where the focus is time to market, vs. slow-moving back-end infrastructures that require long cycles to provide the services these mobile developers need.
With an enterprise-grade, cloud-based mobile infrastructure service, mobile developers can work easily and collaboratively with service developers to consume mobile services without requiring new infrastructure. This gives service developers the right technology to shape existing services without requiring additional back-end development [and] provides this back-end agility that has been the main source for tension. By enabling mobile developers with a way to clearly describe the services they need with mock data gives the services developers a clear definition to deliver what their consumers need without guessing, which can often be a source of contention.
Learn more about how to develop mobile apps for the cloud
Get started with enterprise mobile app development