My clients often ask me why they should introduce the IBM Worklight Foundation server into their mobile integration flows. That is a really good question, and the answer is not obvious, so in this post let’s take a journey through the different integration patterns for mobile apps. When I talk to my clients about mobile integration, they often raise similar issues, so I will talk through these common questions and comments as we proceed. Please read on.
The following graphic shows what I believe to be a flexible mobile integration architecture.
“I already have a service bus or integration layer with enterprise services; why can’t I just use that?”
Having services ready and available will put you well on your way toward delivering mobile capabilities quickly, but I believe that mobile requires more than your current service bus can offer. Questions that you need ask before assuming that you service bus will suffice are:
- Are my services at the right granularity for mobile?
- Are my services exposed using the appropriate technology?
- Will my service bus scale to support mobile transactions?
- Can I expose the services on my service bus outside the organization?
- Can I combine internal and external services on my service bus?
- Or perhaps the most interesting question of them all: Is my integration organization ready to be responsive enough to support mobile?
If you can answer positively to all of the above, read on.
“I have an API management layer that gives me all the mobile-ready services that I need.”
Web application programming interfaces (APIs) build on the service bus and API-enabled applications. The APIs become the persona of your organization for external and internal services. I personally see a lot of benefits for organizations implementing API management, but that is a topic for another post.
Well-implemented API management will give you quick assembly of mobile-ready services that are easy to access and based on technologies that mobile developers are accustomed to, like JSON. Also, you will find that well-defined APIs are typically the right level of granularity for mobile and Web 2.0.
A service bus is a good start for mobile integration to enterprise systems, and I believe adding API management can get you 80 percent of the way to an effective mobile integration strategy.
If API management is that good, then what is missing?
“What more do I need for mobile integration?”
As it turns out, mobile has unique integration requirements that a good mobile-focused integration capability will help solve.
- Mobile requires short development and release cycles that do not typically fit within traditional development cycles. A separate mobile integration point allows you to deliver quickly without having to fight the traditional processes. I see clients do this well by standing up independent mobile delivery teams unconstrained by their traditional IT systems.
- Composition of services and APIs for mobile consumption in bandwidth-constrained environments benefit from an integration aggregation point. The mobile integration point simplifies integration for the developer by avoiding orchestration in the app and reducing network traffic with a single call between the mobile devices and the enterprise.
- Combining internal and external data sources provides a richer user experience. A common example is combining an address with data from map services and known points of interest in the area.
- Offline synchronization is a requirement for enterprise apps involving case work or law enforcement. Worklight Server provides offline synchronization capabilities as part of the integration layer.
- In mobile, performance is king! Users expect mobile apps that are responsive and have well-considered caching strategies. Combine that with the end-to-end performance analytics in Worklight Foundation, and you have a powerful set of tools to address your mobile performance requirements.
Besides integration, I would argue that you would also benefit from the following features:
- Analytics server, providing operational analytics and on-device mobile app log management
- Security framework for authentication integration, providing an offline authentication and single enforcement point for mobile access
- Mobile application management, with the ability to disable or update apps
- Push notification service, with a unified interface for all the supported platforms
In conclusion, I believe that a mobile-specific integration layer provides ready-to-use capabilities specifically for mobile integration beyond what you would get from your service bus or API management layer.
I have seen my clients going from the “Why do I need it?” phase to “Aha! I get it!” within a single session of exploring their mobile integration requirements.
Please share your thoughts on mobile integration. How have you done it, and how has it worked?
You can find me on Twitter @yohanswanepoel.