☕ Um Café no Bellacosa Mainframe
Gostou do conteúdo? Ajude a manter o café quente, o COBOL compilando e o mainframe acordado. 😄
☕ Pague um café ao Bellacosa

Translate

terça-feira, 13 de março de 2018

O Arquivo Proibido do CICS : O Mistério do Guardião Invisível que Protegia Milhões de Registros

 

Bellacosa Mainframe apresenta o arquivo proibido do cics

☕ Um Café no Bellacosa Mainframe

O Arquivo Proibido do CICS

O Mistério do Guardião Invisível que Protegia Milhões de Registros

Quando um Programador COBOL Descobre que Existe uma Região Inteira Dedicada Apenas a Cuidar dos Arquivos

"Alguns homens guardam cofres. Outros guardam segredos. Mas existe uma entidade silenciosa que guarda algo muito mais valioso: os dados de uma nação inteira."

Era uma noite fria no CPD.

As luzes fluorescentes piscavam sobre quilômetros de cabos, painéis e racks metálicos. O z/OS continuava trabalhando como fazia havia décadas, sem reclamar, sem pedir férias, sem dormir.

No monitor verde de um terminal 3270 surgiu uma mensagem aparentemente comum.

READ CUSTOMER...

Poucos milissegundos depois...

RECORD RETURNED

O programador sorriu.

"Que simples."

Foi então que o velho Analista sorriu discretamente.

— Simples? Meu jovem... você acabou de assistir a uma das maiores ilusões do CICS.

O iniciante não fazia ideia.

Entre aquele READ e a resposta havia acontecido uma verdadeira operação de inteligência digna das revistas policiais noir dos anos 1950.

E no centro dessa conspiração silenciosa existia um personagem que quase ninguém conhece.

Seu nome?

FOR — File-Owning Region.


O erro que todo iniciante comete

Quando aprendemos COBOL, imaginamos algo parecido com isto.

Programa COBOL

↓

EXEC CICS READ

↓

VSAM

↓

Resposta

Parece lógico.

Parece simples.

Parece direto.

Mas em grandes bancos isso raramente acontece.

Na verdade...

o programa quase nunca conversa diretamente com o arquivo.

Quem faz isso é outra região.

Uma espécie de bibliotecário extremamente disciplinado.


Imagine a maior biblioteca do planeta

Imagine uma biblioteca com cem milhões de livros.

Milhares de pessoas entram todos os minutos.

Cada uma quer pegar um livro.

Algumas querem devolvê-lo.

Outras querem alterá-lo.

Outras querem emprestá-lo.

Agora imagine se cada visitante pudesse entrar no depósito principal.

Em poucos minutos haveria caos.

Livros desaparecidos.

Livros duplicados.

Livros rasgados.

Livros no lugar errado.

Agora troque livros por registros bancários.

Você acaba de entender por que o FOR existe.


Afinal, o que é um FOR?

FOR significa

File-Owning Region

É uma região CICS especializada exclusivamente em possuir arquivos.

Ela não executa regras de negócio.

Não calcula juros.

Não processa PIX.

Não atualiza limites.

Ela apenas responde:

"Quer acessar este arquivo? Fale comigo."


Ownership não significa posse...

Significa responsabilidade.

O FOR é responsável por:

✔ abrir arquivos

✔ fechar arquivos

✔ controlar disponibilidade

✔ administrar concorrência

✔ garantir integridade

✔ responder requisições

✔ proteger registros

Pense nele como o zelador-chefe da biblioteca.


O CICSPlex parece uma cidade

Imagine uma cidade.

Na entrada existe um enorme prédio.

Ali trabalham os recepcionistas.

Esse prédio é o TOR.

TOR

↓

Recebe usuários

Depois existe o prédio administrativo.

Ali ficam os departamentos.

São os AORs.

AOR

↓

Executam aplicações

Mas existe outro prédio.

Quase escondido.

Sem visitantes.

Sem filas.

Sem atendimento ao público.

Um enorme arquivo central.

Ali trabalham apenas especialistas.

Esse prédio é o FOR.

FOR

↓

Arquivos

O fluxo verdadeiro

Usuário

↓

TOR

↓

AOR

↓

FOR

↓

VSAM

↓

FOR

↓

AOR

↓

TOR

↓

Usuário

Observe.

O arquivo nunca fala diretamente com o programa.

Sempre existe um intermediário.


O grande segredo: Function Shipping

Aqui aparece um termo muito cobrado em entrevistas.

Function Shipping.

Muitos iniciantes imaginam que o programa COBOL viaja para outra região.

