Entity model and main service interfaces and packages
Entity model of the UEM Integration APIs
UEM
Integration APIs
BlackBerry UEM Core API
BlackBerry UEM Core
APIThe main service interfaces of the
BlackBerry UEM Core
API:
Interface | Description |
---|---|
Configuration service (IConfigurationService) | The configuration service allows a plug-in to add custom configuration definitions that can be used by plug-in features and services. |
Device service (IDeviceService) | The device service allows a plug-in to retrieve device information from BlackBerry UEM . |
Event service (IEventService) | The event service allows a plug-in to register, listen for, and process events, as well as create new events. |
Execution service (IExecutionService) | The execution service allows a plug-in to execute services and retry tasks. |
Feature service (IFeatureService) | The feature service manages reading platform-defined features and feature definitions specific to a plug-in. |
Group service (IGroupService) | The group service allows a plug-in to interact with the user groups available in BlackBerry UEM . |
HTTP client service (IHttpClientUtil) | The HTTP client service allows a plug-in to make HTTP requests to external resources through the BlackBerry Infrastructure . |
Key store service (IKeyStoreService) | The key store service gives a plug-in access to the certificates and private keys stored in the BlackBerry UEM Core key store, and supports the creation and storage of certificates and key pairs for the plug-in. |
Licensing service (ILicensingService) | The licensing service allows a plug-in to retrieve licensing information and modify licensing entitlements. |
Permission service (IPermissionService) | The permission service manages reading platform-defined permissions and permission definitions that are specific to a plug-in. |
Profile service (IProfileService) | The profile service allows a plug-in to add new profiles and profile settings to BlackBerry UEM . |
User device service (IUserDeviceService) | The user device service allows a plug-in to retrieve device data for a specific user. |
User service (IUserService) | The user service allows a plug-in to interact with existing BlackBerry UEM users, for example, to associate a service with a user or to remove a service from a user. |
User setting service (IUserSettingService) | The user setting service allows a plug-in to retrieve and configure user settings. |
BlackBerry UEM UI APIs (UI server and UI client)
BlackBerry UEM
UI APIs (UI server and UI client)The main packages of the
BlackBerry UEM
UI APIs:
Package | Description |
---|---|
com.blackberry.platform.common.api.entity | The entities that are common in all components of the BlackBerry UEM Integration platform.The implementation of this package for the BlackBerry UEM Core is not available in this release, but is targeted for an upcoming release. |
com.blackberry.platform.common.api.log | The logging capabilities that are common in all components of the BlackBerry UEM Integration platform.The implementation of this package for the BlackBerry UEM Core is not available in this release, but is targeted for an upcoming release. |
com.blackberry.platform.ui.common.api.auth | The classes that are related to user authentication for the BlackBerry UEM UI APIs (UI client and UI server). |
com.blackberry.platform.ui.common.api.provider | The provider framework and related classes for the BlackBerry UEM UI APIs (UI client and UI server). |
com.blackberry.platform.ui.client.api.nav | The navigation API for the UI client. |
com.blackberry.platform.ui.client.api.widgets | The UI widgets for the UI client. |
com.blackberry.platform.ui.rx.client.api | The Remote Execution (RX) classes for the UI client. |
com.blackberry.platform.ui.rx.common.api | The RX classes common to the UI client and the UI server. |
The main entry points for the
BlackBerry UEM
UI APIs:
Entry point | Description |
---|---|
com.blackberry.platform.ui.server.api.UIServerModule | This is an abstract base class that a plug-in must subclass in the UI server code to add elements to the UI. The name of the subclass must follow this convention: <plug-in-id> .ui.server.ServerEntryPoint. |
com.blackberry.platform.ui.server.api. UIServerSessionAPI | This is the interface that defines the API provided by the platform to the plug-in code in the UI server. Implement the connect() method of the UIServerModule class to provide the instance of the interface to a plug-in. Each plug-in receives a separate instance of this object that cannot be shared with other plug-ins. |
com.blackberry.platform.ui.client.api. AbstractClientSnapin | This is the equivalent of UIServerModule for the UI client; an abstract base class that a plug-in must subclass in the UI client code to add elements to the UI. |
com.blackberry.platform.ui.client.api.UIClientAPI | This is the interface that defines the API provided by the platform to the plug-in code in the UI client. Implement the api() method of the AbstractClientSnapin class to provide the instance of the interface to a plug-in. Each plug-in receives a separate instance of this object that cannot be shared with other plug-ins. |
The following diagram demonstrates the relationship between key objects in the
UEM
Integration Framework (the white boxes are platform classes; the blue boxes are plug-in classes):
To complete a successful login, the platform makes a call to the connect() method of the ServerEntryPoint. The plug-in exposes its functionality to the authenticated user by returning an instance of the class that extends ModuleSessionExtensionConnection. This object will be stored along with other such objects in the internal user session object, and can be treated as a plug-in specific session object; it is a user session's connection to the plug-in. All subsequent functionality that is related to the user session is routed to this object.
The first such call obtains an initialization package for the plug-in's client code. This is accomplished by overriding the getClientModulePostLoginInitPack(...) method in the connection object. It should return an implementation that creates an instance of a subclass of ClientModulePostLoginInitPack. This class must be serializable to the client, so it must be in the ui.common project, and it must meet all criteria for RX/GWT serialization. Otherwise, the class may contain whatever data and logic the plug-in requires.