CICS management client interface (CMCI)
- CMCI in a CICSPlex SM environment
- Allows you to manage definitional resources, such as CSD and BAS resources, and operational resources in all of the CICS regions managed by CICSPlex SM, with an HTTP client.
- CMCI in a single CICS region
- Allows you to manage only the CSD and operational resources associated with that region through an HTTP client, and the context is specified as the application ID of that CICS region.
What is the CMCI JVM server?
The CMCI JVM server is a Liberty server. It is an optional, but highly recommended component of the CMCI that enhances support for CMCI requests. This component performs client authentication, including the support for multifactor authentication (MFA), and provides support for the CMCI GraphQL API.
| Function | CMCI with the CMCI JVM server | CMCI (basic) |
|---|---|---|
| Authentication support | ||
| User ID / password | ✓ | ✓ |
| Certificate | ✓ | ✓ |
| PassTicket | ✓ | |
| MFA | ✓ | |
| API support | ||
| REST API | ✓ | ✓ |
| GraphQL API | ✓ | |
The enablement of the CMCI JVM server
is controlled by feature toggle com.ibm.cics.cmci.jvmserver.
CMCI REST API versus CMCI GraphQL API: What is it? And what's the difference?
The CMCI REST API and the CMCI GraphQL API are both HTTP-based application programming interfaces that can be used to develop HTTP client applications that manage installed and definitional CICS and CICSPlex SM resources on CICS regions being managed by CICSPlex SM.
The CMCI REST API is designed based on Representational State Transfer (RESTful) principles, so you need to retrieve data from multiple endpoints with fixed data structures. In comparison, the GraphQL API exposes only a single endpoint with more flexibility. This means that in a single query request, a client can query many types of CICS resources across CICSplexes, and specify exactly what data it needs with explicitly expressed inherent relationships.
{
cicsplexes {
cicsResources {
loctran {
records {
name
to_program {
name
useCount
}
}
}
}
}
}