Today, I’d like to introduce the BlackBerry Dynamics Secure Communication APIs. BlackBerry Dynamics provides APIs to protect data in transit when making a socket or HTTPS request. When these APIs are used to send data from a client application, BlackBerry Dynamics encrypts and sends the data securely to enterprise application servers behind the enterprise firewall.
The following diagram illustrates how BlackBerry Dynamics applications can connect to application servers that are behind the enterprise firewall or on the Internet using the same APIs.
To reach servers behind the corporate firewall, connections go through a BlackBerry Dynamics Proxy server(GP) with options below:
BlackBerry NOC(Network Operation Center)
BlackBerry NOC provides the secure communication infrastructure. All BlackBerry Dynamics applications maintain a persistent connection to NOC by using SSL over TCP.
Direct Connect
IT Admins can also enable a BlackBerry Dynamics app to connect directly to a GP server without connecting through the NOC. Some organizations have additional data privacy requirements, restricting user data leaving from their networks therefore do not want their users and enterprise data to be routed via the BlackBerry Dynamics NOC.
These routing options can be configured in the UEM(Unified End-Point Manager) or stand-alone GC(Good Control) by IT admins and are transparent to the application code as the BlackBerry Runtime will handle the appropriate route automatically.
Let’s dive into the environment set up and platform specific APIs to access BlackBerry Dynamics secure communication. To establish the secure communication between your BlackBerry Dynamics app and enterprise application servers, the server information (host name and port) are configured in the enterprise management console such as UEM or GC.
Once UEM or GC server is configured for your application server(s), your app can use the BlackBerry Dynamics secure communication APIs to access the server(s). The platform specific APIs are listed below:
In the SDK for Android, you can use:
- GDSocket class for socket connections and
- GDHttpClient class for HTTP requests.
In the SDK for iOS, you can use:
- GDSocket class for socket connections and
- GDURLLoadingSystem with the native HTTP Request framework such as NSURLSession or NSURLConnection class. At the time of writing this post, NSURLSessionDownloadTask is not yet supported.
- GDHttpRequest class for an alternative stand-alone interface
In the Cordova Plugin for Android or iOS, you can use:
- GDSocket class for socket connections and
- GDXMLHttpRequest class for HTTP requests
Secure communications APIs are available for Xamarin, Windows, macOS as well. For more details, check out the BlackBerry Dynamics Resources page.
That’s it for now! Stay tuned for our next blog…
Click here to join our Developer Community forum and the conversation!