Using the ActivID CMS SDK
This section introduces you to using the ActivID CMS SDK in the following ways:
-
Service Provider Interface (SPI)/Application Programming Interface (API), which is based upon use case examples
-
Plug-in debug logs, and how to enable these logs
-
SDK directory organization, and its related contents
-
SPI/API in this release, and its corresponding documentation and Javadoc
Choosing an SPI/API
Because the supported ActivID CMS plug-ins can be created independently of each other, it is important to fully understand what each API An Application Programming Interface (API) is an external interface that makes it possible for applications not supported by HID Global to incorporate ActivID functionality. or SPI A Service Provider Interface (SPI) consists of a set of constant definitions and method declarations without implementations and intended to be called or used in a pre-determined generic manner with a set of outputs that meet pre-determined abstract rules and expectations. does so that the solution you seek resolves your specific problem.
See the following table that lists a variety of example use cases, and provides, with each use case, a brief description of the solution using ActivID CMS as well as the SPI or API that addresses each use case.
Use Case |
Solution |
---|---|
Use Case: Allowing a Custom Application to Manage and Synchronize Devices |
To transparently integrate ActivID CMS functionality into an application, use the application’s interface rather than the ActivID CMS user interface with the Card and Credential Management API (CCM API). |
To support a third-party certificate authority (CA) that ActivID CMS does not already support using the Credential Provider SPI. |
|
To notify a backend application when an ActivID CMS event occurs, use the Event Notification Plug-In Service Provider Interface (SPI). |
|
Use Case: Allowing ActivID CMS to Enroll and/or Verify User Attributes |
To customize the ActivID CMS issuance workflow to add enrollment and verification steps (such as biometrics, picture, signature, or identity proofing) on the issuance/unlock workstation, create a client-side plug-in using the ActivID Generic Plug-In SPI. |
Use Case: ActivID CMS Fetching Cardholder Attributes from Non-CMS LDAP Directories |
To make it possible for ActivID CMS to fetch and access cardholder data from repositories other than ActivID CMS-configured LDAP directories, create a server-side plug-in using the ActivID Generic Plug-In SPI |
To extend ActivID CMS functionality by making it possible to collect and format static data Cardholder-related information including things such as health benefits, biometrics, unique organizational identifiers, or unique personal identifiers that rarely change. at device issuance and store it on a smart card using the Static Data Collection Plug-In SPI. |
Using the Plug-In Debug Logs
Before you can use the plug-in debug logs, you must first enable them. To enable the plug-in debug logs, complete the procedure in the following section.
Enabling the Debug Log
The ActivID CMS server uses the industry-standard Logback technology to implement its logging capabilities, which is based on the Simple Logging Facade for Java (SLF4J) API.
SLF4J is an OpenSource logging API providing a reliable, configurable, and extendible means for logging Java applications so you can debug and monitor your applications. SLF4J lets you insert log statements in code and configure them externally.
To enable logging for ActivID CMS plug-ins, modify the logback.xml file in the following path:
%PROGRAMDATA%\HID Global\Credential Management System\Local Files\logback.xml
For details or specific information about Logback logging, refer to the Logback documentation.
ActivID CMS SDK Directory Organization
The ActivID CMS SDK directory organization is illustrated as follows:
\SDK
\API
\CCM—Sample code examples, Java and C++ Javadocs, and API documentation.
\SPI
Credential_Provider—Sample code example, Javadoc, and API documentation.
Generic—Sample code example, Javadoc, and API documentation.
Notification—Sample code example, Javadoc, and API documentation.
Static_Data—Sample code example, Javadoc, and API documentation.
ActivID CMS Code Samples
Each supported ActivID CMS API or SPI comes with its own corresponding documentation and related example code samples that demonstrate its basic functionalities.
For specifics, refer to the respective sections and corresponding Javadoc that accompanies the ActivID CMS release for details and more information about each of the supported interfaces, classes, methods, and constructs for the following API or SPI:
-
ActivID CMS Credential Provider SPI
- ActivID Credential Provider SPI Javadoc
-
ActivID CMS Event Notification Plug-In SPI
- ActivID Event Notification Plug-In SPI Javadoc
-
ActivID CMS Generic Plug-In SPI
- ActivID Generic Plug-In SPI Javadoc
-
ActivID CMS Static Data Collection Plug-In SPI
- ActivID Static Data Collection Plug-In SPI Javadoc
-
ActivID CMS Card and Credential Management (CCM) API
- ActivID CMS CCM Javadoc