Não.

Quem viaja é apenas o pedido.

Imagine um restaurante.

Você não leva a cozinha até sua mesa.

Você leva apenas o pedido.

O garçom entrega.

A cozinha prepara.

O prato volta.

No CICS acontece exatamente isso.

READ CUSTOMER

↓

FOR

↓

VSAM

↓

Registro

Nada mais.

Nada menos.


Um READ nunca foi apenas um READ

Veja um simples comando.

EXEC CICS
READ FILE('CLIENTE')
RIDFLD(CHAVE)
INTO(REGISTRO)
END-EXEC

Para o programador...

acabou.

Para o CICS...

a aventura apenas começou.

Primeiro ele verifica onde mora aquele arquivo.

Depois identifica seu proprietário.

Depois cria uma requisição.

Depois envia para outra região.

Depois espera resposta.

Depois recebe.

Depois devolve ao programa.

Tudo isso em milissegundos.


Easter Egg nº 1

Existe um velho ditado entre administradores CICS.

"Se um READ demora, culpe primeiro o caminho... não o COBOL."

Muitas vezes o programa está perfeito.

O problema pode estar:

  • no FOR

  • no VSAM

  • na rede entre regiões

  • no lock

  • no disco

  • na contenção

O COBOL frequentemente é inocente.


O banco das três agências

Imagine um banco.

Existem três grandes departamentos.

Agência Digital

Consulta saldo

PIX

Transferências

Cadastro

Atualização de clientes

Todos precisam acessar:

CUSTOMER

Sem FOR...

Cada AOR teria seu próprio acesso.

Resultado?

Mais administração.

Mais risco.

Mais configurações.

Mais problemas.


Com FOR

Tudo muda.

AOR 1

      \

AOR 2 -----> FOR -----> CUSTOMER

      /

AOR 3

Existe apenas um proprietário.

E isso simplifica toda a infraestrutura.


O guardião dos cofres

Imagine o cofre de um banco.

Você não entrega uma chave para cada funcionário.

Existe um responsável.

No CICS é igual.

O FOR guarda as chaves dos arquivos.


O mistério dos Locks

Agora imagine.

Saldo:

R$ 2.000,00

No mesmo segundo...

Um ATM faz saque.

Outro ATM faz depósito.

Outro aplicativo faz PIX.

Quem ganha?

Quem perde?

Sem controle...

o saldo poderia terminar errado.

Com FOR...

READ UPDATE

↓

LOCK

↓

Atualiza

↓

UNLOCK

A ordem é preservada.


Curiosidade

Em ambientes gigantes, dois usuários podem tentar alterar exatamente o mesmo registro no mesmo milissegundo.

É por isso que mecanismos de bloqueio existem.

Sem eles...

o caos seria inevitável.


Easter Egg nº 2

Procure em livros antigos de CICS.

Você encontrará a expressão:

File Ownership

Muito antes da computação distribuída virar moda, o CICS já separava responsabilidades.

Hoje chamamos isso de arquitetura distribuída.

Na década de 1980 isso já existia no Mainframe.


FOR não significa lentidão

Alguns iniciantes pensam:

"Mais uma região? Então fica mais lento."

Nem sempre.

Pense numa rodovia.

Você pode ter uma estrada direta cheia de congestionamentos.

Ou uma estrada um pouco maior, porém organizada.

O tempo final costuma ser menor.

O FOR organiza o trânsito dos dados.


VSAM: o tesouro escondido

A maioria dos FOR administra arquivos VSAM.

Especialmente:

  • KSDS

  • ESDS

  • RRDS

Cada um resolve um tipo diferente de problema.

Um excelente programador COBOL conhece todos eles.


Easter Egg nº 3

Muitos bancos ainda armazenam alguns dos dados mais importantes do país em VSAM.

Quando alguém diz que "o legado morreu", provavelmente acabou de comprar um café usando um cartão cuja autorização passou por um VSAM.


O papel do TOR

O TOR não conhece negócios.

Ele conhece terminais.

Recebe conexões.

Distribui trabalho.

Pense nele como o porteiro de um grande edifício.


O papel do AOR

O AOR pensa.

Calcula.

Executa.

Decide.

Ali vivem os programas COBOL.


O papel do FOR

O FOR protege.

Administra.

Entrega.

Organiza.

Ele é o arquivista.


Analogia completa

Imagine um hospital.

Paciente

↓

Recepção

↓

Médico

↓

Arquivo Médico

↓

Prontuário

Recepção

TOR

Médico

AOR

Arquivo

