App Development

Enterprise Integration for Mobile Applications

Integration challenges and solutions come in a wide range of scope and complexity–from multi-year, multi-million dollar engineering engagements to scripts that scrape a screen every hour on a cron job. Likewise, enterprises have historically taken on integration initiatives for a variety of reasons, most often to allow siloed legacy applications to share data without a complete rewrite. Screen Shot 2014-07-23 at 4.06.41 PM

The Problem

Today, mobile initiatives are a huge driver of integration projects. Enterprise workforces increasingly demand access to the internal tools they use in the office on their phones and tablets.

For an Enterprise Integration solution targeting mobile, the architecture usually involves tying into existing tools and data stores, often transforming and caching some data before exposing a subset of the internal systems’ functionality via REST resources. It’s more like a specialized piece of middleware that also integrates systems than a full-blown Enterprise Integration project in the traditional sense.

The Challenges

Allowing access to mission-critical systems from smartphones is different from, for example, a business intelligence tool reporting on data from several legacy data stores. Security concerns are much more acute when access to the company’s revenue data is in a user’s pocket, accessible over the Internet rather than on an IT-managed workstation in corporate headquarters behind a firewall. Limiting access to only the necessary subset of data and guaranteeing industrial-strength security safeguards are two concerns of any mobile enterprise integration solution.

Network connectivity in the mobile world is reliably unreliable. Mobile APIs need to optimize payload size through compression, paging and properly designed data representations. It’s usually not enough to simply expose existing systems, even in organizations that have service-oriented architectures in place. Mobile solutions require an integration layer to pull data from several data sources and tailor the response to the app’s specific requirements.

Those internal systems you’re trying to connect to mobile apps themselves have a variety of protocols and interfaces. In a service-oriented organization, you may have to speak SOAP to query the ERP system. Maybe you have to interface directly with a database. In some cases, you have to resort to scraping screens or parsing files on the filesystem. A successful integration tool allows a great degree of flexibility in terms of communication protocols and integration points.

The Problem with the Solutions

Traditional Enterprise Integration platforms are big and complex, requiring deep technical expertise in the platform and best practices. The Enterprise Service Bus is the most well known approach to complex enterprise integration. Think Oracle or SAP plus a team of certified consultants to get everything configured and running properly.

Those solutions work great for Fortune 500 companies with truly vast integration needs beyond exposing internal systems on mobile devices. For most small to mid sized companies hoping to allow their teams access to internal inventory systems on their phones, such solutions are probably overkill.

There are now a lot of small to mid-sized solutions in the integration space, and with the rise in prominence of Http APIs, a number of API governance tools and platforms to allow for monitoring, access policies, security and monetization of APIs. These platforms cover varying degrees of functionality, from enterprise integration to caching, API definition and governance. It’s a vast and constantly changing landscape that takes time to understand and apply to a specific problem.

Governance and Security

logoAt WillowTree, we have partnered with Layer7 Technologies, a market leader in Enterprise Integration Gateway solutions. Layer7 offers a comprehensive suite of tools for managing APIs and access to them. For large Mobile Integration projects with demanding security needs, integration with existing SSO solutions or API governance needs, for example, Layer7 offers a comprehensive solution that balances simplicity with industrial-strength security and stability.

Lightweight Integration

Monkeypod_Logo_260x60We have built out a number of tools in-house that we use for integration projects, including Monkeypod , our API design and virtualization tool that utilizes the Swagger spec from Reverb, and Monkeypuzzle , which allows simple transformation and caching of disparate data sources using arbitrary scripts. Monkeypod and Monkeypuzzle are built with Scala, Akka and MongoDB for massive scalability and fault tolerance. We use these tools as lightweight middleware to provide mobile integration. With this approach, we allow very specific access to an organization’s existing infrastructure without a massive Enterprise-wide integration overhaul.

As more Enterprises invest in mobile access to their internal tools and systems, we expect that Enterprise Integration and associated middleware solutions will continue to be of great importance to anyone doing serious mobile development. As the tools available to us continue to evolve, we hope to see more scalable, fault tolerant and flexible offerings in the space, whether an organization wants to expose only a few systems or undertake a massive Enterprise-wide integration.

Xcode Cloud: Choosing the Right Continuous Integration and Delivery Tool for Your Team

Apple recently announced the release of Xcode Cloud at the latest iteration of their...

Read the article