Translate

quinta-feira, 21 de março de 2013

☕🔥 ABEND AICA — O “RELÓGIO DA MORTE” DO CICS

 

Bellacosa Mainframe e o abend aica

☕🔥 ABEND AICA — O “RELÓGIO DA MORTE” DO CICS

Quando o CICS Grita:

“SEU PROGRAMA ESTÁ DEMORANDO DEMAIS!”

Se existe um ABEND que transforma CPU em panela de pressão…

é o temido:

🚨 AICA

E normalmente ele aparece assim:

DFHAC2206 TRANSID PAY1 ABEND AICA

ou:

AICA - TASK TIMEOUT

E naquele momento…

o programador COBOL Junior Padawan pensa:

“O programa travou?”
“Entrou em loop?”
“O CICS odiou meu SELECT?”
“A CPU pegou fogo?”

☕ Respira.

Porque o AICA é um dos ABENDs MAIS IMPORTANTES para entender performance no mundo CICS.


🔥 O QUE É O AICA?

O AICA significa:

🚨 TASK TIMEOUT NO CICS

Traduzindo:

Seu programa ficou tempo demais usando CPU ou não devolveu controle ao CICS.

E o CICS decidiu:

☠️ “CHEGA. VOU MATAR ESSA TASK.”


☕ A FILOSOFIA DO AICA

O CICS é um ambiente:

MULTIUSUÁRIO

Milhares de usuários podem estar online:

  • ATM

  • PIX

  • cartão

  • aeroporto

  • seguro

  • banco

  • governo

Se UMA transaction monopolizar CPU…

TODO MUNDO SOFRE.

Então o CICS age como um vigilante.


🔥 O CICS NÃO É PACIENTE

No batch, um loop pode rodar horas.

No CICS?

❌ IMPOSSÍVEL.

O ambiente online exige:

  • resposta rápida

  • baixa latência

  • fairness

  • compartilhamento de CPU


☕ O QUE REALMENTE ACONTECE

Seu programa entra em execução:

EXEC CICS LINK

ou:

PERFORM UNTIL...

Mas ele:

  • nunca termina

  • consome CPU demais

  • entra em loop

  • fica preso

  • não libera controle

Então o CICS monitora o tempo.

Quando excede o limite:

💥 AICA


🔥 O GRANDE SEGREDO

AICA geralmente NÃO é erro de sintaxe.

É:

erro de lógica

erro de performance

loop infinito

design ruim


☕ O MAIOR VILÃO DO AICA

🚨 LOOP INFINITO

O clássico dos clássicos.


🔥 EXEMPLO COBOL JUNIOR

PERFORM UNTIL WS-FIM = 'S'

   DISPLAY 'PROCESSANDO'

END-PERFORM

Mas…

WS-FIM nunca vira 'S'

Resultado:

☠️ CPU sobe

task trava

CICS mata

AICA


☕ O LOOP ASSASSINO SILENCIOSO

Mais perigoso ainda:

PERFORM VARYING IDX FROM 1 BY 1
   UNTIL IDX > 100

   CONTINUE

END-PERFORM

Parece normal.

Mas imagine:

IDX corrompido

ou:

MOVE ZERO TO IDX

dentro do loop.

Agora ele nunca acaba.


🔥 O AICA E O “CICS DISPATCHER”

Aqui nasce o verdadeiro conhecimento Jedi.

O CICS possui um:

DISPATCHER

Ele controla:

  • CPU

  • tasks

  • prioridades

  • escalonamento

Quando uma task “segura a CPU” demais:

🚨 TIMEOUT


☕ O CONCEITO MAIS IMPORTANTE

No CICS:

VOCÊ NÃO “POSSUI” A CPU.

Você “empresta” CPU por alguns milissegundos.


🔥 COMO O CICS DETECTA O AICA

O sistema monitora:

  • elapsed time

  • CPU time

  • dispatch time

  • runaway task

Quando excede o parâmetro:

ICVTSD

ou limites internos…

💥 AICA


☕ O NOME REAL DO PROBLEMA

Muitos veteranos chamam AICA de:

🚨 RUNAWAY TASK

Task descontrolada.


🔥 O ERRO CLÁSSICO COM EXEC CICS

Outro caso famoso:

EXEC CICS READQ TS
END-EXEC

Dentro de um loop gigantesco.

Agora o programa:

  • chama CICS milhares de vezes

  • monopoliza recursos

  • explode consumo

Resultado:

☠️ AICA


☕ O AICA E O “WAIT”

Outro erro mortal:

Programa esperando algo que nunca chega.

Exemplo:

  • ENQ

  • recurso preso

  • deadlock lógico

  • polling infinito


🔥 O CASO DO “DISPLAY LOOP”

Junior faz debug assim:

PERFORM UNTIL WS-FIM = 'S'

   DISPLAY 'DEBUG'

END-PERFORM

Em batch?

Talvez sobreviva.

No CICS?

💀 Você acabou de invocar o AICA ancestral.


☕ COMO INVESTIGAR O AICA PASSO A PASSO


✅ PASSO 1 — IDENTIFIQUE A TRANSACTION

Mensagem:

DFHAC2206 TRANSID PAY1 ABEND AICA

Transaction:

PAY1

✅ PASSO 2 — IDENTIFIQUE O PROGRAMA

Dump:

PROGRAM = COBPAY01

✅ PASSO 3 — ANALISE O LOOP

Pergunte:

  • Existe PERFORM infinito?

  • Alguma condição nunca muda?

  • Índice travado?

  • Cursor eterno?

  • EXEC CICS dentro de loop?


✅ PASSO 4 — VERIFIQUE CPU

Ferramentas:

  • CICS Monitoring

  • Omegamon

  • SMF

  • CMF

  • RMF


🔥 COMO LER O DUMP DO AICA

O dump do AICA é MUITO interessante.

Porque frequentemente mostra:

o programa “congelado no tempo”.


☕ O QUE OLHAR


PSW

Mostra onde estava executando.


REGISTERS

Mostram:

  • base register

  • endereço

  • loop atual


TRACE

O ouro do CICS.

Mostra:

  • EXEC CICS repetitivos

  • chamadas infinitas

  • fluxo preso


🔥 O SEGREDO DO OFFSET

Exemplo:

OFFSET X'02FA'

Agora você cruza com o listing COBOL.

E encontra:

PERFORM UNTIL WS-END = 'Y'

Boom.

Achamos o monstro.


☕ O MAIOR ERRO DO PADAWAN

Pensar:

“O CICS travou.”

Na verdade:

O PROGRAMA NÃO PAROU.


🔥 O AICA E O PSEUDO-CONVERSATIONAL

Aqui entra arquitetura mainframe avançada.

CICS NÃO gosta de programas longos.

Ele prefere:

pseudo-conversational processing

Fluxo:

EXEC CICS RETURN TRANSID(...)

O programa devolve controle.

Depois volta mais tarde.

Isso evita:

  • task longa

  • retenção de memória

  • runaway task


☕ PROGRAMADORES BATCH SOFREM COM ISSO

Porque batch pensa:

processa tudo agora

CICS pensa:

responda rápido e saia

🔥 O AICA EM PRODUÇÃO

O cenário clássico:

Sexta-feira

fechamento mensal

pico bancário

CPU alta

E então:

AICA

Todo mundo entra em guerra.


☕ EASTER EGG MAINFRAME

Veteranos brincam:

“AICA significa:

Ainda Estou Calculando Aqui.”

Porque o programa parece nunca terminar.


🔥 CURIOSIDADE HISTÓRICA

Nos anos 70/80:

Runaway tasks podiam derrubar regiões CICS inteiras.

