Introduction to CARMA
CARMA is a library that provides a generic interface to z/OS® software configuration managers (SCMs). Developers can build on top of CARMA by developing repository access managers (RAMs) that plug into the CARMA environment. RAMs define how CARMA should communicate with various SCMs. For example, a CARMA host (a z/OS host machine with CARMA on it) could be configured to use one RAM to communicate with IBM® Source Code Library Manager (SCLM) repositories and another RAM to communicate with your own custom SCM.
By using CARMA, developers of client software can avoid writing specialized code for accessing SCMs, and easily allow support for any SCM for which a RAM is available. CARMA is a DLL stored within an MVS™ PDS. Only z/OS clients can directly access CARMA. In order to access CARMA from a workstation, a software bridge between the workstation and host must be developed. This bridge software must act as a client to the CARMA host and as a server to workstations. Developer for z/OS ships with such a software bridge to allow the CARMA plug-in to access CARMA hosts.
Figure 1 illustrates an example CARMA environment.

CARMA currently ships with four sample RAMs:
- Sample TSO/ISPF PDS RAM - Provides access to the partition data sets (PDS) through the use of Library Management API of TSO.
- Sample SCLM RAM - Provides access to Software Configuration Library Manager (SCLM) projects.
- Sample COBOL RAM - Provides example COBOL code which demonstrates handling of ILC issues specific to COBOL-based RAM development.
- Skeleton RAM - Provides a starting point for RAM developers.
To access your own SCMs using CARMA, you will need to obtain or develop additional RAMs. See General concepts and Developing a RAM for more information on developing a RAM to access your own SCM.