ActivID Credential Management System SDK Components
This section introduces the ActivID CMS SDK components.
ActivID Credential Management System APIs/SPIs – Architecture
The ActivID CMS SDK consists of the following interfaces:

The Card and Credential Management API (CCM API) is a software library that allows a third-party application, written in either Java or C++, to perform such following actions as:
-
Managing users, smart card requests, smart cards, and credentials
-
Performing issuance and post-issuance procedures
For example, the CCM API can be used to integrate Physical Access Control Systems (PACS), external Help Desk applications, or Identity Management Systems using ActivID products.
CCM API is a C++ and Java-based API that works with ActivID CMS on all platforms on which ActivID CMS runs. Where native binaries are included in the CCM API application, they must support the target ActivID CMS operating systems.
For information about the platforms on which ActivID CMS runs, refer to ActivID CMS System Environment.
For information about the CCM API for Java and the CCM API for C++, refer to About the CCM API.

The Static Data Collection Plug-In SPI enables third-party developers to store third-party application-specific data or/and organization-specific data on devices during issuance.
The Static Data Collection Plug-In SPI allows developers to create methods (triggered at device issuance time) that fetch and format static data Cardholder-related information including things such as health benefits, biometrics, unique organizational identifiers, or unique personal identifiers that rarely change. to be stored in Generic Containers A Generic Container (GC) applet is used to store static data on devices. The applet treats all data as opaque or generic and never attempts to assign any meaning to the data with which it is dealing. on smart cards. The data can come from any repository (such as database, LDAP, or data files).
For additional information about the Static Data Collection Plug-In SPI, see Using the Static Data Collection Plug- In SPI. For detailed information about developing plug-ins using the Static Data Collection Plug-In SPI, refer to About the Static Data Collection Plug-In SPI.

The Event Notification Plug-In SPI is a Service Provider Interface that allows code from a plug-in to be triggered when certain ActivID CMS events occur such as:
-
Card Management Events (such as Update, Bind, Recycle, Termination, and Unlock)
-
Credential Management Events (such as Issuance, Revoke, Suspend, and Resume)
-
Request Management Events (such as Submit and Approve)
-
User management (such as Create, Delete, and Terminate)
When an event occurs, the plug-in can then perform some action, such as:
-
Log the event into a file or into a database
-
Send an email message or an SNMP notification
-
Notify another application/service through some protocol
-
Update the data of an IDMS (Integrated Database Management System)/ IDPRS (Interactive Data Processing and Research System
For additional information about the Event Notification Plug-In SPI, see Using the Event Notification Plug-In Service Provider Interface. For detailed information about developing plug-ins using the Event Notification Plug-In SPI, refer to About the Event Notification Plug-in SPI.

Server-Side Generic Plug-Ins
On the server side, the Generic Plug-In SPI makes it possible for ActivID CMS to access user attributes on repositories other than an LDAP directory. The server-side generic plug-ins are also called enrollment plug-ins An enrollment plug-in is involved every time a user attribute is set or retrieved by ActivID CMS. This makes it possible to map user attributes to repositories other than ActivID CMS’ standard LDAP (for example, such as IDMS, databases, or XML files).. For additional information about server-side generic plug-ins, see Using the Generic Plug-In SPI to Customize ActivID CMS Issuance.
Generic Client Plug-In Infrastructure
The Generic Client Plug-In infrastructure allows customization of the ActivID CMS issuance workflow steps that occur on the client.
Client-side generic plug-ins allows customers deploying ActivID CMS to enroll data such as a user picture or biometrics at card issuance time.
The client plug-ins are defined as scriptable code (for example, JavaScript) that are integrated into the HTML pages generated by ActivID CMS at the issuance workflow step for which the client plug-in has been configured. The client plug-in can in turn invoke custom controls.
The generic client plug-in can also be used in conjunction with the enrollment plug-ins, so that the results of a client plug-in call can be forwarded to a server enrollment plug-in, and conversely, a server enrollment plug-in can be used to prepare data for a client plug-in.
The ActivID CMS plug-in configuration defines which plug-ins are to be invoked at each step and the input/output parameters for each plug-in. For additional information about the Generic Client Plug-In Infrastructure, see Using the Generic Plug-In SPI to Customize ActivID CMS Issuance.
For detailed information about developing plug-ins using the Generic Plug-In SPI, refer to About the Generic Plug-In SPI.

The Credential Provider Service Provider Interface (SPI) allows ActivID CMS to integrate with third-party credential sources through third-party credential providers.
For additional information about the Credential Provider SPI, see Use Case: Supporting a Third-Party Certificate Authority. For detailed information about developing plug-ins using the Credential Provider SPI, refer to About the Credential Provider Service Provider Interface (SPI).
Platforms Supported by ActivID CMS SDK
ActivID CMS SDK is supported for use on the same platforms supported by ActivID CMS. See ActivID CMS System Environment for details.

The following ActivID CMS SPIs are implemented as ActivID CMS plug-ins and run within the ActivID CMS server. Therefore, plug-ins developed with these tools run in the same environments as ActivID CMS (Windows) and are Java-based:
-
Credential Provider SPI
-
Static Data Collection Plug-In SPI
-
Event Notification Plug-In SPI
-
Generic Plug-In SPI (Server Side)
Client-side generic plug-ins run on the client side through the ActivID CMS Operator Portal. Therefore, they run in the same environment as the ActivID CMS Client (Operator Portal). These plug-ins are written in HTML/JavaScript.

The Card and Credential Management API is a C++ and Java-based API that works with ActivID CMS SDK on all platforms on which ActivID CMS runs. For specific information about the platforms on which ActivID CMS runs, refer to ActivID CMS System Environment.