Então IBM endureceu agressivamente o controle de timeout.

O AICA virou mecanismo de sobrevivência do ambiente online.


☕ COMO EVITAR AICA


✅ Loops controlados


✅ Sempre alterar condição de saída


✅ Evitar EXEC CICS em loops gigantes


✅ Usar pseudo-conversational


✅ Limitar processamento online


✅ Monitorar CPU


🔥 O AICA E O “THINK TIME”

CICS odeia programas esperando usuário.

Nunca faça:

espera longa dentro da task

Porque task parada também consome recursos.


☕ O QUE O JEDI MAINFRAME APRENDE

AICA não é apenas um ABEND.

Ele ensina:

arquitetura online

compartilhamento de CPU

disciplina transacional

eficiência

design enterprise


🔥 FRASE FINAL DO MUNDO CICS

O ASRA quebra a realidade.
O S0C7 corrompe os números.
Mas…

☕ O AICA É O CICS ELIMINANDO PROGRAMAS QUE ESQUECERAM QUE O TEMPO É SAGRADO.

quarta-feira, 20 de março de 2013

🌙💻 “ELA QUER FALAR COM VOCÊ… MAS O MUNDO INTEIRO PARECE ASSUSTADOR DEMAIS” — O SILÊNCIO EMOCIONAL DAS DANDERES NOS ANIMES ☕📖

 

Bellacosa Mainframe e as danderes do anime

🌙💻 “ELA QUER FALAR COM VOCÊ… MAS O MUNDO INTEIRO PARECE ASSUSTADOR DEMAIS” — O SILÊNCIO EMOCIONAL DAS DANDERES NOS ANIMES ☕📖

No universo dos animes existe um tipo de personagem que quase nunca entra fazendo barulho.

Ela não:

  • grita como a tsundere,

  • enlouquece como a yandere,

  • domina a cena como a himedere,

  • nem congela emoções como a kuudere.

Na verdade…

muitas vezes ela mal consegue olhar nos olhos das pessoas.

Ela abaixa a cabeça.
Segura as mãos nervosamente.
Fala baixo.
Pede desculpas por existir.

Mas quando finalmente consegue dizer:

“Eu gosto de você…”

o impacto emocional é devastador.

Esse é o poder silencioso da:

Dandere.


🌸 O que é uma Dandere?

A palavra vem da junção de:

  • “Danmari” (黙り) → silêncio, quietude

  • “Dere” (デレデレ) → apaixonado, carinhoso

Resultado:

Dandere = alguém extremamente tímido e silencioso, mas profundamente amoroso quando consegue se abrir.

Diferente da kuudere:

  • a kuudere é fria por escolha ou racionalidade.

A dandere:

  • é silenciosa por insegurança, ansiedade ou medo social.

Ela não evita emoções.
Ela evita exposição emocional.

E isso muda tudo.


🧠 A psicologia da dandere

A dandere representa:

  • introversão extrema,

  • ansiedade social,

  • medo de rejeição,

  • hipersensibilidade emocional,

  • dificuldade de comunicação.

Ela sente profundamente.
Mas não consegue externalizar.

Muitas dandere vivem em constante conflito interno:

“Quero me conectar… mas tenho medo.”

Por isso esse arquétipo ressoa tão fortemente com:

  • introvertidos,

  • pessoas tímidas,

  • indivíduos emocionalmente inseguros,

  • fãs que se sentem deslocados socialmente.

A dandere é quase o avatar emocional do:

“eu queria falar… mas travei.”


🇯🇵 A origem cultural da dandere no Japão

O Japão possui uma cultura extremamente baseada em:

  • contenção emocional,

  • respeito social,

  • discrição,

  • medo de causar inconveniência.

Em muitos contextos sociais japoneses:

  • falar demais,

  • chamar atenção,

  • demonstrar emoções excessivas
    pode ser visto negativamente.

A dandere nasce desse ambiente cultural:

pessoas emocionalmente intensas vivendo em silêncio social.

Ela representa o indivíduo que:

  • pensa demais,

  • sente demais,

  • mas não consegue atravessar a barreira da comunicação.


🌙 A identidade visual da dandere

Visualmente, dandere costumam transmitir:

  • delicadeza,

  • fragilidade,

  • vulnerabilidade emocional.

Características clássicas:

  • olhar tímido,

  • postura retraída,

  • movimentos pequenos,

  • mãos próximas ao corpo,

  • expressão suave,

  • voz baixa.

Frequentemente:

  • cabelos escuros ou suaves,

  • franja cobrindo parcialmente o rosto,

  • uniformes discretos,

  • cores pastel,

  • estética “fofa e silenciosa”.

Muitas vezes:

  • estão lendo,

  • segurando livros,

  • observando de longe,

  • escondidas nos cantos da sala.

A identidade visual da dandere comunica:

“não me machuque.”


💛 O poder emocional das danderes

Aqui está o segredo:

a dandere cria conexão emocional pela vulnerabilidade.

Ela não conquista pela intensidade.
Nem pelo mistério.

Ela conquista porque:

  • parece humana,

  • imperfeita,

  • insegura,

  • real.

Quando uma dandere:

  • sorri,

  • toma iniciativa,

  • segura a mão de alguém,

  • consegue se declarar…

o público sente imediatamente o peso emocional daquele momento.

Porque entende:

o quanto aquilo exigiu dela.


📖 A narrativa da dandere

Quase sempre, a jornada da dandere é:

aprender a existir emocionalmente no mundo.

Ela normalmente começa:

  • isolada,

  • silenciosa,

  • invisível.

Mas através de:

  • amizade,

  • amor,

  • acolhimento,

  • aceitação,
    ela lentamente floresce.

É um dos arquétipos mais delicados dos animes.

E também um dos mais humanos.


🌸 As danderes mais famosas dos animes


🍙 Hinata Hyuga — Naruto

A dandere mais famosa da cultura pop.

Hinata:

  • mal consegue falar com Naruto,

  • trava emocionalmente,

  • cora instantaneamente,

  • evita contato visual.

Mas ao mesmo tempo:

  • ama profundamente,

  • observa silenciosamente,

  • permanece leal por anos.

Ela representa:

amor silencioso e perseverante.

E quando finalmente enfrenta Pain para proteger Naruto…
o impacto emocional é gigantesco.


📚 Nagisa Furukawa — Clannad

A essência emocional da fragilidade dandere.

Nagisa é:

  • tímida,

  • insegura,

  • gentil,

  • emocionalmente delicada.

Mas também:

  • resiliente,

  • acolhedora,

  • absurdamente humana.

Ela não muda o mundo com força.

Ela muda pessoas com ternura.


🎼 Mio Akiyama — K-On!

Uma dandere socialmente ansiosa.

Mio:

  • odeia atenção,

  • morre de vergonha facilmente,

  • entra em pânico no palco.

Mas quando toca música:
surge sua verdadeira personalidade.

Ela representa:

o introvertido que encontra voz através da arte.


🌸 Sawako Kuronuma — Kimi ni Todoke

A dandere mais pura do romance shoujo.

Sawako sofre porque:

  • não consegue se expressar bem,

  • é mal interpretada,

  • parece assustadora sem querer.

Mas no fundo:
é uma das personagens mais doces já criadas.

Seu arco inteiro é sobre:

aprender a se conectar emocionalmente com o mundo.


☁️ Shouko Komi — Komi Can’t Communicate

Talvez a representação mais moderna do arquétipo.

Komi literalmente sofre de:

  • ansiedade social extrema,

  • incapacidade de comunicação verbal.

Ela não é fria.
Nem distante.

Ela simplesmente:

não consegue atravessar a barreira da comunicação.

