sábado, 5 de março de 2011

🔥 Types of Programs used in CICS

 

CICS Tipos de Programas CEMT CEDA

🔥 Types of Programs used in CICS

 


☕ Midnight Lunch, PROG definido e alguém pergunta “esse é de quê?”

13h19.
O operador roda um CEMT I PROG.
Uma lista infinita aparece.

Alguém novo pergunta:

“Mas… por que tem tanto tipo de programa?”

O veterano fecha o terminal, sorri e diz:

“Porque CICS não executa código.
Ele orquestra funções.”

Hoje vamos mapear os principais tipos de programas usados no CICS, com história, prática, armadilhas e aquele tempero Bellacosa.


🏛️ História: programas com papel definido

Desde o início, o CICS entendeu algo essencial:

  • Um sistema online não é monolítico

  • Cada programa tem uma responsabilidade clara

Por isso surgiram tipos de programas, não por sintaxe, mas por função.

📌 Quem mistura papel, cria caos.


🧠 Conceito essencial

Em CICS, programa não é só código.
É um papel dentro da transação.


🧩 Principais tipos de programas no CICS

Vamos aos que realmente importam no dia a dia.


1️⃣ Terminal Control Programs (Programas de Tela)

Função

  • Interagem com o usuário

  • Enviam e recebem mapas BMS

  • Controlam navegação

Características

✔ Lidam com INPUT/OUTPUT
✔ Normalmente pseudo-conversacionais
✔ Usam SEND / RECEIVE

📌 São a “cara” da aplicação.


2️⃣ Application / Business Logic Programs

Função

  • Regras de negócio

  • Validações

  • Cálculos

Características

✔ Chamados via LINK
✔ Reentrantes
✔ Sem lógica de tela

📌 Aqui mora o valor do sistema.


3️⃣ File Handling Programs

Função

  • Acesso a VSAM

  • READ, WRITE, REWRITE, DELETE

Características

✔ Controle de concorrência
✔ Tratamento de erro rigoroso
✔ Uso intenso de RESP/RESP2

📌 Arquivo é responsabilidade séria.


4️⃣ Database Interface Programs (DB2 / IMS)

Função

  • Comunicação com banco

  • Execução de SQL

  • Controle transacional

Características

✔ Unidade de trabalho integrada
✔ Recovery automático
✔ Alto impacto em performance

📌 Aqui o desenho pesa.


5️⃣ Communication Programs (MQ / Web / API)

Função

  • Integração com outros sistemas

  • Mensageria e serviços

Exemplos

  • IBM MQ

  • Web Services (SOAP/REST)

  • APIs CICS

📌 O CICS falando com o mundo.


6️⃣ Utility / Common Service Programs

Função

  • Funções reutilizáveis

  • Serviços comuns

Exemplos

  • Formatação

  • Validação

  • Log

  • Conversões

📌 O famoso “programa comum” — bem feito, é ouro.


7️⃣ Error Handling Programs

Função

  • Tratamento centralizado de erro

  • Logging

  • Auditoria

Uso típico

  • HANDLE ABEND

  • Logging em TDQ/SMF

📌 Erro tratado é maturidade.


8️⃣ Control / Flow Programs

Função

  • Controlar navegação

  • Decidir próximo passo

Comandos usados

  • XCTL

  • RETURN TRANSID

📌 Fluxo limpo evita bug fantasma.


🥊 Programas bem separados vs monolito

AbordagemResultado
Programas especializadosManutenção fácil
Programa “faz tudo”Incidente garantido
LINK bem usadoArquitetura limpa
XCTL mal usadoFluxo perdido

📌 CICS não perdoa bagunça.


🛠️ Passo a passo Bellacosa (como organizar)

1️⃣ Programa de tela só tela
2️⃣ Regra de negócio sem I/O
3️⃣ Acesso a dados isolado
4️⃣ Serviços reutilizáveis
5️⃣ Tratamento de erro centralizado

📌 Separação de responsabilidade é sobrevivência.


⚠️ Erros clássicos (easter eggs)

🐣 Lógica de negócio dentro de programa de tela
🐣 SQL espalhado por todo lado
🐣 Programa “genérico” gigante
🐣 LINK circular entre tipos
🐣 Reentrância ignorada

📌 Todo legado problemático começa assim.


📚 Guia de estudo para mainframers

Domine estes tópicos:

  • Program Control

  • Transaction design

  • Reentrancy

  • Error handling

  • Performance tuning

📖 Manual essencial: CICS Application Programming Guide


🤓 Curiosidades de boteco mainframe

🍺 CICS separava camadas antes do MVC
🍺 Muitos sistemas ainda seguem esse modelo
🍺 O pior programa é o que “resolve tudo”
🍺 Programas bem desenhados sobrevivem décadas


💬 Comentário El Jefe Midnight Lunch

“Programa bom não é o que faz tudo.
É o que faz uma coisa certa.”


🚀 Aplicações reais hoje

  • Core bancário

  • Cartões de crédito

  • Seguros

  • Governo

  • Integração híbrida


🎯 Conclusão Bellacosa

No CICS, tipo de programa é disciplina, não burocracia.

Quem entende:

  • Mantém sistema saudável

  • Evita incidentes

  • Facilita evolução

🔥 Arquitetura clara envelhece bem.


Sem comentários:

Enviar um comentário