Product components

IBM MobileFirst™ Platform Foundation consists of the following components: MobileFirst Platform Command Line Interface, MobileFirst Studio, MobileFirst Server, client-side runtime components, MobileFirst Operations Console, Application Center, IBM MobileFirst Platform Cloudant® Data Layer Local Edition, IBM MobileFirst Platform Foundation System Patterns, and IBM® Connect.

Component overview

The following figure shows the components of IBM MobileFirst Platform Foundation:
Figure 1. IBM MobileFirst Platform Foundation architecture
This figure shows the components of IBM MobileFirst Platform Foundation.

MobileFirst Studio

In a mobile development platform, cross-platform portability of the application code is critical for mobile device application development. Various methods exist to achieve this portability. With IBM MobileFirst Platform Foundation, you can develop multiplatform applications by using MobileFirst Studio, which is an integrated development environment for mobile applications.

You can use MobileFirst Studio for the following tasks:
  • Develop rich HTML5, hybrid and native applications for all supported modern devices by using native code, a bidirectional WYSIWYG editor, and standard web technologies and tools.
  • Maximize code sharing by defining custom behavior and styling guidelines that match the target environment.
  • Access device APIs by using native code or standard web languages over a uniform Apache Cordova bridge.
    Important: Because Apache Cordova is preinstalled with IBM MobileFirst Platform Foundation, do not download your own Apache Cordova version.
  • Use both native and standard web languages within the same application to achieve development efficiency and provide a rich user experience.
  • Use third-party tools, libraries, and frameworks such as JQuery Mobile, Sencha Touch, and Dojo Mobile.
  • Implement runtime skins to build apps that automatically adjust to environment guidelines such as form factor, screen density, HTML support, and UI input method.

MobileFirst Test Workbench

MobileFirst Test Workbench provides you with a subset of Rational® Test Workbench Mobile Test Edition features to help you automate the creation, execution, and analysis of functional tests for MobileFirst native, hybrid, and web applications on Android and iOS devices. MobileFirst Test Workbench is an add-on component for MobileFirst Studio that you install separately.

MobileFirst Server

The MobileFirst Server is a runtime container for the mobile applications that you develop by using MobileFirst tooling. It is not an application server in the Java™ Platform, Enterprise Edition (Java EE) sense. It acts as a container for IBM MobileFirst Platform Foundation application packages, and is in fact a collection of web applications. Optionally, those web applications are packaged as EAR (enterprise archive) files, which run on top of traditional application servers.

MobileFirst Server integrates into your enterprise environment and uses existing resources and infrastructure. This integration is based on adapters that are server-side software components responsible for channeling back-end enterprise systems and cloud-based services to the user device. You can use adapters to retrieve and update data from information sources, and to allow users to perform transactions and start other services and applications.

You can use MobileFirst Server for the following tasks:
  • Empower hundreds of thousands of users with transactional capabilities and enable their direct access to back-end systems and cloud-based services.
  • Configure, test, and deploy descriptive XML files to connect to various back-end systems by using standard MobileFirst tools.
  • Directly update deployed hybrid and web applications, without going through the different app stores (subject to the terms of service of the vendor).
  • Automatically convert hierarchical data to JSON format for optimal delivery and consumption.
  • Enhance user interaction with a uniform push notification architecture.
  • Define complex mashups of multiple data sources to reduce overall traffic.
  • Integrate with the existing security and authentication mechanisms of your organization.

MobileFirst Server environments can also be built as Docker images that you can deploy and run on the cloud using IBM Containers for Bluemix®.

IBM MobileFirst Platform Cloudant Data Layer Local Edition

MobileFirst Platform Local is an advanced NoSQL database, which can handle a wide variety of data types, such as JSON, full-text, and geospatial data.

As a JSON document store, MobileFirst Platform Local is ideal for managing multi-structured or unstructured data. With advanced indexing, you can enrich applications with location-based, geospatial services, full-text search, and real-time analytics.

MobileFirst Cloudant extensions include an SDK and proxy.

The SDK extends the Cloudant APIs with support for native language objects for iOS and Android developers, offline access, and online remote access. For more information, see Storing mobile data in Cloudant.