E milhões de fãs se identificaram com isso imediatamente.


🧩 Dandere vs Kuudere

Muita gente confunde.

Mas existe uma diferença gigantesca.

Kuudere:

  • parece fria,

  • controla emoções,

  • mantém distância racional.

Dandere:

  • quer conexão,

  • sente ansiedade,

  • teme interação social.

A kuudere evita.
A dandere trava.


☕ Reflexão Bellacosa Mainframe

As danderes talvez sejam os personagens mais emocionalmente reais dos animes.

Porque o mundo está cheio de pessoas assim:

  • que sentem demais,

  • pensam demais,

  • querem amar,

  • querem falar,

  • querem se aproximar…

mas não conseguem.

Elas vivem presas entre:

  • emoção intensa
    e

  • silêncio absoluto.

E talvez seja por isso que tantos fãs enxergam a si mesmos nesse arquétipo.

Porque no fundo…
quase todo mundo já quis dizer algo importante…
e ficou em silêncio.


💻 No fim…

Tsunderes escondem.
Kuuderes congelam.
Yanderes explodem.
Derederes acolhem.

Mas danderes…

tremem emocionalmente diante do simples ato de se conectar.

E quando finalmente conseguem…

o coração do público desmorona junto.


#BellacosaMainframe #Dandere #AnimePsychology #HinataHyuga #Clannad #KomiSan #AnimeAnalysis #OtakuCulture #AnimeRomance


terça-feira, 19 de março de 2013

🔮☕ ONMYŌJI — OS “SYSADMINS ESPIRITUAIS” DO JAPÃO QUE APARECEM EM ANIMES E CONTROLAVAM O SOBRENATURAL IMPERIAL ☕🔮

 

Bellcosa Mainframe e o poder do onmyoji

🔮☕ ONMYŌJI — OS “SYSADMINS ESPIRITUAIS” DO JAPÃO QUE APARECEM EM ANIMES E CONTROLAVAM O SOBRENATURAL IMPERIAL ☕🔮

Se você assiste anime sobrenatural…
já viu personagens que:

📜 usam talismãs de papel
🧿 invocam shikigamis
☯️ desenham selos espirituais
🌌 manipulam yin-yang
👘 usam roupas da corte Heian
👻 exorcizam yokais
🔥 fazem rituais astronômicos

E alguém fala:

“Onmyōji.”

A maioria pensa:

“tipo um mago japonês.”

MAS NÃO.

O Onmyōji era algo MUITO mais complexo.

Ele era:

  • astrólogo imperial
  • exorcista oficial
  • matemático ritual
  • especialista em calendário
  • mestre taoista
  • ocultista estatal
  • consultor político
  • e literalmente:

engenheiro espiritual do Japão antigo.


☯️ O QUE É UM ONMYŌJI?

陰陽師 (Onmyōji)

Vamos desmontar:

陰陽 (Onmyō)

Yin-Yang

師 (Ji / Shi)

Mestre / especialista

Literalmente:

“Mestre do Yin-Yang.”

Esses especialistas praticavam:

Onmyōdō (陰陽道)

O “Caminho do Yin-Yang”.

Uma mistura ABSURDA de:

  • taoismo chinês
  • astrologia
  • xintoísmo
  • budismo esotérico
  • numerologia
  • geomancia
  • magia ritual
  • observação astronômica

☕ O MAINFRAME ESPIRITUAL DO JAPÃO IMPERIAL

Ao estilo Bellacosa Mainframe:

Imagine o Japão Heian como:

um gigantesco ambiente z/OS espiritual.

Os Onmyōji eram:

  • sysadmins ocultistas
  • operadores de segurança paranormal
  • analistas de eventos sobrenaturais
  • especialistas em disaster recovery espiritual

Eles monitoravam:
✅ fluxos energéticos
✅ datas perigosas
✅ direções amaldiçoadas
✅ atividade yokai
✅ alinhamento astronômico
✅ falhas espirituais da capital

Era literalmente:

governança sobrenatural estatal.


🏯 ELES REALMENTE EXISTIRAM?

SIM.

Eram funcionários OFICIAIS da corte imperial japonesa.

Existia até:

o Onmyōryō

Um departamento governamental dedicado a:

  • astrologia
  • calendário
  • adivinhação
  • observação celeste
  • ritualística espiritual

Isso NÃO era folclore.
Era burocracia imperial REAL.


🌌 O JAPÃO TINHA MEDO DO INVISÍVEL

No período Heian:
o Japão acreditava profundamente que:

  • emoções geravam maldições
  • espíritos afetavam política
  • direções podiam ser perigosas
  • doenças tinham origem espiritual
  • rancor criava entidades sobrenaturais

Então os Onmyōji atuavam como:

firewall espiritual nacional.


👹 O CONCEITO DE KEGARE

Aqui está uma das chaves da cultura japonesa.

穢れ (Kegare)

Impureza espiritual.

Morte, doença, raiva e tragédia geravam:

contaminação energética.

O Onmyōji existia para:

  • detectar
  • conter
  • purificar
  • redirecionar

essas anomalias.


📜 OS TALISMÃS DE PAPEL

Os famosos:

Ofuda

que aparecem DIRETO em anime.

Eles funcionam como:

  • selos espirituais
  • comandos ritualísticos
  • scripts sobrenaturais

Ao estilo Bellacosa:
é quase:

JCL paranormal.

Você escreve instruções simbólicas:

  • bloquear entidade
  • proteger ambiente
  • invocar força espiritual
  • limitar yokai

👻 SHIKIGAMI — OS “DAEMONS ESPIRITUAIS”

Agora chegamos na parte MAIS anime.

式神 (Shikigami)

Espíritos servos invocados pelos Onmyōji.

Em anime:

  • aparecem como criaturas mágicas
  • familiares espirituais
  • entidades invocadas

Mas originalmente:
eram forças invisíveis controladas ritualisticamente.

Ao estilo mainframe:

started tasks sobrenaturais.

Executando funções específicas:
✅ espionagem
✅ proteção
✅ ataque espiritual
✅ transporte de energia
✅ vigilância paranormal


🧠 A FIGURA MAIS IMPORTANTE: ABE NO SEIMEI

O maior Onmyōji da história japonesa.

Abe no Seimei (安倍晴明)

Virou praticamente:

o “Chuck Norris espiritual” do Japão.

Lendas dizem que ele:

  • via espíritos
  • controlava shikigami
  • previa desastres
  • derrotava demônios
  • manipulava forças cósmicas

Hoje ele é:

quase um semideus cultural japonês.


🎎 POR QUE ONMYŌJI APARECE TANTO EM ANIME?

Porque mistura:
✅ magia
✅ tradição japonesa
✅ burocracia espiritual
✅ yokais
✅ exorcismo
✅ estética Heian
✅ simbolismo ocultista

Tudo ao mesmo tempo.

É praticamente:

o pacote premium do sobrenatural japonês.


🔥 O DETALHE MAIS IMPORTANTE

Diferente do “mago ocidental”…
o Onmyōji NÃO controlava poder bruto.

Ele:

equilibrava sistemas.

A lógica japonesa NÃO era:

“destruir o mal.”

Mas:

restaurar harmonia.

Isso muda TUDO.


☯️ YIN-YANG NO JAPÃO

O Onmyōdō trabalha com:

  • equilíbrio
  • fluxo
  • polaridade
  • ciclos naturais

Então:
até yokais às vezes NÃO são malignos.

São:

desequilíbrios sistêmicos.

Isso é MUITO diferente da fantasia ocidental.


👘 A ESTÉTICA HEIAN DOS ANIMES

