Deploying BlackBerry Dynamics Applications in Development and Production BlackBerry UEM Environments
This blog post describes configurations for deploying BlackBerry Dynamics (BD) applications in multiple environments, for example a development and production environment. These could map to other labels based on your internal naming and system configuration (i.e. alpha, beta, etc…). This is not a step by step guide for deploying an individual app for test using the BlackBerry UEM administration console. Those steps can be found in the BlackBerry Dynamics Getting Started Guide.
BlackBerry Entity Relationships
Your Organization ID can be found by within your BlackBerry Account.
BlackBerry UEM Servers can relate to one another by being part of the same BlackBerry Organization. They could also be part of the same BlackBerry Domain.
A BlackBerry Domain is a way to group multiple BlackBerry UEM Servers so that they share a single database. This means that changes to one BlackBerry UEM Server will apply to others. This concept does not apply to BlackBerry UEM Cloud. Making use of a BlackBerry Domain does not impact the deployment configurations described in this document.
Licenses are any trials or purchases your organization has made. The licenses will assign entitlements for applications to your organization.
Members are those with a BlackBerry Online Account who can view and administer your organization.
BlackBerry Dynamics applications have two identifiers:
- BlackBerry Dynamics Entitlement ID (also known as GD Application ID or BlackBerry Dynamics App ID)
- Native platform identifier (Android Package Name, Apple Bundle ID, etc…)
A BlackBerry Dynamics Entitlement ID is a unique identifier for your app, which should be the same across all platforms (i.e. Android, iOS, etc.). These identifiers are unique across all BlackBerry Dynamics applications. Once added to BlackBerry UEM, the Entitlement ID can be used to deploy the app on any BlackBerry UEM (Server and Cloud) within the same BlackBerry Organization.
Each platform provides a method to uniquely identify an application. These values must be unique for each application that exists in that platform’s app store (i.e. Google Play or Apple App Store).
- Android – Package Name
- iOS / MacOS – Bundle ID
- Windows – Package Identity Name
BlackBerry UEM also uses these identifiers to identify both BlackBerry Dynamics and non BlackBerry Dynamics applications.
Recommendations for Deploying Custom BlackBerry Dynamics Application
We recommend the following approach to deploying custom Dynamics applications.
- Entitlement ID: Use a different Entitlement ID for each of your environments (DEV/PROD). (See diagram)
- Entitlement Version: Use a single Entitlement Version. e.g. 1.0. This means you don’t need to increment the Entitlement Version when you release an update to your application.
- Native Platform ID: Ideally make this the same as the Entitlement ID for simplicity, however this isn’t required. What is required is that you don’t reuse the same Native Platform ID for different Entitlement IDs as you’ll hit issues when running DEV and PROD applications on the same device.
This model has the following benefits:
- A naming convention makes the internal ownership of applications within your UEM server clearer. For example, you can instruct developers using a development UEM to only administer applications with a ‘.dev’ extension to the Entitlement ID and not alter production applications.
- Developers can configure and test different app configurations without impacting production applications.
- New features within the development versions of your app can be distributed to a pilot group of users configured in your Production UEM.
- You have access to all your licensed applications for interoperability testing,
- Access to enterprise support.
This model has the following weakness which will be addressed in a future release:
- UEM permissions don’t allow developers to be restricted from managing production applications, whilst still having access to development applications.
- IT administrators can’t prevent developers from viewing information about production servers within BlackBerry myAccount.
Developers can create their own BlackBerry Organization and setup a UEM server independently of a company’s primary Organization.
Please be aware of the following limitations with this approach:
- Any applications (Entitlement ID) registered can never be made available to UEM servers within the primary organization. You would instead have to register different Entitlement IDs in the primary organization.
- A developer will not have access to the primary organizations licensed products. E.g. BlackBerry Work.
- A developer will not be entitled to raise support cases against the primary organization.
To avoid these limitations, we recommend you invite the developer into your primary Organization.
Invite to Organization
Once you invite a developer, they will immediately have access to view your organization and raise support cases, whilst maintaining access to their original organization. The invite also provides the developer with the option to import any servers or applications they have registered. Once the developer reviews what will be imported and accepts this request, their original organization is imported and only the inviting/primary organization remains.
You’re Ready to Deploy
Use this information to help design BlackBerry Dynamics applications for development, testing, production and any other stage you may have in your software development life cycle. Use the BlackBerry Developer Forum to ask us any questions you may have about this blog.