Um sistema CARMA requer três componentes para funcionar apropriadamente: uma hierarquia do CARMA, um transporte do CARMA e um host do CARMA.
Uma hierarquia do CARMA é uma estrutura de dados do lado do cliente, que fornece suporte à navegação de conteúdo do CARMA e à execução das operações do CARMA. Os pedidos de operação do CARMA são enviados através de um transporte do CARMA para um host CARMA. Um transporte do CARMA é um serviço de comunicação de lado do cliente entre as hierarquias do CARMA e os hosts CARMA. Os hosts CARMA contêm o serviço CARMA do lado do host, CARMA-390, responsável pelo gerenciamento do conteúdo disponível.

Uma hierarquia do CARMA é um tipo especial de estrutura de dados em árvore, utilizada para gerenciar o conteúdo do CARMA. Cada hierarquia do CARMA é conectada a exatamente um host do CARMA (ele utiliza o transporte do CARMA para comunicar-se com o host CARMA). O plug-in do CARMA age como um cliente da estação de trabalho e fornece uma representação gráfica das hierarquias do CARMA, utilizando a visualização Repositórios do CARMA (CARMA Repositories). Cada nó de nível superior nesta visualização representa uma hierarquia do CARMA.
O transporte CARMA é um plug-in de serviço para o Rational Developer para System z que gerencia a conexão entre uma hierarquia CARMA e seu host CARMA. Assim, o transporte CARMA compacta e envia comandos da hierarquia CARMA e retorna respostas do host CARMA. O transporte CARMA RSE é utilizado para este fim pelo plug-in CARMA.
Um host CARMA é um sistema host que fornece o serviço CARMA-390. Cada host CARMA, em geral, possui um conjunto de gerenciadores de acesso aos repositórios (RAMs), que o CARMA-390 utiliza para gerenciar o acesso ao conteúdo.