Quando anime mostra:

  • roupas largas elegantes
  • leques
  • papel ritual
  • lua cheia
  • corredores silenciosos
  • poesia + ocultismo

💀 geralmente existe inspiração direta no universo dos Onmyōji.


📺 ANIMES CHEIOS DE ONMYŌJI ENERGY

🔥 Onmyoji

Obviamente.


👹 Tokyo Ravens

Onmyōdō moderno total.


🦊 Nurarihyon no Mago

Muita influência de exorcismo clássico japonês.


👻 Mononoke

Visual e espiritualidade profundamente ligados ao Japão antigo.


⚔️ Jujutsu Kaisen

Apesar moderno…
o DNA espiritual de Onmyōji está por TODA parte.

Talismãs, selos, equilíbrio espiritual, invocações…
é herança direta.


⚠️ O LADO SOMBRIO

Os Onmyōji também eram usados politicamente.

Porque:

controlar superstição = controlar poder.

Previsões espirituais podiam:

  • influenciar decisões imperiais
  • legitimar guerras
  • destruir reputações
  • manipular medo coletivo

Era uma forma de:

tecnologia psicológica estatal.


🧠 O EASTER EGG QUE QUASE NINGUÉM PERCEBE

Em anime:
quando personagem:

  • escreve selo em papel
  • usa mantra curto
  • invoca criatura ritual
  • fala sobre equilíbrio espiritual
  • menciona “impureza”

💀 quase sempre existe DNA cultural do Onmyōdō.

Mesmo quando o termo “Onmyōji” nunca aparece.


☕ O MAIS PROFUNDO DE TUDO

O Onmyōji NÃO era apenas:

“um mago japonês.”

Ele era:

  • administrador do invisível
  • engenheiro do equilíbrio espiritual
  • operador da ordem cósmica
  • analista de anomalias sobrenaturais
  • interface entre governo e espiritualidade

Por isso ele aparece tanto em anime.

Porque poucas figuras representam tão bem:

a obsessão japonesa por harmonia entre o caos invisível e o mundo humano.

segunda-feira, 18 de março de 2013

🔥 O Mainframe Nunca Esteve Isolado — Só Faltava um Tradutor Chamado Python

Bellacosa Mainframe Python e seus poderes no Mainframe ZOS


🔥 “O Mainframe Nunca Esteve Isolado — Só Faltava um Tradutor Chamado Python”

🌉 Hybrid Integration no z/OS para quem já integrou tudo… menos o impossível

Se você é veterano de IBM Z, provavelmente já ouviu (ou disse):

“O mainframe é um silo.”

Não é. Nunca foi.

O que existia era um pequeno detalhe técnico:

💎 O mundo moderno não falava fluentemente “z/OS”.

APIs REST falam JSON.
Cloud fala HTTP.
DevOps fala YAML.
Analytics fala eventos.

O mainframe fala:

🧾 JCL
📦 Dataset
🔤 EBCDIC
📊 Record-oriented I/O
🧠 Consistência transacional absoluta

👉 Python virou o intérprete universal entre esses dois universos.


🧠 Hybrid Integration NÃO é modernização

Não envolve:

❌ Reescrever COBOL
❌ Migrar CICS
❌ “Lift-and-shift”
❌ Desligar batch
❌ Trocar Db2 por algo “cloud-native”

Hybrid Integration é:

🔥 Permitir que o mundo moderno consuma o poder do mainframe sem tocá-lo.


🐍 Por que Python venceu essa guerra silenciosa

Porque ele combina quatro coisas raras ao mesmo tempo:

  1. 🐧 Roda no USS como software nativo

  2. 🌐 Fala todas as linguagens da internet

  3. 📦 Tem bibliotecas para tudo

  4. 🧠 É fácil de aprender por engenheiros não-mainframe

💎 Nenhuma outra linguagem reúne tudo isso com maturidade.


🏛️ A Arquitetura Real (não a de PowerPoint)

Aplicações core (COBOL / CICS / IMS)

z/OS

USS (POSIX)

Python

REST / APIs / Cloud / Analytics / AI

👉 Python não substitui o core.
👉 Ele expõe o core.


📦 Exemplo REAL de integração em bancos

🔥 Batch → Streaming → Analytics

  1. Job noturno gera dataset gigante

  2. Python roda pós-processamento

  3. Converte para JSON/CSV

  4. Publica em Kafka / API

  5. Dashboard atualiza em minutos

Aplicação batch: intacta
Valor de negócio: multiplicado


🔤 O Momento “EBCDIC Shock”

Todo engenheiro distribuído passa por isso:

“Por que o arquivo está corrompido?”

Não está.

👉 Está em EBCDIC.

💎 Easter egg clássico:
Muitos projetos “falharam” por encoding, não por arquitetura.


🧾 Dataset → API: o truque mais poderoso

Python + ZOAU permite:

  • Ler datasets MVS

  • Transformar dados

  • Serializar (JSON/XML/etc.)

  • Transmitir via HTTP

  • Integrar com qualquer sistema

👉 Isso transforma o mainframe em provedor de dados global.

Sem mudar uma linha de COBOL.


🌐 O Mainframe como Backend Invisível

Muitas empresas já operam assim:

Apps móveis → APIs → Python → z/OS → Db2/IMS → Python → API → usuário

Usuário final:

💬 “Nossa, que app moderno!”

Infra real:

🏦 Mainframe fazendo o trabalho pesado silenciosamente.


🖥️ Integração Bidirecional (o verdadeiro nível avançado)

Não é só extrair dados.

Python também pode:

  • Receber eventos externos

  • Disparar jobs

  • Acionar CICS via gateways

  • Atualizar datasets

  • Controlar processos batch

  • Sincronizar estados

👉 O mainframe passa a participar ativamente do ecossistema.


☁️ Hybrid Cloud sem teatro

O discurso corporativo fala “cloud-first”.

A prática é:

💎 Mainframe-first com cloud-connected.

Python permite:

  • Backup para object storage

  • Replicação de dados

  • Integração com SaaS

  • Pipelines de ML

  • Monitoramento centralizado


🤖 Caso avançado: AI + Mainframe

Sim, já acontece.

Pipeline típico:

  1. Dados históricos no z/OS

  2. Python extrai e prepara

  3. Envia para modelo ML

  4. Resultado retorna

  5. Job batch usa previsões

👉 O core continua determinístico
👉 A inteligência fica na borda


🥚 Fofoquices do mundo real

🥚 Muitos sistemas “cloud” dependem secretamente do mainframe

Mas o front não revela isso.


🥚 Python reduziu drasticamente a dependência de skills raríssimas

Menos REXX obscuro
Mais automação legível


🥚 Hybrid Integration prolonga a vida útil de aplicações críticas por décadas

Porque evita reescritas arriscadas.


🥚 O maior gargalo hoje não é tecnologia — é governança

Python torna possível…
Processos corporativos às vezes tornam lento.


🔐 Segurança continua soberana

Nada passa sem:

  • RACF/SAF

  • Controles de rede

  • Certificados

  • Auditoria

  • Compliance

💎 Por isso empresas reguladas adotam Python sem medo.


🧠 O Novo Papel do Sysprog

Não é apenas manter o sistema.

É:

🌉 Arquiteto de integração
⚙️ Engenheiro de automação
📊 Facilitador de dados
☁️ Enabler de cloud
🔒 Guardião da confiabilidade

Python é a ferramenta-chave.


⚡ Quando Hybrid Integration é a melhor estratégia

Use quando:

✅ Reescrever é inviável
✅ O sistema funciona bem
✅ Precisa integrar rápido
✅ Precisa escalar consumo de dados
✅ Quer modernização sem risco


