Applications are built for a target MobileFirst Server.
They have a server-side configuration on the target server. You must
register your applications on the MobileFirst Server before
you can configure them.
In
IBM MobileFirst™ Platform Foundation,
applications are identified by the following elements:
- An app ID
- A version number
- A target deployment platform
Note: The version number is not applicable
to web applications. You cannot have multiple versions of the same
web application.
These identifiers are used on both the client
side and the server side to ensure that apps are deployed correctly
and use only resources assigned to them. Different parts of
IBM MobileFirst Platform Foundation use
various combinations of these identifiers in different ways.
The app ID depends on the target deployment
platform:
- Android
- For Android apps, the identifier is the application package name.
- iOS
- For iOS apps, the identifier is the application bundle ID.
- Windows
- For Windows apps, the
identifier is application assembly name.
- Web
- For web apps, the identifier is a unique ID that is assigned by
the developer.
If apps for different target platforms all have the
same app ID, then
IBM MobileFirst Platform Foundation considers
all of these apps to be the same app with different platform instances.
For example, the following apps are considered to be different platform
instances of the same app:
- An iOS app with a bundle ID of com.mydomain.mfp
- An Android app with a package name of com.mydomain.mfp
- A Windows 10 Universal Windows Platform app with an
assembly name of com.mydomain.mfp
- A web app with an assigned ID of com.mydomain.mfp.
The target deployment platform for the app
is independent of whether the app was developed as a native app or
as a Cordova app. For example, the following apps are both considered
to be iOS apps in
IBM MobileFirst Platform Foundation:
- An iOS app that you develop with Xcode and native code
- An iOS app that you develop with Cordova cross-platform development
technologies
Application configuration
An application is configured on both the client side and the server side.
For native and Cordova iOS, Android, and Windows
applications, the client configuration is stored in a client properties file
(mfpclient.plist for iOS, mfpclient.properties for Android, or mfpclient.resw for Windows). For web applications,
the configuration properties are passed as parameters to the SDK initialization
method (see Initializing the MobileFirst SDK).
The client configuration properties include the application ID and information
such as the URL of the MobileFirst Server runtime and security keys that are required to access to the server. The
server configuration for the app includes information like app management
status, web resources for Direct Update,configured security scopes, and log configuration.
The client configuration must be defined before you build the application.
The client-app configuration properties must match the properties that are
defined for this app in the MobileFirst Server runtime. For example, security keys in the client configuration must match
the keys on the server. For non-web apps, you can
change the client configuration with the MobileFirst Platform CLI (mfpdev command).
The server configuration for an app is tied to the combination of app ID,
version number, and target platform. The version number
is not applicable to web apps. You must register your app to a MobileFirst Server runtime before you can add server-side configurations for the app.
Configuring
the server side of an app is typically done with the
MobileFirst Operations Console.
You can also configure the server side of an app with the following
methods:
You can also use these methods to automate configuring your
MobileFirst Server.
Remember: You can modify the server configuration even while
a MobileFirst Server is
running and receiving traffic from apps. You do not need to stop the
server to change the server configuration for an app.
On
a production server, the app version typically corresponds to the
version of the application published to an app store. Some server
configuration elements like the configuration for app authenticity,
are unique to the app published to the store.