Authentication with OAuth is available through integration with the MobileFirst Data Proxy. For more information, see Installing the MobileFirst Data Proxy.

Client-side runtime components

IBM MobileFirst Platform Foundation provides client-side runtime code that embeds server functionality within the target environment of deployed apps. These runtime client APIs are libraries that are integrated into the locally stored app code. They complement MobileFirst Server by defining a predefined interface for apps to access native device functions. Among these APIs, IBM MobileFirst Platform Foundation uses the Apache Cordova development framework. This framework delivers a uniform bridge between standard web technologies (HTML5, CSS3, JavaScript) and the native functions that different mobile platforms provide.

The client-side runtime components provide the following functions:
  • Mobile data integration: connectivity and authentication APIs
  • Security features: on-device encryption, offline authentication, and remote disablement of the ability to connect to MobileFirst Server
  • Cross-platform support: runtime skins, UI abstractions, and HTML5 toolkits compatibility
  • Mobile client functionality: hybrid app framework, access to device APIs and push notification registration
  • Resource serving: direct update of app web resources and HTML5 caching
The version of Apache Cordova that is included in V7.1.0 consists of the following components.
Note: Apache Cordova-related tools are applicable only to MobileFirst Platform Command Line Interface (CLI), not to MobileFirst Studio.
Platforms
  • cordova-android: 3.6.4
  • cordova-blackberry10: 3.6.3
  • cordova-ios: 3.7.0
  • cordova-windows: 3.7.1
  • cordova-wp8: 3.7.0
Plug-ins
  • org.apache.cordova.battery-status: 0.2.12
  • org.apache.cordova.camera: 0.3.4
  • org.apache.cordova.console: 0.2.12
  • org.apache.cordova.contacts: 0.2.15
  • org.apache.cordova.device-motion: 0.2.11
  • org.apache.cordova.device-orientation: 0.3.10
  • org.apache.cordova.device: 0.2.13
  • org.apache.cordova.dialogs: 0.2.11
  • (Android only) org.apache.cordova.file: 4.2.0
  • (Not Android) org.apache.cordova.file: 1.3.2
  • org.apache.cordova.file-transfer: 0.4.8
  • org.apache.cordova.geolocation: 0.3.11
  • org.apache.cordova.globalization: 0.3.3
  • org.apache.cordova.inappbrowser: 0.5.4
  • org.apache.cordova.media-capture: 0.3.5
  • org.apache.cordova.media: 0.2.15
  • org.apache.cordova.network-information: 0.2.14
  • org.apache.cordova.splashscreen: 0.3.5
  • org.apache.cordova.statusbar: 0.1.9
  • org.apache.cordova.vibration: 0.3.12
Tools
  • cordova-cli: 5.0.0
  • ios-sim: 3.1.1
  • ios-deploy: 1.5.0

MobileFirst Operations Console

The MobileFirst Operations Console is used for the control and management of the mobile applications.

You can use the MobileFirst Operations Console for the following tasks:
  • Monitor all deployed applications, adapters, and push notification rules from a centralized, web-based console.
  • Assign device-specific identifiers (IDs) to ensure secure application provisioning.
  • Remotely disable the ability to connect to MobileFirst Server by using preconfigured rules of app version and device type.
  • Customize messages that are sent to users on application launch.
  • Collect user statistics from all running applications.
  • Generate built-in, preconfigured reports about user adoption and usage (number and frequency of users that are engaging with the server through the applications).
  • Configure data collection rules for application-specific events.
  • Export raw reporting data to be analyzed by the business intelligence systems of your organization.

IBM MobileFirst Platform Operational Analytics

IBM MobileFirst Platform Foundation includes a scalable operational analytics feature that is accessible from the MobileFirst Operations Console. The analytics feature enables enterprises to search across logs and events that are collected from devices, apps, and servers for patterns, problems, and platform usage statistics.

The data for operational analytics includes the following sources:
  • Crash events of an application on iOS and Android devices (crash events for native code and JavaScript errors).
  • Interactions of any application-to-server activity (anything that is supported by the MobileFirst client/server protocol, including push notification).
  • Server-side logs that are captured in traditional MobileFirst log files.

MobileFirst Server and MobileFirst Operational Analytics environments can also be built as Docker images that you can deploy and run on the cloud using IBM Containers for Bluemix.