❌ Quando NÃO resolve

Não substitui:

  • Arquitetura ruim

  • Dados inconsistentes

  • Governança fraca

  • Latência física inevitável

  • Dependências organizacionais


💎 A Verdade Inconveniente

“A maioria das iniciativas de modernização falha porque tenta substituir o mainframe em vez de conectá-lo.”

Python permite a segunda opção.


🏆 Frase para levar para a guerra corporativa

👉 “Hybrid Integration não moderniza o mainframe.
Ele transforma o mainframe no coração do digital.”

domingo, 17 de março de 2013

🍰 O Bolo de Fubá, os Peixinhos e o Amor de Terceira Série

 


🍰 O Bolo de Fubá, os Peixinhos e o Amor de Terceira Série

(por Bellacosa Mainframe — Série “Sempre um Isekai” Capítulo III)

Lembranças de Pirassununga.
Um bairro no fim da cidade, onde o asfalto se rendia ao barro e os dias eram longos como verões eternos.
Os córregos serpenteavam preguiçosos entre as pedras, e neles nadavam bagres, lebistes e outros pequenos tesouros líquidos.
Foi ali, num pedaço esquecido do mapa, que vivi um dos capítulos mais doces da minha infância.



Vindo de São Paulo, descobri um mundo novo — sem muros, sem medo, sem pressa.
A liberdade tinha cheiro de mato e som de cigarra.
O pequeno bosque atrás das casas era, aos olhos de um menino de nove anos, uma floresta inteira — densa, misteriosa e cheia de promessas.



Com peneiras, calotas de Fusca e as bacias de revelação fotográfica do meu pai, eu me tornava um caçador de peixinhos.
Levava-os para casa, criava aquários improvisados, nomeava cada um e via neles a mesma curiosidade que eu sentia pelo mundo.



🏫 A sala mágica da professora Maria

Na escola, a professora Maria do 3º ano era uma espécie de arquiteta de sonhos.
Tinha conquistado o privilégio de ter uma sala só sua — uma raridade naquela época.
Transformou o espaço num jardim de ideias: flores, cartazes, livros, desenhos, e um aquário que se tornou o coração pulsante da turma.

Eu trouxe os primeiros peixinhos.
Alimentávamos juntos, trocávamos a água, observávamos suas danças silenciosas.
Entre risadas, descobri algo novo: a amizade, o encanto e aquela leve confusão no peito que, mais tarde, aprenderia a chamar de amor.




💕 Luciana e o bolo de fubá

Havia a Mércia, pela qual eu tinha uma quedinha discreta… mas quem roubou de vez minha atenção foi Luciana, uma menina loirinha, simpática, com olhos curiosos e um sorriso que parecia entender todos os meus segredos.

Um dia, ela me pediu peixinhos — e eu, cavaleiro de nove anos e alma de explorador, prometi levar.
“Mas leva na minha casa, tá?”, disse ela, com medo de derrubar os bichinhos no caminho.

Cheguei com o coração acelerado, segurando o pote com cuidado.
A mãe dela me recebeu com um sorriso que parecia o próprio sol.
Nos deixou brincando no quintal.
E então o ar se encheu de um cheiro inconfundível — bolo de fubá assando no forno.

Foi ali, entre risadas, peixinhos e farelo doce, que ganhei minha primeira namoradinha escolar.
Cada visita era um ritual: ela me esperava, a mãe servia o bolo, e o mundo parecia simples e perfeito.


🌧️ O vento muda

Foram meses felizes, cheios de risadas, sol e inocência.
Mas o destino, caprichoso como sempre, preparava a tempestade de 1983 — mudanças, despedidas e o início de outra jornada.

Antes que tudo mudasse, vivi intensamente cada dia em Pirassununga.
E hoje, décadas depois, basta sentir o cheiro de bolo de fubá para que o tempo se dobre, e eu volte a ser o menino de calças curtas, segurando um vidro com peixinhos e o coração batendo rápido.


☕ Epílogo Bellacosa

Nem todo código é feito de bits.
Alguns são feitos de memórias, sabores e afetos.
Pirassununga foi meu primeiro “sistema” fora do grande centro — um ambiente simples, mas com dados preciosos gravados na alma.

E o bolo de fubá é meu checkpoint de ternura, meu restore point para quando a vida fica pesada.
Porque, no fim, cada lembrança é um backup daquilo que fomos…
E toda infância bem vivida é um programa que ainda roda — mesmo depois de tantos reboots.

#bolofuba #pirassununga #peixinhos 

Ps: Qual caminho a vida da jovem Luciana tomou? O que será dela no século XXI?


quinta-feira, 14 de março de 2013

O Herói, o Mainframe e a Misteriosa Pasta CD 17

 


☕ Um Café no Bellacosa Mainframe

O Herói, o Mainframe e a Misteriosa Pasta CD 17

Uma aventura isekai para programadores COBOL iniciantes, administradores de sistemas e aventureiros que jamais deixariam a mãe abrir a pasta Downloads

Imagine a seguinte situação.

Você passou a noite inteira estudando COBOL, corrigindo um programa que insistia em encerrar com código de retorno 12 e tentando entender por que uma simples leitura de arquivo sequencial conseguia produzir mais suspense que uma temporada inteira de anime.

O relógio marcava 3h17 da manhã.

Ao lado do teclado, havia uma xícara de café já fria, um manual de JCL aberto na página errada e uma janela do navegador exibindo uma pesquisa extremamente profissional:

“Por que meu programa COBOL entra em loop infinito mesmo quando eu tenho certeza de que coloquei o fim do arquivo?”

Foi então que você decidiu sair de casa para comprar mais café.

Cinco minutos depois, apareceu o inevitável.

Não era um dragão.

Não era um demônio.

Não era um gerente de projetos perguntando se seria possível colocar mais uma pequena alteração em produção antes do almoço.

Era ele.

Caminhão-kun.

Depois de um encontro inesperado com a engenharia automotiva japonesa, você acordou diante de uma deusa de cabelos azuis, cercada por nuvens, colunas douradas e uma interface estranhamente parecida com um painel do ISPF.

Ela sorriu.

— Parabéns! Você terá a oportunidade de recomeçar sua vida em outro mundo!

Você olhou para a deusa.

Olhou para o portal mágico.

Olhou para a lista de habilidades especiais disponíveis.

E fez a única pergunta realmente importante:

— Alguém pode apagar meu HD?

A deusa piscou.

— Você não quer saber em qual mundo renascerá?

— Depois.

— Não quer escolher uma habilidade lendária?

— Mais tarde.

— Não quer se despedir de sua família?

— Claro que quero. Mas antes alguém precisa localizar a pasta CD 17.

A deusa consultou uma espécie de terminal celestial.

— O que existe nessa pasta?

Você se levantou assustado.

— Não execute um LISTCAT nisso!

E assim começa nossa jornada.





1. O último desejo da era digital

Nas histórias antigas, os heróis preocupavam-se com honra, legado, família e destino.

O guerreiro medieval pedia que sua espada fosse entregue ao filho.

O capitão solicitava que sua última carta chegasse à esposa.

O mago queria que seus grimórios fossem protegidos.

O protagonista moderno de isekai, entretanto, possui uma preocupação mais urgente:

“Destruam meu computador antes que alguém descubra quem eu realmente era.”

Essa piada aparece em inúmeras variações na cultura de anime, mangá, light novels, fóruns e memes:

  • apagar o histórico do navegador;

  • formatar o disco;

  • jogar o computador na banheira;

  • incinerar o equipamento;

  • destruir fisicamente o HD;

  • impedir que a mãe abra determinada pasta;

  • telefonar para um amigo de confiança;

  • pedir que ninguém examine a coleção de arquivos.

