Mobile Foundation Bluemix Service - Beta
Last year IBM brought the IBM MobileFirst Platform server to Bluemix on docker containers. Today IBM introduce the next evolution in the journey - the beta release of a Bluemix Service called “Mobile Foundation” . Mobile Foundation will provision the next generation of the IBM MobileFirst Platform server V8.0 beta on a container group.
The Mobile Foundation Service asks a few basic questions and creates an evaluation server in an IBM Container Group in your Bluemix Org and Space. This server contains the following components:
- The MobileFirst Operations Console
- The MobileFirst Server
- Embedded Derby DB
You can start using the Mobile Foundation service in 2 modes:
- Quick start – gives you a default configuration with a 1G container plan
- Advanced Configuration – lets you pick your configuration from the get go
After you have instantiated the server by using either of the options, you can always go and make changes to the configuration and re-spin the container.
Note: The Beta plan is free. After you have consumed the free allowance for Containers, you will be charged for the Container compute service. You can look up the pricing on the Bluemix Pricing page
You can instantiate as many Mobile Foundation service instances as you choose. Each service instance is linked to a container group. You are limited only by the Container quota that you have in your Bluemix account. At the time of writing this blog – you get a default 2 GB container quota. If you need more Container space – you can request more.
Mobile app capabilities
The MobileFirst Server acts as a gateway for your mobile apps. You can have traffic to your business logic from your iOS, Android, or Windows mobile apps route through the MobileFirst Server to get several mobile specific capabilities. The MobileFirst Server by virtue of being the gateway to your business logic, and sometimes gateway to your enterprise becomes a central enforcement point. This is achieved by adding the MobileFirst SDK in your mobile app. The SDKs can be added by using Gradle for Android, CocoaPods for iOS nugget for Windows, and npm for Cordova WinJS apps. The Xamarin SDK is not available at the time of writing this post. You can learn more about the MobileFirst Platform Foundation Server here.
App lifecycle management
Capabilities like sending a service message to the device or disabling an older version of the app can be achieved with no extra code on the app development side. By virtue of embedding the MobileFirst SDK, this capability is available.
Application authentication is an important capability that prevents tampered apps connecting to the server.
Device and app Authentication
OAuth, cert-based auth etc.
Quite sometimes there is a need for storing data on the phone, typically in offline use cases. This data needs to be stored securely to deal with cases when the device is stolen or compromised. MobileFirst SDK provides a capability called JSONStore. This store also has the capability of data synchronization. You can also use the Cloudant data synch SDK for the platforms it is available on.
Unified Push notifications
Using push notifications needs a server that can store device registrations because you cannot send push messages to the phone. You send it to GCM for Android, APNS for iOS, and WNS for Windows. They in turn send it to the devices that you specify. Mobile Foundation provides easy configuration on the app side to register for the notifications and a unified API on the server to send notifications to all kinds of devices.
Business logic Integration use cases
WLResourceRequest wlResourceRequest = new WLResourceRequest(URI.create("/adapters/SocialWatsonAdapter/analyze"), WLResourceRequest.GET, socialLoginChallengeHandler.getSecurityCheck());
There are basically three ways of back-end business logic development enabled by Mobile Foundation. In your use case, you can use any or a mix of the following use cases. Subsequent blogs will do a deep dive with code examples into each of these use cases, and link them from here.
You can implement your entire backend by using Bluemix services. Bluemix provides a rich range of services such as Watson Cognitive, Strong loop, data storage, message bus, cloud foundry build packs like the .NET buildback, Node.js apps, docker containers, Java EE runtimes, and more. The business logic that you build on Bluemix can be not just for the mobile app, but a full blown cloud native business. The mobile app for this business can talk to this backend by using MobileFirst adapters. You will see some blog posts demonstrating this usecase(check back for links).
You could have a system of records that exists inside the firewall of your enterprise. For this scenario, you would need to add an optional Bluemix service called VPN. VPN is a chargeable service. This service allows you to configure a secure tunnel from the MobileFirst containers to your enterprise. The adapter can access IP addresses inside your enterprise firewall through a gateway that is installed in your enterprise DMZ. This could be a custom backend or a database. MobileFirst Platform Foundation also provides readymade adapters to connect to popular systems like SAP or Siebel. You can read more about configuring VPN in this blog post
This configurations is the simplest one. The entire business logic can reside inside the adapter code. This code can be algorithmic calculations or processing that does not need any persistence or call out to a specialized backend. Alternately, this code can also be leveraging other internet visible services that might be off the shelf like a stock ticker RSS feed or a custom service that you might already have on another cloud provider.
The following video shows how to get a IBM MobileFirst Platform Server by using the Mobile Foundation service. You can then use the self-paced programming tutorials to explore the capabilities in detail.