MBaaS reviews

Review: FeedHenry uses Node.js to fortify mobile apps

FREE

Become An Insider

Sign up now and get free access to hundreds of Insider articles, guides, reviews, interviews, blogs, and other premium content from the best tech brands on the Internet: CIO, CSO, Computerworld, InfoWorld, IT World and Network World Learn more.

FeedHenry boosts enterprise mobile applications with rich client and tools support, as well as fast, scalable, Node.js-based back-end services

A few years ago, the mobile enterprise application platform (MEAP) seemed to be the likely answer to the huge challenge of creating groups of mobile applications that work together and integrate with enterprise data. In hindsight, MEAP systems, which typically combined a back-end server and middleware stack with a client application, seem excessively expensive and heavyweight.

The current trend is toward MBaaS (mobile back end as a service) platforms, loosely coupled with native, Web, and hybrid mobile applications. An MBaaS -- which might be focused on business applications, consumer applications, or both -- places much of the logic onto the mobile device, while enforcing security and managing the data at the back end. Even traditional MEAP vendors, such as Kony, are now offering MBaaS platforms.

[ Also on InfoWorld: PaaS shoot-out: Cloud Foundry vs. OpenShift | Download InfoWorld's Developers' Survival Guide for all the tips and trends programmers need to know. | Keep up with the latest developer news with InfoWorld's Developer World newsletter. ]

FeedHenry is a Node.js-based, enterprise-oriented MBaaS and mobile application platform with a wide array of integrations, both online and offline development options, collaborative app building, and a drag-and-drop form builder. FeedHenry was spun off from the Irish Research Institute in 2010. The company describes its offering as a cloud platform for building mobile-first solutions, both B2C and B2E, with a focus on enterprise line-of-business apps. FeedHenry claims to have global infrastructure on all major clouds, as well as support for on-premise back-end deployment.

Many proponents of agile development insist that teams need to be located in one place and have continuous verbal communication. There's a certain amount of truth to that, and I've seen it work amazingly well. On the other hand, many projects -- proprietary enterprise software as well as open source software projects, including outsourced projects -- are developed successfully by internationally distributed teams. GitHub is one of the most widely accepted version control services for globally distributed software development, and I think the way FeedHenry has integrated with GitHub is a step in the right direction. International teams often use a bug reporting and ticketing system, as well as a source code control system. It would be useful for FeedHenry to integrate with one of those, too.

API management and MBaaS
MBaaS is a small part of FeedHenry's bag of tricks. Nevertheless, FeedHenry offers a strong mobile back-end service. Part of what makes it scalable is the use of Node.js, which I discussed above. Further, FeedHenry uses MongoDB for its data store, which is also highly scalable. FeedHenry's servers typically don't even break a sweat under Black Friday-level loads.

FeedHenry back-end code is relatively simple, if you understand Node.js. Here's an example main (application.js) from the automatically generated Welcome app:

var mbaas = require('fh-mbaas-express');
var express = require('express');

Toolkit support
FeedHenry 3 supports native SDKs for iOS, Android, and Windows Phone 8, along with hybrid apps using Apache Cordova, HTML5 mobile Web apps, and Sencha, Xamarin, and Appcelerator Titanium. The way the JavaScript interface to the FeedHenry cloud works, it would be hard to find a JavaScript framework that isn't compatible.

When writing for FeedHenry in JavaScript, you include the feedhenry.js script in your HTML, initialize it with $fh.init, then call cloud functions from the $fh namespace. For example:

$fh.act({
  act: 'sayHello'
}, function(res) {
  alert("Cloud says : " + JSON.stringify(res.say));
}, function(msg, params) {
  alert('An error occured: ' + msg);
});

This client code assumes that your cloud code has implemented and exported a sayHello function.

Cloud deployment and management
FeedHenry runs on all major public and private clouds, and on a wide range of IaaS and PaaS infrastructures. FeedHenry has a HIPAA-compliant cloud, as well as live clusters in both Europe and North America.

The company claims its cloud portability eliminates vendor lock-in. That's probably true with respect to the cloud vendors, but not for FeedHenry itself. Cloud portability is also not unique to FeedHenry. Among competing MBaaS offerings, Kinvey can say the same.

FeedHenry can encrypt locally cached data on the client with the use of AES/RSA algorithms, it supports HTTPS encryption on the pipeline between the app and the cloud, and it provides endpoint security. It has a full set of authentication and session management APIs, including support for LDAP, Active Directory, and OAuth credentials. Of course, you can find plenty of encryption plug-ins for Node.js, which can be used as needed.

Another potential security hole is between the MBaaS and the enterprise's own back-end systems. FeedHenry supports IP address punch-through, VPNs, firewalls, DMZs, approved data centers, and approved data center locations to address this issue.

To continue reading, please begin the free registration process or sign in to your Insider account by entering your email address:
From CIO: 8 Free Online Courses to Grow Your Tech Skills
Join the discussion
Be the first to comment on this article. Our Commenting Policies