A força da piada está no fato de que o conteúdo jamais precisa ser revelado.

Cada espectador preenche o espaço em branco com suas próprias suspeitas.

Pode ser uma coleção de imagens constrangedoras.

Pode ser um arquivo com fanfictions.


Pode ser um conjunto de animes baixados em resolução duvidosa.

Pode ser uma pasta contendo centenas de fotografias, programas antigos, jogos, emuladores, documentos, projetos abandonados e arquivos chamados:

VERSAO_FINAL
VERSAO_FINAL_2
VERSAO_FINAL_AGORA_VAI
VERSAO_FINAL_DEFINITIVA
VERSAO_FINAL_DEFINITIVA_CORRIGIDA
VERSAO_FINAL_DEFINITIVA_CORRIGIDA_NOVA

Ou pode ser simplesmente a lendária:

CD 17

O nome perfeito.

Discreto.

Inocente.

Burocrático.

Tão genérico que não desperta suspeitas.

Ou, justamente por isso, desperta todas.


2. A arqueologia da pasta CD 17

Para quem nasceu na época do armazenamento em nuvem, um nome como CD 17 talvez pareça irrelevante.

Para quem viveu a era dos CD-R, CD-RW, gravadores de 2x, discos riscados e estojos empilhados, o nome carrega toda uma história tecnológica.

Antes de termos terabytes disponíveis em pequenos dispositivos, o armazenamento era escasso.

Um CD-ROM comum armazenava aproximadamente 650 ou 700 megabytes. Na época, isso parecia bastante espaço. Era possível gravar programas, fotografias, documentos, músicas, backups e coleções inteiras de arquivos.

Quando o conteúdo ultrapassava a capacidade de um disco, surgia uma sequência:

CD 01
CD 02
CD 03
CD 04
...
CD 17

O problema começava quando ninguém lembrava mais o que havia em cada mídia.

A pessoa então criava pastas temporárias no HD para preparar as gravações:

C:\GRAVAR\CD_15
C:\GRAVAR\CD_16
C:\GRAVAR\CD_17

O CD era gravado.

A pasta, entretanto, permanecia.

Depois recebia novos arquivos.

Cópias eram feitas.

Anos se passavam.

A origem do nome era esquecida.

A pasta transformava-se em um sítio arqueológico digital.

Dentro dela poderiam existir arquivos de 1998, 2001, 2007 e 2014 convivendo em perfeita desordem cronológica.

É como abrir uma biblioteca em que os livros foram guardados por um duende bêbado.

No mundo mainframe, porém, essa desorganização produziria imediatamente uma reunião de governança.

Alguém perguntaria:

— Quem é o proprietário do dataset?

Outro responderia:

— Não sabemos.

— Qual é a política de retenção?

— Também não sabemos.

— Há backup?

— Provavelmente.

— Onde?

— Talvez no CD 18.



3. O que a pasta CD 17 ensina sobre organização de dados

Por trás da piada existe uma lição séria para o programador COBOL iniciante.

Computadores não compreendem contexto emocional.

Eles não sabem que:

CD17

significa “arquivos importantes que eu não queria perder em 2002”.

Também não sabem que:

FINAL2

é mais recente que:

FINAL_NOVO

Os sistemas precisam de organização explícita.

No mainframe, essa preocupação aparece nos nomes de datasets, nas convenções da empresa, no catálogo, nas gerações de arquivos, nos layouts, nas descrições e nas políticas de retenção.

Um dataset pode possuir um nome como:

BELLACOS.CURSO.COBOL.ALUNOS

Esse nome já comunica uma hierarquia:

  • BELLACOS pode identificar o usuário, projeto ou aplicação;

  • CURSO representa uma área;

  • COBOL indica o contexto;

  • ALUNOS descreve o conteúdo.

Compare com:

BELLACOS.CD17

Tecnicamente válido em muitas convenções internas, talvez.

Explicativo, não.

Seguro para auditoria, definitivamente não.

Uma boa nomenclatura reduz dúvidas.

Exemplo:

BELLACOS.CURSO.COBOL.FONTE
BELLACOS.CURSO.COBOL.JCL
BELLACOS.CURSO.COBOL.COPY
BELLACOS.CURSO.COBOL.DADOS
BELLACOS.CURSO.COBOL.RELATORIO

O nome deve ajudar o próximo profissional.

Inclusive quando o próximo profissional for você mesmo, seis meses depois, olhando para o sistema como se tivesse sido desenvolvido por um feiticeiro irresponsável.


 

4. A deusa pergunta: “O que é COBOL?”

De volta ao mundo celestial, a deusa continuava tentando entender por que você estava tão preocupado.

— Afinal, o que você fazia naquele computador?

— Programava em COBOL.

Ela arregalou os olhos.

— Uma magia ancestral?

— Quase isso.

COBOL é uma linguagem criada com o objetivo de facilitar o desenvolvimento de aplicações voltadas ao processamento de dados comerciais.

Seu nome vem de:

COmmon Business-Oriented Language

Ou seja:

Linguagem Comum Orientada a Negócios

COBOL foi projetado para trabalhar com informações como:

  • clientes;

  • contas;

  • pagamentos;

  • folhas salariais;

  • seguros;

  • estoques;

  • transações;

  • registros financeiros;

  • arquivos corporativos;

  • relatórios;

  • processamento em lote.

Apesar de sua idade, COBOL continua relevante porque muitos sistemas críticos foram construídos ao longo de décadas e permanecem executando milhões ou bilhões de operações.

Uma aplicação COBOL não é necessariamente um programa isolado.

Ela pode participar de um ecossistema com:

  • JCL;

  • Db2;

  • CICS;

  • VSAM;

  • IMS;

  • MQ;

  • arquivos sequenciais;

  • utilitários;

  • schedulers;

  • sistemas de segurança;

  • rotinas de recuperação;

  • ferramentas de monitoramento.

Em outras palavras, aprender COBOL não significa apenas memorizar comandos.

Significa compreender como os dados entram, são processados, validados, transformados, armazenados e entregues.

É quase uma guilda de aventureiros.

Só que cada integrante da equipe possui uma função.

O COBOL realiza a lógica de negócio.

O JCL prepara o ambiente para a execução.

O Db2 armazena dados relacionais.

O VSAM organiza arquivos de acesso eficiente.

O CICS coordena transações online.

O RACF verifica quem tem permissão para invocar a magia.

E o operador observa tudo, silenciosamente, até alguém produzir um abend às três da manhã.



5. Primeiro programa: protegendo a CD 17

Vamos transformar nossa piada em um pequeno programa COBOL.

O objetivo será pedir ao usuário o nome de uma pasta e verificar se ela corresponde à área proibida.

       IDENTIFICATION DIVISION.
       PROGRAM-ID. CD17CHK.

       ENVIRONMENT DIVISION.

       DATA DIVISION.
       WORKING-STORAGE SECTION.

       01  WS-NOME-PASTA        PIC X(30).
       01  WS-CD-SECRETO        PIC X(30)
                                VALUE 'CD 17'.

       PROCEDURE DIVISION.

       INICIO.
           DISPLAY 'INFORME O NOME DA PASTA:'
           ACCEPT WS-NOME-PASTA

           IF WS-NOME-PASTA = WS-CD-SECRETO
               DISPLAY 'ACESSO NEGADO.'
               DISPLAY 'NAO EXECUTE LISTCAT.'
               DISPLAY 'CHAME O AMIGO DE CONFIANCA.'
           ELSE
               DISPLAY 'PASTA LIBERADA PARA CONSULTA.'
           END-IF

           STOP RUN.

