For up-to-date product documentation, see the IBM MobileFirst Foundation Developer Center.


Migrate apps from earlier releases

IBM MobileFirst™ Platform Foundation V8.0 introduces new concepts for application development and deployment, and some API changes. Learn about these changes to prepare and plan for the migration of your MobileFirst applications.


At a glance

  1. Learn about the development and deployment process in V8.0.0. See Changes in the development and deployment process.
  2. Learn about the migration assistance tool. Depending on your platform, see Starting the Cordova app migration with the migration assistance tool, Scanning existing MobileFirst native iOS apps to prepare for MobileFirst version 8.0, Scanning existing MobileFirst native Android apps to prepare for MobileFirst version 8.0, or Scanning existing MobileFirst native Windows apps to prepare for MobileFirst version 8.0.
  3. Migrate your application. See Migrating a Cordova or hybrid application or Migrating a native application.
  4. Migrate adapters and security. See Migrating adapters and security.
  5. Migrate push notifications. See Migrating push notification support.


Changes in the development and deployment process

For a quick hands-on experience of the development process with IBM MobileFirst Platform Foundation V8.0.0, we can review the Quick Start tutorials.

In this version of the product, you no longer create a project WAR file that needs to be installed in the application server that is running MobileFirst Server before we can upload your apps. Instead, MobileFirst Server is installed once, and you upload the server-side configuration of your apps, of the resource security, or of the push service to the server. We can modify the configuration of your apps with the MobileFirst Operations Console. We can also upload a new configuration file for our apps by using a command-line tool or the server REST API.

MobileFirst projects no longer exist. Instead, you develop your mobile app with the development environment of your choice. You develop the server-side of your application separately, in Java™ or in JavaScript. For more information about development environments for the client-side of your application, see Client app development environments. We can develop adapters with Apache Maven or a Maven enabled IDE such as Eclipse, IntelliJ, and others. For more information about developing adapters, see Adapters as Apache Maven projects. For more information about using Eclipse as a Maven enabled IDE, read the Developing Adapters in Eclipse tutorial.

In previous versions, applications were deployed to the server by uploading a .wlapp file. The file contained data that described the application and for hybrid applications, the web resources. In V8.0.0, the .wlapp file is replaced by an application descriptor JSON file for registering an app to the server. For Cordova applications that use Direct Update, instead of uploading a new version of the .wlapp, you now upload a web resource archive to the server.

When you develop your app, we use the IBM MobileFirst Platform Command Line Interface (CLI) for many tasks, such as registering an app to its target server or uploading its server-side configuration. For more information, see Getting started with the MobileFirst CLI.


Discontinued features and replacement path

IBM MobileFirst Platform Foundation V8.0.0 is radically simplified compared to the previous version. As a result of this simplification, some features that were available in V7.1 are discontinued in V8.0.0. For more information about discontinued features and replacement path, see Features that are discontinued in V8.0.0 and features that are not included in V8.0.0.


Migrating a Cordova or hybrid application

You start developing Cordova apps with the Apache Cordova command-line tool or with a Cordova enabled IDE such as Visual Studio Code, Eclipse, IntelliJ, and others.For more information about using eclipse as a Cordova enabled IDE, see IBM MobileFirst Studio plug-in for managing Cordova projects in Eclipse.

Add support for the MobileFirst features by adding the MobileFirst plug-ins to our app. For more information about the differences between V7.1 Cordova or hybrid apps and V8.0 Cordova apps, see Comparison of Cordova apps developed with V8.0.0 versus V7.1.0 and before.

To migrate a Cordova or hybrid app, you need to

For more information about migrating Cordova or hybrid apps, see Migrating existing Cordova and hybrid applications.

Note: The migration of push notification support requires client-side and server-side changes and is described later on in Migrating push notification support.


Migrating a native application

To migrate native application, you need to follow these steps:

For more information about migrating native iOS apps, see Migrating existing native iOS applications.

For more information about migrating native Android apps, see Migrating existing native Android applications.

For more information about migrating native Windows apps, see Migrating existing native Windows applications.

Note: The migration of push notification support requires client-side and server-side changes and is described later on in Migrating push notification support.


Migrating adapters and security

Starting with V8.0.0, adapters are Maven projects. The MobileFirst security framework is based on OAuth, security scopes, and security checks. Security scopes define the security requirements to access a resource. Security checks define how a security requirement is verified. Security checks are written as Java or JavaScript adapters. For a hands-on experience with adapters and security, see the tutorials Creating Java and JavaScript Adapters and Authorization concepts.

MobileFirst Server operates only in session-independent mode and adapters should not store a state locally to a Java virtual machine (JVM).

We can externalize adapter properties to configure adapters for the context where they run, for example a test server or a production server. But the values of these properties are no longer included in a property file of a project WAR file. Instead, you define them from the MobileFirst Operations Console, or by using a command-line tool or the server REST API.

For more information about migrating adapters, see Migrating existing adapters to work under MobileFirst Server V8.0.0.

For more information about server-side API changes, see Server-side API changes in V8.0.0.

For an introduction to Apache Maven used to develop adapters, see Adapters as Apache Maven projects.


Migrating push notification support

The event-source-based model is no longer supported. Instead, use tag-based notification. To learn more about migrating push notification for your client apps and your server-side components, see Migrating to push notifications from event source-based notifications and Migration scenarios.

Starting with V8.0.0, you configure the push service on the server side. The push certificates are stored on the server. We can set them from the MobileFirst Operations Console or we can automate certificate uploads by using a command-line tool or the push service REST API. We can also send push notifications from the MobileFirst Operations Console.

The push service is protected by the OAuth security model. You must configure server-side components that use the push service REST API must be configured as confidential clients of MobileFirst Server.


Changes in the server databases and in the server structure

MobileFirst Server enables changes to app security, connectivity and push without code change, app rebuild or redeployment. But these changes imply changes in the database schemas, the data stored in the database, and the installation process.

Because of these changes, IBM MobileFirst Platform Foundation does not include automated scripts to migrate your databases from earlier versions to V8.0.0 or to upgrade an existing server installation. To move new versions of your apps to V8.0.0, install a new server that we can run side by side with your previous server. Then, upgrade your apps and adapters to V8.0.0 and deploy them to the new server.


Storing mobile data in Cloudant

Storing mobile data in Cloudant® with the IMFData framework or CloudantToolkit is no longer supported. For an alternative API, see Migrating apps storing mobile data in Cloudant with IMFData or Cloudant SDK.

Parent topic: Upgrading to IBM MobileFirst Platform Foundation V8.0.0