BlackBerry UEM Integration SDK

Get Started with BlackBerry Development Tools

Get Started with BlackBerry UEM Integration SDK

Develop your first plug-in to extend and enhance the functionality of BlackBerry UEM.

Learn

You can use the BlackBerry UEM Integration SDK to develop custom plug-ins that add new features and services to BlackBerry UEM.

The BlackBerry UEM Integration SDK gives developers the resources they need to create, test, and deploy custom plug-ins that extend the functionality of BlackBerry UEM version 12.7 or later.

The advantages offered by a UEM plug-in:

  • Add new features for user and device management, monitoring, reporting, integration with third-party systems, and more.
  • Integrate custom services to meet the specific needs of your workplace. For example, the BlackBerry Workspaces plug-in allows an administrator to provide Workspaces file-sharing services to a UEM domain.
  • Add UI components to the management console for controlling and managing new features or services.
  • Leverage existing UEM features, including role-based authorization, group and user management, logging, monitoring, high availability, and much more.
  • Integrate with and leverage existing systems, including an organization’s company directory and key components of the BlackBerry Infrastructure.
  • Add custom APIs to BlackBerry UEM to support new plug-in functionality.

A BlackBerry UEM plug-in is a code delivery mechanism that adds new features or user-assignable services to the code base of BlackBerry UEM. A plug-in can interact with the system, listen for and react to events, add configuration and management options to the management console, and add custom APIs to support new services or features.

You can add any number of plug-ins to the UEM platform. Plug-in design is flexible. You can create a plug-in that exposes UI options for configuration, permission and profile management, and user assignment, or you can implement “back-end” functionality with no UI impact at all.

A plug-in can exist independent of other BlackBerry UEM features, for example, a service that is extended to devices and managed from a dedicated screen in the management console. A plug-in can also introduce new functionality that is consistent with other features throughout the management console (for example, a new profile type that can be assigned, removed, or edited just like any other BlackBerry UEM profile).

The BlackBerry UEM Integration SDK provides a development environment and templates that can be used to integrate code with the management console service (the UEM UI) and the BlackBerry UEM Core service. Developers manage UEM plug-in code in its own repository and build the code using the UEM Integration APIs:

  • The BlackBerry UEM UI APIs: provide the capability to add new screens, menu items, configuration settings, status fields, and other UI elements to the management console. There are APIs for the UI client and the UI server, with common components shared by both.
  • The BlackBerry UEM Core API: provides the capability to integrate plug-in logic using various APIs for user management, group management, profile management, and so on. The UEM Core API uses the Spring Java application framework to integrate a plug-in with the UEM code base.

The relationship between the UI client, the UI server, and the UEM Core can be thought of as a client-middleware-server relationship, where the UI client runs and presents the management console in a browser, the UI server is the middleware for the management console, and the UEM Core is the main server component that allows UEM to carry out management activities that are initiated in the management console.

For more information, visit BlackBerry Help and Manuals to read the BlackBerry UEM Integration SDK Development Guide.

Request the SDK

Visit the BlackBerry UEM Integration SDK page to download or request access.

The UEM Integration SDK is supported for BlackBerry UEM version 12.7 or later. You must use the version of the SDK package that matches your organization’s version of BlackBerry UEM.

The SDK package includes:

  • The UEM Integration SDK Development Guide (also available at BlackBerry Help and Manuals): Provides introductory information, system requirements, set up instructions, development guidance and best practices, troubleshooting, and deployment instructions.
  • API references (Javadocs) for the UI client, UI server, and UEM Core (also available here): Describes how to use the packages, interfaces, and classes required to build a plug-in.
  • The UEM Integration plug-in for Eclipse: Allows you to integrate Eclipse with a local UEM installation to develop and test your plug-in.
  • Sample UEM plug-in source code: A functional sample plug-in that demonstrates key use cases.
  • Tools and resources: Provide the required third-party dependencies, Gradle libraries, and templates that you need to create and build a UEM plug-in.

Configure

The BlackBerry UEM Integration SDK Development Guide (also available as a PDF in the SDK package) provides the complete system requirements and setup instructions for your development environment.

To create a UEM plug-in, you should be familiar with Java, Eclipse IDE, the Google Web Toolkit, and optionally, Sencha GXT.

A quick summary of what you’ll need to develop a UEM plug-in:

  • A development computer that meets system requirements and has a supported version of Windows Server
  • A BlackBerry UEM instance, reserved specifically for plug-in testing, installed locally on the development computer
  • JDK that matches the JRE of BlackBerry UEM
  • Eclipse IDE with required plug-ins
  • The UEM Integration SDK package

For complete setup instructions, follow the “Setting up your BlackBerry UEM plug-in development environment” chapter in the Development Guide.

After you complete the setup instructions, you’ll have a development environment that automatically deploys your code to the local UEM installation, allowing you to easily test and validate your work.

Develop & Test

  • Explore the UI server, UI client, and UEM Core API references to understand the available packages, interfaces, and classes that you can use to build a plug-in.
  • Explore the code sample included in the SDK package. The sample provides a functional plug-in that will help you understand how to build your code and how the component packages interact with UEM.
  • The UI client API includes widgets that can be used to add and customize UI components. The Development Guide explains which widgets are ready for use and clarifies whether they require the Google Web Toolkit or Sencha GXT (Sencha GXT widgets require a Sencha GXT license). 
  • The Development Guide explains how to create a public REST route that allows external software and systems to communicate with your UEM plug-in. The SDK package includes samples that demonstrate how to create authenticated and unauthenticated REST routes.

Deploy

Once your plug-in is complete, it is easy to deploy it to your production BlackBerry UEM domain. You simply:

  1. Build your plug-in package (.zip) from the command line by running the g zip command from the plug-in root folder.
  2. Transfer the package to each computer that hosts a production UEM instance.
  3. Change the command line directory to the tools\plugins\onprem folder in the UEM installation files and run plugin-deploy.bat --plugins "<package_file_path>"

The batch file validates the plug-in, integrates it with the UEM components, and restarts the UEM services. That’s it, your plug-in is now up and running!

You can also create an executable installer with an optional UI. This option is ideal if you want a simple “one click” installer that anyone can run.
 
For complete deployment instructions, and for the details for creating an executable installer, see the Development Guide.

Success! Continue

After you create and deploy your first plug-in, you can continue to explore the UEM Integration APIs and developer resources. A new version of the SDK package will be released with each major release of BlackBerry UEM, and will include new APIs and functionality to support custom plug-in development.