Para quem está começando, vamos analisar o programa.

IDENTIFICATION DIVISION

Aqui identificamos o programa:

PROGRAM-ID. CD17CHK.

É como registrar o nome do aventureiro na guilda.

DATA DIVISION

Nesta divisão descrevemos os dados usados pelo programa.

01 WS-NOME-PASTA PIC X(30).

Essa variável pode armazenar até 30 caracteres.

O prefixo WS costuma indicar que o item está na WORKING-STORAGE SECTION.

Não é uma obrigação da linguagem, mas uma convenção útil.

Depois definimos:

01 WS-CD-SECRETO PIC X(30)
                 VALUE 'CD 17'.

Essa variável já começa com o valor CD 17.

PROCEDURE DIVISION

Aqui está a lógica executável.

DISPLAY

mostra uma mensagem.

ACCEPT

recebe uma informação.

IF

testa uma condição.

STOP RUN

encerra o programa.

Simples, direto e muito mais seguro que confiar a tarefa a um personagem secundário de moral duvidosa.


6. O perigo de comparar textos em COBOL

Agora entra uma curiosidade importante.

Campos alfanuméricos possuem tamanho fixo.

Quando declaramos:

01 WS-NOME-PASTA PIC X(30).

o campo ocupa 30 posições.

Se o usuário digitar:

CD 17

o valor interno poderá ser entendido como:

CD 17

seguido por espaços até completar 30 posições.

Por isso, comparações entre campos de tamanhos diferentes exigem atenção.

Uma alternativa mais clara seria usar uma condição de nível 88:

       01  WS-NOME-PASTA        PIC X(30).

           88  PASTA-SECRETA
               VALUE 'CD 17'.

Então poderíamos escrever:

           IF PASTA-SECRETA
               DISPLAY 'PROTOCOLO DE DESTRUICAO INICIADO.'
           END-IF

O nível 88 não cria um novo espaço de armazenamento.

Ele cria um nome de condição associado a determinados valores.

Isso torna o código mais legível.

Compare:

IF WS-NOME-PASTA = 'CD 17'

com:

IF PASTA-SECRETA

A segunda forma parece quase uma frase.

Essa legibilidade é uma das características marcantes do COBOL.


7. O amigo caridoso e o processamento em lote

Na piada do isekai, o protagonista depende de uma alma caridosa para destruir o HD.

No mainframe, jamais deveríamos depender apenas de boa vontade.

Precisamos de processos.

Imagine um arquivo contendo uma lista de pastas a serem avaliadas:

DOCUMENTOS
FOTOS
PROJETOS
CD 17
BACKUP
ANIMES

Um programa batch poderia ler cada registro e produzir um relatório.

O fluxo seria:

INÍCIO
  |
ABRIR ARQUIVO
  |
LER REGISTRO
  |
FIM DO ARQUIVO?
  |            \
 NÃO            SIM
  |              |
VERIFICAR NOME   FECHAR ARQUIVO
  |              |
GERAR ALERTA     ENCERRAR
  |
LER PRÓXIMO

Em COBOL, a leitura clássica poderia ser estruturada assim:

       PERFORM ABRIR-ARQUIVOS

       PERFORM LER-PASTA

       PERFORM UNTIL FIM-DO-ARQUIVO
           PERFORM PROCESSAR-PASTA
           PERFORM LER-PASTA
       END-PERFORM

       PERFORM FECHAR-ARQUIVOS

Esse padrão é fundamental para quem começa em processamento batch.

Primeiro lemos um registro.

Depois repetimos o processamento até que o fim do arquivo seja encontrado.

Uma condição nível 88 pode representar o fim:

       01  WS-FIM-ARQUIVO       PIC X VALUE 'N'.

           88  FIM-DO-ARQUIVO
               VALUE 'S'.

           88  NAO-FIM-ARQUIVO
               VALUE 'N'.

Durante a leitura:

       READ ARQ-PASTAS
           AT END
               SET FIM-DO-ARQUIVO TO TRUE
       END-READ

Esse pequeno trecho contém uma das ideias mais importantes do COBOL: o programa trabalha continuamente com estados claros.

Fim ou não fim.

Registro válido ou inválido.

Transação aceita ou rejeitada.

Pasta comum ou CD 17.


8. JCL: convocando o programa para a aventura

Um programa COBOL compilado em ambiente mainframe normalmente precisa ser executado por meio de um job.

Exemplo simplificado:

//CD17JOB  JOB (ACCT),'BELLACOSA',
//             CLASS=A,
//             MSGCLASS=X,
//             NOTIFY=&SYSUID
//*
//STEP01   EXEC PGM=CD17CHK
//STEPLIB  DD DSN=BELLACOS.CURSO.LOAD,DISP=SHR
//SYSOUT   DD SYSOUT=*
//PASTAS   DD DSN=BELLACOS.CURSO.CD17.DADOS,DISP=SHR

Vamos traduzir.

//CD17JOB JOB

define o job.

//STEP01 EXEC PGM=CD17CHK

solicita a execução do programa.

//STEPLIB DD

indica onde o sistema pode localizar o módulo executável.

//SYSOUT DD SYSOUT=*

direciona mensagens para a saída do job.

//PASTAS DD

associa um nome lógico usado pelo programa a um dataset real.

Esse mecanismo é poderoso.

O programa COBOL não precisa necessariamente conhecer o nome físico completo do arquivo.

Ele pode trabalhar com um nome lógico definido no SELECT.

O JCL informa qual dataset será usado naquela execução.

É como entregar ao aventureiro um mapa diferente para cada missão, sem alterar a espada.


9. Segurança: por que “apagar o histórico” não é suficiente

Agora precisamos interromper a comédia por alguns minutos.

Destruir arquivos, formatar discos ou apagar históricos não garante necessariamente que os dados tenham desaparecido de forma irrecuperável.

Em ambientes profissionais, a eliminação de informações deve seguir políticas específicas.

Podem existir:

  • cópias de backup;

  • replicações;

  • snapshots;

  • logs;

  • versões anteriores;

  • arquivos temporários;

  • retenção obrigatória;

  • trilhas de auditoria;

  • cópias em outros equipamentos.

No mainframe, segurança e governança são assuntos centrais.

O acesso pode ser controlado por produtos como RACF, ACF2 ou Top Secret.

A pergunta correta não é apenas:

“Onde está o arquivo?”

Também precisamos perguntar:

“Quem pode acessá-lo?”

“Quem acessou?”

“Por quanto tempo ele deve existir?”

“Existe obrigação legal de preservá-lo?”

“Quem autorizou sua exclusão?”

Portanto, no mundo corporativo, o amigo caridoso que recebe o pedido “apague tudo” deveria responder:

— Existe uma requisição de mudança aprovada?

O protagonista, já diante da deusa, perceberia então que nem a morte consegue vencer o processo de governança.


10. Backup: a bênção e a maldição

A ironia máxima da pasta CD 17 é que ela provavelmente existe porque alguém tentou fazer backup.

Backup é essencial.

Mas um backup sem organização pode transformar-se em um labirinto.

Uma estratégia útil costuma considerar múltiplas cópias, mídias diferentes e pelo menos uma cópia armazenada fora do equipamento principal.

Também é importante testar a restauração.

Um backup que nunca foi restaurado é apenas uma promessa otimista.

No mainframe, cópias podem ser realizadas por diversos mecanismos, dependendo do tipo de dado e da infraestrutura.

Para datasets, bancos e arquivos, podem existir processos específicos de:

  • cópia;

  • dump;

  • restore;

  • image copy;

  • archive;

  • migração;

  • recuperação.