FOR

Prontuário

VSAM


O iniciante costuma perguntar...

"Por que não colocar tudo dentro do AOR?"

Boa pergunta.

Resposta:

Porque sistemas gigantes precisam crescer.

Imagine cinquenta AORs.

Todos precisando do mesmo cadastro.

Duplicar arquivos?

Duplicar administração?

Duplicar manutenção?

Não faz sentido.


Escalabilidade

Um banco cresce.

Novas aplicações aparecem.

Novos AORs são criados.

Nada muda no FOR.

Todos continuam usando os mesmos arquivos.

Essa separação torna o crescimento muito mais simples.


Alta disponibilidade

Aqui surge outra pergunta interessante.

"E se o FOR parar?"

Excelente pergunta.

Em ambientes corporativos existem estratégias de redundância, recuperação e failover para minimizar indisponibilidades. Dependendo da arquitetura, podem existir múltiplas regiões e mecanismos que permitem restaurar rapidamente o acesso aos arquivos.

Porque perder o FOR significa perder acesso aos arquivos que ele administra.


Como um programador COBOL deve pensar?

Não pense apenas:

EXEC CICS READ

Pense:

"Minha requisição viajará."

Pergunte:

Onde está o arquivo?

Quem é o owner?

Existe FOR?

Existe lock?

Existe contenção?

Esse raciocínio diferencia um programador júnior de um profissional experiente.


Dicas para entrevistas

Se perguntarem:

O que é um FOR?

Responda:

"É uma região CICS responsável por possuir e administrar arquivos compartilhados, permitindo que múltiplos AORs acessem os mesmos recursos por meio de Function Shipping, preservando integridade, escalabilidade e centralização administrativa."

Se perguntarem:

Quem executa o COBOL?

Resposta:

AOR.

Quem recebe o usuário?

TOR.

Quem administra arquivos?

FOR.

Essa tríade aparece com frequência em entrevistas para IBM Z.


Curiosidades que poucos conhecem

  • O FOR reduz a necessidade de múltiplas definições de arquivos em diferentes regiões.

  • Em muitos ambientes, ele trabalha em conjunto com recursos como VSAM RLS para ampliar o compartilhamento seguro dos dados.

  • Grandes instituições financeiras utilizam arquiteturas desse tipo há décadas para suportar milhões de transações diárias.

  • Um simples comando EXEC CICS READ pode envolver diversas camadas de comunicação invisíveis ao programador.


O verdadeiro mistério

O usuário acredita que conversou diretamente com um arquivo.

O programador acredita que o COBOL fez todo o trabalho.

O gerente acredita que tudo aconteceu em uma única máquina.

Mas, nos bastidores, uma coreografia perfeita acontece entre TOR, AOR, FOR, VSAM e o CICS.

É como uma investigação policial em que o detetive resolve o caso, mas nunca percebe que um discreto arquivista encontrou a prova decisiva escondida em uma gaveta esquecida.


Bellacosa Files – Caso Encerrado

Imagine Sherlock Holmes entrando em um CPD.

Watson observa um terminal 3270 e comenta:

— Holmes, o programa encontrou o registro em menos de um segundo. Impressionante.

Holmes sorri, acende seu cachimbo e responde:

— Elementar, meu caro Watson. O programa não encontrou absolutamente nada.

— Como assim?

— Quem encontrou foi o verdadeiro guardião dos arquivos. O programa apenas fez a pergunta certa.

Watson olha para o enorme datacenter, onde dezenas de luzes piscam em silêncio.

Naquele instante, ele percebe que existe um herói invisível trabalhando muito além das telas verdes.

Um herói que nunca aparece nas apresentações comerciais.

Nunca recebe aplausos.

Nunca é visto pelos usuários.

Mas que mantém bancos, companhias aéreas, seguradoras e governos funcionando todos os dias.

Seu nome é FOR — File-Owning Region.

E enquanto houver um VSAM guardando informações valiosas, esse silencioso arquivista continuará protegendo o patrimônio digital do mundo, provando que, no universo IBM Z, os maiores mistérios não estão nos programas COBOL… estão na extraordinária arquitetura que faz tudo funcionar com precisão há décadas.

☕ Gostou deste café?
Siga o Bellacosa Mainframe e acompanhe os próximos artigos.
SEGUIR O BLOG

Sem comentários:

Enviar um comentário

De Fã para Fã. Conteúdo não oficial produzido como homenagem, comentário, análise ou paródia. Personagens, marcas e obras eventualmente mencionados pertencem aos seus respectivos titulares.
Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...