Application Center

With the Application Center, you can share mobile applications that are under development within your organization in a single repository of mobile applications. Development team members can use the Application Center to share applications with members of the team. This process facilitates collaboration between all the people who are involved in the development of an application.

Your company can typically use the Application Center as follows:
  1. The development team creates a version of an application.
  2. The development team uploads the application to the Application Center, enters its description, and asks the extended team to review and test it.
  3. When the new version of the application is available, a tester runs the Application Center installer application, which is the mobile client. Then, the tester locates this new version of the application, installs it on their mobile device, and tests it.
  4. After the tests, the tester rates the application and submits feedback, which is visible to the developer from the Application Center console.

The Application Center is aimed for private use within a company, and you can target some mobile applications to specific groups of users. You can use the Application Center as an enterprise application store.

With the Application Center, you can manage native or hybrid applications that are installed on mobile devices. The Application Center supports applications that are built for the Google Android platform, the Apple iOS platform, the Windows Phone 8 platform, and the BlackBerry OS 6 and 7 platform. Application Center does not target mobile web applications.
Note: Windows Phone 7, Windows RT, and BlackBerry OS 10 are not supported by the current version of the Application Center.

IBM MobileFirst Platform Foundation System Patterns

With the MobileFirst Platform Patterns, you can deploy MobileFirst Server on IBM PureApplication® System or IBM PureApplication Service on SoftLayer®. With these patterns, administrators and corporations can respond quickly to changes in the business environment by taking advantage of on-premises Cloud technologies. This approach simplifies the deployment process, and improves the operational efficiency to cope with increased mobile demand. The demand accelerates iteration of solutions that exceed traditional demand cycles. Using MobileFirst Platform Patterns also gives access to best practices and built-in expertise, such as built-in scaling policies.

PureApplication System
IBM PureApplication System is an integrated, highly scalable system that is based on IBM X-Architecture, providing an application-centric computing model in a cloud environment.

An application-centric system is an efficient way to manage complex applications and the tasks and processes that are invoked by the application. The entire system implements a diverse virtual computing environment, in which different resource configurations are automatically tailored to different application workloads. The application management capabilities of the IBM PureApplication System platform make deployment of middleware and other application components quick, easy, and repeatable.

IBM PureApplication System provides virtualized workloads and a scalable infrastructure that is delivered in one integrated system.

Virtual System Patterns
Virtual system patterns are a logical representation of a recurring topology for a set of deployment requirements.

Virtual system patterns enable efficient and repeatable deployments of systems that include one or more virtual machine instances, and the applications that run on them. You can completely automate the deployment and eliminate multiple time-consuming manual tasks. Such a deployment eliminates problems that are introduced by error-prone, manual configuration processes, especially in complex production topologies such as server farms, and accelerates solution deployment.

MobileFirst Platform Command Line Interface

To help you get a better tools experience, IBM MobileFirst Platform Foundation provides a command-line interface (CLI) tool to easily create and manage apps. By working with the CLI, you can use your preferred text editors or alternative IDEs to create mobile applications.

The commands support tasks such as creating, adding, and configuring with the API library, adding the client-side properties file, and building and deploying the application. From the command line, you can create and deploy adapters, and test them locally. You can administer your project from CLI or REST services, or the MobileFirst Operations Console, where you can control the local server and observe the logs.

IBM API Connect

IBM API Connect is a management solution that addresses all aspects of the application programming interface (API) lifecycle for both on-premises and cloud environments. It offers capabilities to create, run, manage, secure, and monetize APIs and microservices.

With IBM MobileFirst Platform Foundation V7.1.0 and IBM API Connect V5.0.0, you can complement your mobile strategy with multi-channel API creation and management:
  • Create and run APIs for multi-channel systems of engagements, including mobile.
  • Add lifecycle management and a layer of governance to your multi-channel APIs.
  • Enforce API and mobile security together at the edge of the network with IBM WebSphere® DataPower® Gateways.
  • Extend business analytics from points of interaction and mobile server down to the data layer with IBM API Analytics.
  • Add developer self-service API onboarding and discovery by using IBM API Connect Developer Portal.

For more information, see the IBM API Connect V5.0.0 product documentation.