O ponto principal é simples:

O objetivo do backup não é criar cópias.
O objetivo do backup é permitir recuperação.

Se o conteúdo da CD 17 for importante, deve existir uma estratégia de restauração.

Se for constrangedor, talvez seja melhor perguntar por que ele foi replicado em nove mídias, dois HDs externos e um pendrive chamado DRAGON_BACKUP_FINAL.


11. Easter eggs para os iniciados

Como toda aventura digna do Bellacosa Mainframe, precisamos esconder algumas referências.

Easter egg 1: retorno 17

Em sistemas reais, códigos de retorno devem ser definidos e documentados.

Mas, em nossa aventura, o programa secreto poderia terminar assim:

MOVE 17 TO RETURN-CODE

Quem visse o resultado no job perguntaria:

— O que significa RC=17?

A resposta oficial seria:

— Condição não documentada.

A resposta verdadeira:

— Alguém encontrou a pasta.

Easter egg 2: dataset geracional

A CD 17 poderia evoluir para um GDG:

BELLACOS.SECRET.CD17.G0001V00
BELLACOS.SECRET.CD17.G0002V00
BELLACOS.SECRET.CD17.G0003V00

Assim, cada atualização criaria uma nova geração.

Porque nada demonstra arrependimento verdadeiro como manter várias versões históricas do material que você jurou apagar.

Easter egg 3: comentário suspeito

Todo código antigo possui um comentário semelhante a:

      * ALTERADO EM 1999 - NAO REMOVER

Ninguém sabe quem alterou.

Ninguém sabe por quê.

Ninguém remove.

A rotina permanece em produção até o ano de 2026.

Easter egg 4: o abend definitivo

Caso alguém tente abrir a pasta sem autorização:

S0C7

O famoso erro de dados inválidos.

Na narrativa, porém, ele significaria:

SECRET OCCULT CONTENT 7

Não procure essa definição em nenhum manual IBM.


12. Passo a passo para o COBOL iniciante não criar sua própria CD 17

Vamos encerrar com um pequeno guia prático.

Passo 1: use nomes compreensíveis

Evite:

01 A PIC X.
01 B PIC 9(05).
01 C PIC X(100).

Prefira:

01 WS-FIM-ARQUIVO       PIC X.
01 WS-TOTAL-REGISTROS   PIC 9(05).
01 WS-MENSAGEM-ERRO     PIC X(100).

Passo 2: documente a finalidade

Um comentário útil explica a intenção.

      * CONTROLA O ENCERRAMENTO DA LEITURA DO ARQUIVO.

Um comentário inútil apenas repete o comando.

      * MOVE ZERO PARA O TOTAL
       MOVE ZERO TO WS-TOTAL.

Passo 3: divida o processamento

Use parágrafos com responsabilidades claras:

1000-INICIALIZAR.
2000-LER-ARQUIVO.
3000-PROCESSAR-REGISTRO.
4000-GERAR-SAIDA.
9000-FINALIZAR.

Passo 4: trate erros

Não presuma que tudo funcionará.

Verifique:

  • status de arquivo;

  • códigos SQL;

  • condições de fim;

  • dados inválidos;

  • parâmetros ausentes;

  • resultados inesperados.

Passo 5: não esconda regras

Uma regra importante não deve estar enterrada em centenas de linhas.

Se CD 17 é proibida, declare isso claramente.

88 PASTA-PROIBIDA VALUE 'CD 17'.

Passo 6: pense no próximo mantenedor

O código será lido muitas vezes.

Às vezes, será lido por alguém que não conhece o sistema.

Às vezes, será lido por você mesmo após esquecer completamente o motivo de cada decisão.

Escreva como se o próximo programador fosse um aventureiro iniciante enviado para uma dungeon sem mapa.

Porque provavelmente será.


13. A verdadeira moral do isekai

No final, o herói foi enviado ao novo mundo.

Recebeu como habilidade especial a capacidade de compreender qualquer linguagem de programação antiga.

Infelizmente, a habilidade não incluía compreender requisitos mal escritos.

Ao chegar à primeira cidade, formou uma equipe composta por:

  • uma maga explosiva que compilava apenas uma vez por dia;

  • uma sacerdotisa com altíssima disponibilidade, mas nenhuma capacidade de recuperação;

  • uma cavaleira que aceitava todos os ataques e chamava isso de teste de carga;

  • uma deusa responsável pelo suporte técnico, mas que fechava os chamados como “erro do usuário”.

A primeira missão do grupo foi modernizar o sistema financeiro do reino.

O herói abriu o programa principal.

Encontrou 48 mil linhas de COBOL.

Nenhuma documentação.

Centenas de GO TO.

Arquivos com nomes incompreensíveis.

E um comentário no topo:

      * SISTEMA PROVISORIO - SUBSTITUIR NO PROXIMO ANO
      * CRIADO EM 1987

Ele respirou fundo.

Tomou um gole de café.

E disse:

— Talvez eu tenha sido atropelado por sorte.

Naquela noite, antes de dormir, perguntou à deusa se alguém havia cumprido seu último pedido no mundo anterior.

Ela abriu o painel celestial.

— Tenho boas e más notícias.

— Comece pelas boas.

— Seu amigo encontrou seu computador.

— E as más?

— Ele não apagou a pasta CD 17.

O herói empalideceu.

— Por quê?

— Porque encontrou dentro dela seus fontes COBOL, apostilas, fotografias de mainframes, wallpapers de anime, manuais antigos, scripts REXX, imagens do Johnny Castaway e um projeto chamado VERSAO_FINAL_AGORA_VAI.

O herói ficou em silêncio.

A deusa sorriu.

— Ele disse que aquilo não era uma pasta vergonhosa.

— Não?

— Era um museu.

E talvez essa seja a maior piada de todas.

Passamos décadas acumulando arquivos que parecem aleatórios, antigos ou embaraçosos. Porém, quando observados com distância, eles contam nossa história.

A pasta CD 17 não guarda apenas dados.

Ela guarda fases da vida.

Tecnologias que aprendemos.

Projetos que abandonamos.

Amizades.

Curiosidades.

Erros.

Descobertas.

Madrugadas diante do computador.

Versões antigas de quem fomos.

No mundo do mainframe, chamamos isso de legado.

Alguns usam a palavra como crítica.

Outros entendem que legado é aquilo que continuou funcionando tempo suficiente para se tornar importante.

Um sistema legado não é apenas velho.

Ele sobreviveu.

Foi alterado.

Corrigido.

Migrado.

Protegido.

Executado milhares de vezes.

Talvez a CD 17 seja exatamente isso:

Um pequeno sistema legado pessoal, sem documentação, com nomenclatura duvidosa, retenção indefinida e importância emocional impossível de calcular.

Portanto, antes de pedir que alguém incinere seu HD ao ser convocado para outro mundo, faça pelo menos três coisas:

Organize seus arquivos.

Documente o que importa.

E escolha muito bem a alma caridosa responsável pelo procedimento.

Porque, caso ela seja programadora COBOL, provavelmente não apagará nada.

Ela criará um backup.

Depois um GDG.

Depois uma cópia externa.

E finalmente um job diário chamado:

CD17BKP

Com DISP=SHR, NOTIFY=&SYSUID e retorno zero.

Afinal, neste mundo ou no próximo, todo verdadeiro profissional de mainframe sabe:

Dados importantes não desaparecem.
Eles apenas mudam de volume.

E o conteúdo da pasta CD 17?

Bem...

Essa informação está protegida por RACF.

ICH408I — ACESSO NEGADO.

Fim do job.

Ou talvez apenas o começo de uma nova aventura.


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...