CICS (Customer Information Control System) é um sistema de processamento de transações designado tanto para atividade Online como processamento Batch. Seu objetivo é criar aplicações iterativas com o usuário através de telas.
Este sistema permite que sejam transmitidos dados de um terminal para o computador, que estes dados sejam processados, acessem arquivos (podem ser também bancos de dados como DB2, ADABAS, VSAM, DLI, etc.) e sejam então transmitidos de volta ao terminal de origem. Pode ser executado sob os sistemas MVS, VSE, VM ou OS/2, suportando as seguintes linguagens de programação : COBOL, Assembler, FORTRAN, PL/I e RPG II. Os programas podem ser transportados de um ambiente para outro com pouca ou mesmo nenhuma alteração.
O CICS é composto de vários módulos/programas de gerenciamento, é um sistema de dados e de comunicação de dados desenvolvido pela IBM para rodar em equipamentos IBM e compatíveis.
Existem dois níveis de codificação do CICS:
- MACRO LEVEL que é similar ao Assembler; e Command, que é similar ao COBOL.
- COMMAND LEVEL que é uma aplicação onde possui uma interface a nível de comando.
CICS é um sistema de comunicação de dados que pode suportar uma rede contendo centenas de terminais.
Cada programa CICS é iniciado usando um identificador de transação "TRANSACTION ID". Telas CICS são enviadas como construções chamadas "MAPAS", usando uma linguagem de programação como o COBOL.
Uma transação é basicamente um conjunto de comandos que executam uma tarefa. Normalmente , a maioria das transações são tarefas relativamente simples, como a atualização de uma conta corrente. Executado em servidores Z IBM System, o CICS facilmente suporta milhares de transações por segundo.
EXEC CICS SEND MAPSET(MPS1) MAP(MP1) END-EXEC.
Funções do CICS
- O CICS gerencia solicitações de usuários simultâneos em um aplicativo.
- Embora, vários usuários estão trabalhando no sistema CICS, mas dá uma sensação de usuário que ele é o único usuário.
- O CICS dá acesso a arquivos de dados para leitura ou atualização em um aplicativo.
Recursos do CICS
CICS é um sistema operacional em si, pois gerencia seu próprio armazenamento de processador, tem seu próprio gerenciador de tarefas que gerencia a execução de vários programas e fornece suas próprias funções de gerenciamento de arquivos.
- CICS fornece ambiente on-line em sistema operacional em lote. Os trabalhos enviados são executados imediatamente.
- O CICS é uma interface de processamento de transações generalizada.
- É possível ter duas ou mais regiões CICS ao mesmo tempo, como CICS é executado como um trabalho em lote no sistema operacional no back-end.
Como todo sistema ele incorpora várias tabelas de controle que ajudam a controlar os serviços solicitados.
Tabelas de controle do CICS
- TCT - Terminal Control Table - Controla os endereços dos terminais
- KCT - Task Control Table - Controla os serviços ativos no CICS
- PCT - Program Control Table - Controla o uso dos programas
- TCP - Transation Control Program - Controla as transações sob o CICS
- FCT - File Control table - Controla os arquivos sob CICS
Obs.: Atualmente o CICS é disponibilizado para outros sistemas operacionais, como o i5/OS, OS/2, AIX, Windows, Linux, dentre outros. A implementação para o sistema z/OS é de longe a mais popular e importante dentre todas. O desenvolvimento do CICS contou com o uso de métodos formais, utilizando a linguagem de especificacao Z (Zed).