☕ 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

Mostrar mensagens com a etiqueta programacao cobol. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta programacao cobol. Mostrar todas as mensagens

segunda-feira, 1 de junho de 2026

☕💣 DÍVIDA TÉCNICA: O MONSTRO INVISÍVEL QUE ESTÁ COMENDO O SEU COBOL DESDE O SÉCULO PASSADO

 

Bellacosa Mainframe e o monstro da divida tecnica 

☕💣 DÍVIDA TÉCNICA: O MONSTRO INVISÍVEL QUE ESTÁ COMENDO O SEU COBOL DESDE O SÉCULO PASSADO

"O sistema funciona perfeitamente. Só ninguém sabe como."

Se você trabalha com Mainframe há algum tempo, provavelmente já ouviu frases como:

  • "Não mexe nisso que funciona."

  • "Esse programa está em produção há 20 anos."

  • "Só o João sabe alterar esse módulo."

  • "Depois a gente documenta."

  • "Precisamos entregar hoje."

Parabéns.

Você acabou de encontrar alguns dos maiores sintomas de uma das doenças mais comuns da tecnologia moderna:

A Dívida Técnica.

E não, ela não acontece apenas em Java, Python ou aplicações web modernas.

Na verdade, muitos dos maiores casos de dívida técnica do planeta estão rodando neste exato momento em sistemas COBOL responsáveis por bancos, seguradoras, governos, companhias aéreas e bolsas de valores.

Vamos entender o que é, como identificar, controlar e principalmente como sobreviver a ela.


O QUE É DÍVIDA TÉCNICA?

A definição mais simples é:

Dívida Técnica é o custo futuro gerado quando escolhemos uma solução rápida hoje em vez da melhor solução possível.

Imagine que você recebeu uma demanda urgente.

O gerente aparece correndo:

"Precisamos colocar essa alteração em produção amanhã."

Você sabe que o correto seria:

  • revisar a arquitetura;

  • atualizar documentação;

  • criar casos de teste;

  • revisar impactos;

  • atualizar fluxogramas.

Mas o prazo não permite.

Então você faz um ajuste rápido.

Entrega.

Todo mundo feliz.

Até que seis meses depois alguém precisa alterar novamente aquele trecho.

Agora ninguém entende mais nada.

A dívida venceu.

E os juros começaram a ser cobrados.


A ANALOGIA COM O CARTÃO DE CRÉDITO

A comparação mais famosa é com uma dívida financeira.

Quando você compra algo parcelado:

Você ganha agora.

Mas paga depois.

Na dívida técnica acontece exatamente o mesmo.

Você ganha:

  • velocidade;

  • prazo;

  • entrega rápida.

Mas paga depois com:

  • bugs;

  • retrabalho;

  • manutenção cara;

  • incidentes de produção.

Quanto mais tempo passa, maiores ficam os juros.


O COBOL NÃO CRIA DÍVIDA TÉCNICA

Essa é uma das maiores injustiças da informática.

Muitos dizem:

"Cobol é dívida técnica."

Errado.

COBOL não é dívida técnica.

COBOL mal mantido é dívida técnica.

Existem programas COBOL escritos há 30 anos que continuam:

  • legíveis;

  • documentados;

  • organizados;

  • eficientes.

E existem aplicações modernas escritas há seis meses que já parecem um filme de terror.

A linguagem não é o problema.

A disciplina é.


COMO A DÍVIDA TÉCNICA NASCE

Ela normalmente surge de quatro formas.

1. Pressão por prazo

O caso mais comum.

"Entrega primeiro."

"Arruma depois."

O problema é que o depois quase nunca chega.


2. Falta de documentação

O desenvolvedor conhece tudo.

Então ele pensa:

"Não preciso documentar."

Dois anos depois ele muda de empresa.

Agora ninguém entende o programa.


3. Correções emergenciais

Produção caiu.

Cliente está ligando.

Diretoria está nervosa.

O objetivo vira apenas:

"Faça voltar."

Nesse momento quase ninguém pensa em qualidade.


4. Sistemas legados

Bibliotecas antigas.

COPYBOOKs herdados.

Macros esquecidas.

JCLs copiados durante décadas.

Tudo isso acumula dívida.


EXEMPLO REAL DE DÍVIDA TÉCNICA EM COBOL

Imagine um cálculo de desconto.

Versão original:

IF CLIENTE-VIP
   COMPUTE DESCONTO = VALOR * 0.15
END-IF

Simples.

Legível.

Agora passam dez anos.

Novas regras surgem.

Resultado:

IF CLIENTE-TIPO = 'A'
...
ELSE
IF CLIENTE-TIPO = 'B'
...
ELSE
IF CLIENTE-TIPO = 'C'
...

Mais tarde:

IF CLIENTE-TIPO = 'A'
...
ELSE
IF CLIENTE-TIPO = 'B'
...
ELSE
IF CLIENTE-TIPO = 'C'
...
ELSE
IF REGIAO = 'S'
...

Depois de centenas de mudanças:

Ninguém sabe mais como o cálculo funciona.

O programa funciona.

Mas ninguém entende.

Isso é dívida técnica.


OS SINTOMAS MAIS PERIGOSOS

Se você encontrar estes sinais, ligue o alerta.

Programas gigantes

Mais de 10.000 linhas.

COPYBOOKs duplicados

A mesma estrutura em vários lugares.

JCLs clonados

Mudam apenas o nome do JOB.

Falta de comentários

Tudo depende da memória dos analistas.

Testes manuais

Ninguém consegue validar rapidamente.

Dependência de uma pessoa

"O Carlos sabe."

Quando você ouve isso, existe dívida técnica.


O EFEITO JUROS COMPOSTOS

Aqui está a parte assustadora.

Dívida técnica cresce de forma parecida com juros compostos.

Um bug gera:

  • remendo;

  • novo remendo;

  • ajuste do remendo;

  • correção da correção.

Depois de alguns anos ninguém consegue alterar sem medo.

O custo explode.


COMO MAPEAR DÍVIDA TÉCNICA

Primeiro passo:

Pare de adivinhar.

Crie um inventário.

Faça uma planilha simples.

Colunas:

  • Sistema

  • Programa

  • Problema

  • Impacto

  • Complexidade

  • Prioridade

Exemplo:

ProgramaProblemaImpacto
COBCLI01Sem documentaçãoAlto
COBFAT0212.000 linhasAlto
COBPAG03Sem testesMédio

Agora a dívida virou algo visível.


MÉTRICAS IMPORTANTES

Um programador júnior deve aprender a medir.

Algumas métricas úteis:

Número de ABENDs

Se cresce continuamente:

há algo errado.


Tempo de correção

Quanto tempo leva para corrigir um incidente?

Quanto maior, maior a dívida.


Quantidade de módulos sem documentação

Métrica simples e poderosa.


Cobertura de testes

Quanto mais baixa, maior o risco.


FERRAMENTAS ÚTEIS NO MAINFRAME

Muitos iniciantes acham que Mainframe não possui ferramentas modernas.

Possui.

E muitas.

IBM Application Discovery

Mapeia dependências.

Excelente para sistemas gigantes.


IBM ADDI

Application Discovery and Delivery Intelligence.

Mostra relacionamentos entre:

  • COBOL

  • JCL

  • DB2

  • CICS


IBM Debug Tool

Ajuda a entender comportamento de programas complexos.


IBM Fault Analyzer

Investiga ABENDs.


IBM File Manager

Analisa arquivos rapidamente.


IBM Dependency Based Build

Automação moderna para pipelines Mainframe.


COMO REDUZIR A DÍVIDA

Agora vem a parte prática.


Passo 1 – Pare de criar dívida nova

Antes de pagar a antiga.

Evite criar mais.

Parece óbvio.

Mas é onde tudo começa.


Passo 2 – Refatore pequenos trechos

Não tente reescrever tudo.

Ataque pequenas áreas.

Exemplo:

  • nomes ruins;

  • IFs excessivos;

  • parágrafos gigantes.


Passo 3 – Documente enquanto aprende

Cada descoberta vira documentação.

Não espere um projeto oficial.


Passo 4 – Automatize testes

Mesmo testes simples ajudam.

Menos medo de alterar.

Mais velocidade.


Passo 5 – Padronize

Defina padrões.

Por exemplo:

  • nomenclatura;

  • comentários;

  • estrutura de programas;

  • organização de COPYBOOKs.


O ERRO MAIS COMUM DOS JUNIORES

Achar que refatorar significa reescrever tudo.

Não.

Refatoração significa melhorar sem alterar comportamento.

Você limpa.

Organiza.

Simplifica.

Sem mudar resultado.


O SEGREDO DOS ANALISTAS SENIORES

Muitos iniciantes acreditam que profissionais experientes sabem tudo.

Não sabem.

A diferença é que eles:

  • documentam mais;

  • investigam melhor;

  • evitam atalhos perigosos;

  • controlam a dívida técnica.

O conhecimento não está apenas no código.

Está na disciplina.


EASTER EGG DOS MAINFRAMEIROS

Se encontrar um comentário parecido com:

* NÃO REMOVER
* FUNCIONA ASSIM DESDE 1994

Você provavelmente encontrou um artefato arqueológico corporativo.

Trate com respeito.

Mas investigue.

Porque muitas vezes ele esconde uma dívida técnica histórica.


A REGRA DOS 5 MINUTOS

Uma dica poderosa.

Se você gastou cinco minutos para entender algo complicado:

documente.

O próximo desenvolvedor agradecerá.

E talvez esse próximo desenvolvedor seja você daqui a seis meses.


COMO EVOLUIR NA CARREIRA ATRAVÉS DA DÍVIDA TÉCNICA

Os melhores profissionais não são os que criam mais código.

São os que reduzem complexidade.

Quando você aprende a:

  • mapear problemas;

  • documentar;

  • simplificar;

  • automatizar;

  • refatorar;

você deixa de ser apenas um programador.

Você passa a ser um engenheiro de software.


CONCLUSÃO

Dívida técnica não é um bug.

Não é um ABEND.

Não é um programa COBOL antigo.

Ela é o resultado de decisões acumuladas ao longo do tempo.

Algumas são necessárias.

Outras são perigosas.

O segredo não é eliminar toda dívida técnica.

Isso é impossível.

O segredo é conhecê-la, monitorá-la e pagá-la antes que ela assuma o controle do sistema.

Porque, no final das contas, o verdadeiro problema não é aquele programa COBOL de 1987.

O problema é ninguém mais entender por que ele ainda funciona.

E quando esse dia chega...

o próximo chamado de produção costuma acontecer às 03:17 da manhã de um domingo.

Aproveite e conheça BACKLOG

https://eljefemidnightlunch.blogspot.com/2025/01/backlog-o-arquivo-secreto-que-separa-um.html

Backlog


quarta-feira, 27 de maio de 2026

☕🚀 IMS: O DINOSSAURO IMORTAL QUE AINDA MOVE O MUNDO

 

Bellacosa Mainframe apresenta o banco de dados hieraquico ISM

☕🚀 IMS: O DINOSSAURO IMORTAL QUE AINDA MOVE O MUNDO

A incrível história do sistema criado na era Apollo que continua processando bilhões de transações todos os dias

Se você é um programador COBOL júnior e começou recentemente a ouvir palavras como IMS, DL/I, PCB, PSB ou GU, talvez tenha pensado:

“Meu Deus… isso parece tecnologia alienígena dos anos 70.”

E sinceramente?

Você não está totalmente errado. 😄

O IMS é uma das tecnologias mais antigas ainda em operação no planeta. Mas existe um detalhe importante:

Ele também é uma das mais resilientes, rápidas e lucrativas da história da computação corporativa.

Enquanto centenas de tecnologias desapareceram, o IMS sobreviveu.

E não apenas sobreviveu.

Ele continua processando:

  • cartões de crédito

  • ATM bancário

  • sistemas de companhias aéreas

  • seguros

  • telecom

  • operações financeiras globais

em volumes absurdos.

Sim… existe uma chance enorme de você já ter usado IMS hoje sem perceber.


🌕 A Origem do IMS — NASA, Apollo e o Homem na Lua

O IMS nasceu em 1968.

Naquela época, a IBM e a Rockwell trabalhavam no projeto Apollo da NASA.

O problema era gigantesco.

A NASA precisava controlar milhares de componentes do foguete Saturn V:

  • peças

  • logística

  • engenharia

  • rastreamento

  • montagem

E os bancos de dados tradicionais da época simplesmente não conseguiam entregar a performance necessária.

Então nasceu o IMS:

Information Management System

Inicialmente criado para gerenciamento hierárquico de informações críticas do projeto Apollo.

Ou seja:

Existe uma ligação histórica real entre o IMS e a corrida espacial.

☕ Easter Egg Mainframe:

Muita gente brinca dizendo:

“O homem chegou à Lua graças ao COBOL, ao mainframe e ao café.”

E honestamente… não é tão exagerado assim.


🌳 O Grande Diferencial do IMS

Diferente do DB2 ou Oracle, o IMS NÃO é relacional.

Ele trabalha com:

Banco de dados hierárquico

Imagine uma árvore:

CLIENTE
 └── CONTA
      └── CARTAO
           └── MOVIMENTO

No IMS os dados possuem:

  • pai

  • filho

  • caminho de navegação

Isso deixa o acesso extremamente rápido.

Enquanto um banco relacional precisa pensar em:

  • JOIN

  • optimizer

  • plano de acesso

  • estatísticas

o IMS normalmente já sabe exatamente onde navegar.

É quase como um labirinto secreto onde o programa já conhece o caminho.


⚡ Por Que o IMS é Tão Rápido?

Porque ele foi criado numa época brutalmente limitada.

Nos anos 60 e 70:

  • CPU era caríssima

  • disco era lento

  • memória era minúscula

Então a IBM projetou o IMS para minimizar ao máximo o número de acessos físicos ao disco.

O resultado?

Uma arquitetura extremamente otimizada.

O IMS utiliza:

  • ponteiros físicos

  • navegação direta

  • acesso hierárquico

  • estruturas previsíveis

Em vez de perguntar:

“Como encontrar o dado?”

o IMS trabalha com:

“Eu já sei exatamente onde ele está.”


💾 Como os Dados São Gravados Fisicamente?

Aqui entra uma das partes mais fascinantes do IMS.

Fisicamente os dados normalmente são armazenados em datasets z/OS usando:

  • VSAM

  • OSAM

Mas o IMS NÃO grava tabelas como um banco relacional.

Ele grava:

Segmentos hierárquicos

Exemplo:

CLIENTE
   ↓ ponteiro físico
CONTA
   ↓ ponteiro físico
MOVIMENTO

Os segmentos ficam ligados fisicamente por ponteiros internos.

Isso permite uma navegação extremamente rápida entre os registros.

É quase como se o banco tivesse túneis secretos ligando os dados.


🧠 O Que é DL/I?

Se existe um coração no IMS…

Esse coração é o:

DL/I — Data Language One

O DL/I é a interface usada pelos programas COBOL para conversar com o IMS.

No DB2 usamos:

SELECT
INSERT
UPDATE
DELETE

No IMS usamos comandos como:

  • GU

  • GN

  • GNP

  • ISRT

  • REPL

  • DLET

Tudo via:

CALL 'CBLTDLI'

Ou seja:

O programa COBOL literalmente navega pela árvore do banco.


👨‍💻 Exemplo Simples de Acesso IMS

Imagine que queremos localizar um cliente.

A chamada clássica seria:

CALL 'CBLTDLI'
     USING 'GU  '
           DB-PCB
           CLIENTE-AREA
           CLIENTE-SSA.

O comando:

GU

significa:

Get Unique

O IMS então:

  1. usa o índice

  2. localiza o segmento

  3. posiciona o ponteiro

  4. devolve o registro

Tudo absurdamente rápido.


🔑 PCB, PSB e SSA — As Siglas Misteriosas

Quando alguém começa IMS pela primeira vez, parece que caiu num filme cyberpunk dos anos 70.

As siglas assustam.

Mas a lógica é simples.

PCB

Program Communication Block

Define o acesso ao banco.

PSB

Program Specification Block

Define quais bancos e PCBs o programa pode usar.

SSA

Segment Search Argument

É quase um “WHERE” do IMS.

Exemplo:

CLIENTE(COD=00001)

📜 IMS e JCL

No mundo IMS, o JCL também ganha superpoderes.

Um programa batch IMS normalmente roda com:

//STEP01 EXEC PGM=DFSRRC00,
// PARM='DLI,PROGIMS,PSBTEST'

O famoso:

DFSRRC00

é praticamente o “portal mágico” do batch IMS.

☕ Curiosidade Bellacosa Mainframe:

Quando um iniciante vê um JCL IMS pela primeira vez, normalmente reage assim:

“Isso é um JCL… ou um ritual arcano da IBM?”

😄


⚔️ IMS vs DB2

Essa é uma guerra clássica.

O IMS possui:

✅ performance monstruosa
✅ baixo overhead
✅ TPS absurdamente alto

Mas o DB2 possui:

✅ SQL flexível
✅ analytics
✅ joins
✅ consultas ad-hoc

Por isso muitos bancos usam:

IMS + DB2 juntos

IMS processa o core transacional.

DB2 faz relatórios e analytics.

É como:

IMS = motor Fórmula 1
DB2 = cérebro analítico

🤖 IMS Moderno — Sim, Ele Continua Evoluindo

Muita gente pensa que IMS ficou preso nos anos 70.

Errado.

Hoje o IMS conversa com:

  • APIs REST

  • JSON

  • Java

  • OpenShift

  • Cloud híbrida

  • Mobile banking

  • z/OS Connect

Ou seja:

Seu aplicativo de banco no celular pode estar conversando com um software criado há mais de 50 anos.

Isso é simplesmente absurdo.

E incrível.


💼 Vale a Pena Aprender IMS?

Para um programador COBOL júnior?

SIM. MUITO.

Porque existem poucos especialistas.

E muitos profissionais IMS estão se aposentando.

O mercado procura gente que entenda:

  • COBOL

  • IMS

  • JCL

  • VSAM

  • CICS

  • DB2

Essa combinação continua extremamente valorizada.

Especialmente em:

  • bancos

  • seguradoras

  • telecom

  • aviação

  • governo


☕ O Dinossauro Que Nunca Morreu

O IMS é um paradoxo fascinante.

Ele nasceu antes da internet moderna.

Antes do Windows.

Antes do Linux.

Antes do SQL dominar o mundo.

E mesmo assim continua vivo.

Mais do que vivo.

Continua movimentando bilhões de dólares diariamente.

Porque no fim das contas, empresas gigantes não querem apenas “tecnologia nova”.

Elas querem:

  • estabilidade

  • velocidade

  • segurança

  • confiabilidade

E nisso o IMS ainda é um verdadeiro monstro.

Ou como muita gente brinca no mundo mainframe:

“Tecnologia antiga não significa tecnologia ultrapassada.”

Especialmente quando ela ainda move o planeta.

sexta-feira, 27 de março de 2015

☕🔥 BOAS PRÁTICAS COBOL — A DIFERENÇA ENTRE “CÓDIGO QUE FUNCIONA” E “CÓDIGO QUE SOBREVIVE 30 ANOS”

 

Bellacosa Mainframe e as Boas praticas em cobol

☕🔥 BOAS PRÁTICAS COBOL — A DIFERENÇA ENTRE “CÓDIGO QUE FUNCIONA” E “CÓDIGO QUE SOBREVIVE 30 ANOS”

O material enviado é excelente porque toca num dos assuntos mais importantes do mundo Enterprise:

COBOL não é só linguagem.
COBOL é engenharia de continuidade operacional.

E isso muda completamente a maneira de programar.

No mercado bancário, seguradoras, adquirentes, cartões, previdência, governo e clearing houses…

o programa COBOL NÃO é feito para durar meses.

Ele é feito para durar décadas.

Muitos sistemas bancários críticos hoje ainda possuem módulos escritos entre:

  • 1978

  • 1986

  • 1992

  • 1999

e continuam processando:

  • PIX

  • TED

  • SWIFT

  • cartão

  • folha

  • empréstimo

  • câmbio

  • risco

  • antifraude

  • compensação

  • open finance

com volumes absurdos.


☕ O GRANDE SEGREDO DO COBOL CORPORATIVO

Em sistemas Enterprise:

O custo da MANUTENÇÃO é MUITO maior que o custo da implementação inicial.

Em bancos:

  • 70% a 90% do trabalho é manutenção

  • não projeto novo

Então o verdadeiro objetivo do COBOL é:

  • previsibilidade

  • legibilidade

  • estabilidade

  • rastreabilidade

  • auditabilidade

  • recuperação

  • facilidade de troubleshooting

e NÃO “código bonito”.


☕ O QUE DIFERENCIA UM JÚNIOR DE UM PROGRAMADOR COBOL ENTERPRISE?

Junior:

  • “funciona”

Senior:

  • “isso vai sobreviver 20 anos?”

Especialista banco:

  • “isso vai sobreviver 20 anos SEM derrubar batch?”

Arquiteto:

  • “isso vai sobreviver auditoria BACEN?”


☕ 1 — IDENTIFICATION DIVISION NÃO É ENFEITE

O texto fala algo extremamente importante:

Muita gente ignora IDENTIFICATION DIVISION.

No mundo real isso é gravíssimo.

Porque em bancos:

  • programas possuem milhares de versões

  • dezenas de equipes

  • auditorias

  • SOX

  • BACEN

  • LGPD

  • rastreabilidade


EXEMPLO CORPORATIVO REAL

IDENTIFICATION DIVISION.
PROGRAM-ID. CRD0450.

AUTHOR. V BELLACOSA.
INSTALLATION. BANK XYZ.
DATE-WRITTEN. 2026-05-21.

REMARKS.
* PROCESSA BAIXA DE PARCELAS
* MODULO UTILIZADO NO FECHAMENTO D+1
* INTEGRADO COM CICS E DB2
* CHAMADO PELO SCHEDULER CA7

☕ POR QUE ISSO É IMPORTANTE?

Imagine:

Batch falhou às 02:15 da manhã.

Operação liga para suporte.

O operador precisa descobrir:

  • o que o programa faz

  • qual sistema impactado

  • qual cadeia batch

  • quem mantém

  • dependências

Sem IDENTIFICATION adequada:

  • caos

Com documentação:

  • troubleshooting rápido


☕ 2 — COMENTÁRIOS NÃO DEVEM EXPLICAR “O QUE”

Esse trecho do artigo é ouro puro.

Programador ruim comenta:

* SOMA VALOR
ADD WS-VALOR TO WS-TOTAL

Isso é inútil.

O COBOL já é quase inglês.


☕ O QUE DEVE SER COMENTADO?

REGRA DE NEGÓCIO

Exemplo bancário:

* BACEN CIRCULAR 4588
* JUROS DEVEM SER ESTORNADOS
* QUANDO LIQUIDACAO OCORRER EM D-1
* CHAMADO 458921 - TIME RISCO

IF WS-DT-LIQ < WS-DT-VENC
   SUBTRACT WS-JUROS
      FROM WS-SALDO
END-IF

Isso salva vidas em produção.

Porque explica:

  • por que existe

  • quem pediu

  • qual regra

  • qual auditoria

  • qual legislação


☕ 3 — NOMENCLATURA EM COBOL É CIÊNCIA

O texto explica muito bem padrões de nomes.

Em sistemas bancários grandes:

nomenclatura é arquitetura.


☕ EXEMPLO RUIM

01 X.
01 Y.
01 TOTAL1.
01 CONT.

Isso destrói manutenção.


☕ EXEMPLO ENTERPRISE

01 WS-VR-TOTAL-PAGAMENTO    PIC S9(13)V99 COMP-3.
01 WS-QT-PARCELAS-ATRASO    PIC 9(05) COMP.
01 WS-DT-LIQUIDACAO         PIC 9(08).
01 WS-ST-CLIENTE-INAD       PIC X(01).

Agora qualquer pessoa entende:

  • VR = valor

  • QT = quantidade

  • DT = data

  • ST = status


☕ PADRÃO BANCÁRIO MAIS COMUM

Prefixos clássicos

PrefixoSignificado
WSWorking-Storage
LKLinkage
DFHCICS
SQLDb2
INEntrada
OUTSaída
ACAcumulador
CTContador
FLGFlag

☕ 4 — EVALUATE É UMA DAS MAIORES ARMAS DO COBOL MODERNO

O artigo mostra um IF gigantesco.

Isso é MUITO comum em sistemas antigos.


☕ O PROBLEMA DOS IFs GIGANTES

Eles causam:

  • difícil manutenção

  • bugs

  • nesting infernal

  • scope errado

  • END-IF perdido

  • regressão


☕ COMO BANCOS MODERNIZAM ISSO?

Com:

EVALUATE WS-TP-MOVIMENTO

   WHEN '01'
      PERFORM 100-CREDITO

   WHEN '02'
      PERFORM 200-DEBITO

   WHEN '03'
      PERFORM 300-ESTORNO

   WHEN OTHER
      PERFORM 900-ERRO

END-EVALUATE

☕ BENEFÍCIOS

1. Legibilidade absurda

2. Menos bugs

3. Fácil inclusão de novas regras

4. Melhor debugging

5. Melhor análise de fluxo


☕ 5 — END-IF SALVOU O MAINFRAME

O artigo cita delimitadores de escopo.

Isso foi uma revolução.

Antes:

IF A = B
   IF C = D
      MOVE 1 TO X.

O ponto encerrava TUDO.

Isso gerava:

  • bugs monstruosos

  • IF acidentalmente fechado

  • corrupção lógica


☕ BOA PRÁTICA MODERNA

IF WS-SALDO > ZERO

   IF WS-LIMITE > ZERO
      PERFORM 100-LIBERA
   END-IF

END-IF

☕ REGRA DE OURO DOS BANCOS

NUNCA dependa de ponto para fechar escopo.

Sempre:

  • END-IF

  • END-EVALUATE

  • END-PERFORM

  • END-READ

  • END-EXEC


☕ 6 — CÓDIGO MORTO É VENENO CORPORATIVO

O artigo fala sobre código comentado antigo.

Isso é uma praga em mainframe.


☕ EXEMPLO REAL

* COMPUTE WS-JUROS = WS-SALDO * 0.12
MOVE ZERO TO WS-JUROS

10 anos depois:

  • ninguém sabe qual regra vale

  • auditoria confunde

  • manutenção vira inferno


☕ MELHOR PRÁTICA

Use:

  • ChangeMan

  • Endevor

  • Git

  • ISPW

Versionamento existe para isso.


☕ O CÓDIGO DEVE REPRESENTAR:

o presente

Não o passado arqueológico do sistema.


☕ 7 — COPYBOOKS: O DNA DO MAINFRAME

O artigo comenta reuso moderado.

Esse é um dos temas mais importantes do COBOL bancário.


☕ O QUE É COPYBOOK?

É um INCLUDE reutilizável.


☕ EXEMPLO

COPY CLIENTE.
COPY DFHAID.
COPY SQLCA.

☕ PRINCIPAIS COPYBOOKS BANCÁRIOS

1. Layouts de arquivos

CNAB:

  • 240

  • 400


2. Áreas CICS

DFHCOMMAREA

3. Estruturas Db2

DCLGEN

4. APIs corporativas

PIX
SWIFT
Open Finance


☕ PERIGO DO EXCESSO DE COPYBOOK

Já vi programas com:

  • 120 COPYs

  • impossível entender fluxo

Isso gera:

  • compilação lenta

  • impacto gigante

  • acoplamento monstruoso


☕ BOA PRÁTICA

Reuse:

  • layouts

  • APIs

  • estruturas comuns

  • tratamento corporativo

NÃO reuse:

  • lógica besta

  • MOVE ZERO

  • regras triviais


☕ 8 — COMP, COMP-3 E PERFORMANCE

O artigo toca num ponto extremamente avançado.

Muita gente não entende isso.


☕ DISPLAY vs COMP vs COMP-3

DISPLAY

PIC 9(10)

Armazenado:

  • caractere por caractere

Mais lento.


☕ COMP

PIC S9(9) COMP

Binário.

Muito mais rápido.

Ideal:

  • contadores

  • loops

  • índices


☕ COMP-3

PIC S9(11)V99 COMP-3

Packed decimal.

Perfeito para:

  • financeiro

  • bancos

  • dinheiro

Porque:

  • precisão decimal exata


☕ POR QUE BANCOS AMAM COMP-3?

Porque dinheiro NÃO pode ter erro binário.

Exemplo clássico:

Floating Point

0.1 + 0.2 = 0.3000000000004

Em banco:

  • isso seria catastrófico


☕ COBOL RESOLVE ISSO

Com decimal packed:

01 WS-VALOR PIC S9(09)V99 COMP-3.

Precisão decimal real.


☕ 9 — NÍVEL 88 É SUBESTIMADO

O artigo comenta condition names.

Isso é uma maravilha do COBOL.


☕ SEM NÍVEL 88

IF WS-ST-CLIENTE = 'A'

'A' significa o quê?


☕ COM NÍVEL 88

01 WS-ST-CLIENTE PIC X(01).

   88 CLIENTE-ATIVO VALUE 'A'.
   88 CLIENTE-BLOQUEADO VALUE 'B'.
   88 CLIENTE-INADIMPLENTE VALUE 'I'.

Agora:

IF CLIENTE-INADIMPLENTE

Fica quase inglês.


☕ 10 — PRINCIPAIS SOLUÇÕES BANCÁRIAS COBOL

Agora vamos entrar no mundo REAL Enterprise.


☕ ARQUITETURA MAIS COMUM EM BANCOS

ONLINE

CICS + COBOL + Db2

Processa:

  • saldo

  • PIX

  • TED

  • cartão

  • ATM

  • mobile


☕ BATCH

JCL + COBOL + SORT + IDCAMS + Db2 Utilities

Processa:

  • fechamento

  • extrato

  • billing

  • juros

  • risco

  • liquidação


☕ MIDDLEWARE

MQ
Kafka
IBM Integration Bus
z/OS Connect

Integra:

  • APIs

  • microsserviços

  • nuvem

  • mobile


☕ SEGURANÇA

RACF

Controla:

  • datasets

  • transações

  • usuários

  • APIs


☕ ALTA DISPONIBILIDADE

Sysplex
GDPS
Parallel Sysplex


☕ MONITORAMENTO

OMEGAMON
MainView
SYSVIEW


☕ DEVOPS MAINFRAME

Endevor
ISPW
Git + DBB
Jenkins
UrbanCode


☕ EXEMPLO REAL — TRANSAÇÃO PIX

PASSO A PASSO


1 — APP MOBILE

Cliente envia PIX.


2 — API GATEWAY

Chama:

  • z/OS Connect

  • MQ

  • CICS


3 — CICS

Executa transação COBOL.


4 — COBOL

Valida:

  • saldo

  • limite

  • antifraude

  • horário

  • BACEN


5 — Db2

Atualiza:

  • saldo

  • ledger

  • histórico


6 — MQ/Kafka

Publica evento.


7 — Batch Noturno

Concilia:

  • compensação

  • liquidação

  • auditoria


☕ O QUE ISSO ENSINA?

Que COBOL moderno NÃO vive isolado.

Ele é:

  • coração transacional

  • motor financeiro

  • camada de consistência


☕ CONCLUSÃO

O artigo enviado aborda algo fundamental:

boas práticas COBOL não existem para “embelezar código”.

Elas existem para:

  • manter sistemas vivos

  • reduzir risco operacional

  • evitar incidentes bancários

  • facilitar auditoria

  • garantir continuidade

  • permitir manutenção segura

E isso é exatamente o motivo pelo qual:

  • bancos

  • bolsas

  • seguradoras

  • governos

  • adquirentes

continuam confiando bilhões de dólares ao COBOL diariamente.


sexta-feira, 16 de agosto de 2013

☕🔥 EIBRESP no CICS — O “DNA” dos Erros e Respostas do Mainframe

 



☕🔥 EIBRESP no CICS — O “DNA” dos Erros e Respostas do Mainframe

No universo CICS, existe uma verdade absoluta:

“Se você não trata RESP e RESP2… o CICS tratará você.”

O campo EIBRESP é um dos mecanismos mais importantes do ambiente transacional IBM Mainframe.

Ele informa:

  • se o comando executou corretamente

  • qual erro ocorreu

  • qual condição excepcional aconteceu

  • se houve problema de terminal

  • erro de VSAM

  • problema de comunicação

  • rollback

  • timeout

  • lock

  • storage

  • autorização

  • spool

  • task

  • map

  • TSQ

  • TDQ

  • intersystem

  • e dezenas de outros cenários


☕ O que é EIBRESP?

O EIBRESP pertence ao:

EXEC CICS HANDLE CONDITION

e principalmente ao:

RESP()
RESP2()

Exemplo clássico:

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

Após o comando:

  • WS-RESP recebe o código principal

  • WS-RESP2 traz detalhes adicionais


☕ Por que isso é tão importante?

Porque no CICS:

Nem todo erro gera ABEND.

Na verdade:

  • a maioria dos problemas retorna EIBRESP

  • e o programa CONTINUA

Ou seja:

se você não tratar…

o sistema segue em frente silenciosamente.

Isso é perigosíssimo.


☕ Exemplo clássico de desastre

Imagine:

EXEC CICS READ FILE('CLIENTE')
END-EXEC

Registro não existe.

O CICS retorna:

RESP = 13 (NOTFND)

Mas o programador ignorou.

Resultado:

  • dados inválidos

  • tela lixo

  • cálculos incorretos

  • SQL errado

  • corrupção lógica

Sem abend.
Sem dump.
Sem aviso.

O erro fica “fantasma”.


☕ Arquitetura Interna do EIB

O EIB é:

EXEC Interface Block

Área automática criada pelo CICS para cada task.

Contém:

  • EIBRESP

  • EIBRESP2

  • EIBTRNID

  • EIBTASKN

  • EIBTIME

  • EIBDATE

  • EIBAID

  • EIBCALEN

  • EIBFN

  • etc.

É literalmente o “contexto vivo” da transação.


☕ O fluxo REAL do CICS

Internamente:

Programa envia comando EXEC CICS
↓
Translator converte para CALL DFHEI1
↓
Kernel EXEC Interface processa
↓
Resource Manager executa
↓
Retorno é gravado em EIBRESP
↓
Programa decide o que fazer

Ou seja:

EIBRESP é praticamente o “status code” do kernel CICS.


☕ As categorias dos EIBRESP

Os códigos podem ser agrupados em:

CategoriaExemplos
Arquivo VSAMNOTFND, DUPKEY, ENDFILE
ComunicaçãoTERMERR, SYSIDERR
StorageNOSTG
SegurançaNOTAUTH
QueueQZERO, QBUSY
MAP/BMSMAPFAIL
ProgramasPGMIDERR
TransaçõesTRANSIDERR
SyncpointROLLEDBACK
InterSystemISCINVREQ

☕ Os códigos MAIS IMPORTANTES do mundo real


🔥 01 — ERROR

Erro genérico.

Normalmente significa:

  • comando falhou

  • condição inesperada

  • sem tratamento específico

Exemplo:

IF WS-RESP = DFHRESP(ERROR)

Curiosidade:

Muitos dumps antigos de CICS começam aqui.


🔥 13 — NOTFND

O mais famoso de todos.

Registro não encontrado.

Exemplo:

EXEC CICS READ
     FILE('CLIENTE')
     RIDFLD(WS-ID)
     RESP(WS-RESP)
END-EXEC

Se chave não existir:

RESP = 13

☕ Analogia real

É o equivalente mainframe de:

SELECT * FROM TABELA
WHERE ID=999

Sem linhas retornadas.


☕ Dica profissional

TODO READ deveria tratar:

EVALUATE WS-RESP
   WHEN DFHRESP(NORMAL)
      CONTINUE

   WHEN DFHRESP(NOTFND)
      MOVE 'N' TO WS-EXISTE

   WHEN OTHER
      PERFORM 9000-ERRO
END-EVALUATE

🔥 14 — DUPREC

Registro duplicado.

Muito comum em ESDS/RRDS.


🔥 15 — DUPKEY

Chave duplicada no KSDS.

Clássico de cadastro.

Exemplo:

EXEC CICS WRITE
     FILE('CLIENTE')

Tentou inserir chave já existente.


☕ Curiosidade

Em muitos bancos:

  • o COBOL captura DUPKEY

  • e transforma em mensagem amigável:

CLIENTE JÁ CADASTRADO

Sem o usuário perceber que foi um erro VSAM.


🔥 16 — INVREQ

“Invalid Request”.

Talvez o erro MAIS traiçoeiro do CICS.

Significa:

“Você pediu algo inválido para ESTE contexto.”

Exemplos:

  • READ sem arquivo aberto

  • START inválido

  • LINK incorreto

  • COMMAREA errada

  • comando proibido


☕ Easter Egg técnico

Grande parte dos:

AEI*

internamente começa com INVREQ.


🔥 17 — IOERR

Erro físico/lógico de I/O.

Pode indicar:

  • VSAM corrompido

  • CI quebrado

  • erro disco

  • problema buffer

  • catálogo inconsistente

Quando aparece:

⚠️ operadores começam a ficar nervosos.


🔥 18 — NOSPACE

Sem espaço.

Pode ocorrer em:

  • TSQ

  • TDQ

  • datasets

  • spool

  • buffers

Muito comum em ambientes mal dimensionados.


🔥 22 — LENGERR

Erro de tamanho.

Lenda absoluta do CICS.

Exemplo clássico:

EXEC CICS RECEIVE
     MAP('TELA1')
     INTO(WS-AREA-100)
END-EXEC

Mas o mapa possui 120 bytes.

Boom:

LENGERR

☕ O terror do COBOL antigo

Copys desatualizadas.

O mapa mudou.
O programa não recompilou.

Resultado:

RESP=22

🔥 25 — QBUSY

Queue ocupada.

Muito comum em concorrência pesada.


🔥 27 — PGMIDERR

Programa não encontrado.

Causas:

  • PPT errado

  • programa não instalado

  • nome incorreto

  • loadlib ausente

Exemplo:

EXEC CICS LINK
     PROGRAM('PGMXYZ')

Se não existir:

PGMIDERR

☕ Curiosidade histórica

Nos anos 80:

PGMIDERR era um dos erros mais comuns em produção noturna.

Especialmente após promotes manuais.


🔥 28 — TRANSIDERR

Transação inexistente.

Exemplo:

EXEC CICS START
     TRANSID('ABCD')

Se não existir no PCT:

TRANSIDERR

🔥 29 — ENDDATA

Fim de dados.

Muito comum em:

  • TSQ

  • TDQ

  • browse

Equivalente ao EOF lógico.


🔥 36 — MAPFAIL

Talvez o mais famoso do BMS.

Ocorre quando:

  • usuário pressionou ENTER sem dados

  • MDT desligado

  • campo vazio

  • RECEIVE não trouxe informação


☕ Exemplo REAL

Usuário entra na tela:

CPF: ________

Pressiona ENTER vazio.

CICS:

MAPFAIL

☕ Dica profissional importantíssima

Nunca trate MAPFAIL como erro fatal.

É fluxo normal de tela.


🔥 40 — OVERFLOW

Overflow de armazenamento/dados.

Pode ocorrer em:

  • TSQ

  • COMMAREA

  • buffers


🔥 42 — NOSTG

Sem storage.

Extremamente sério.

O CICS está sem memória suficiente.

Operações podem começar a degradar rapidamente.


☕ Bastidores

Quando NOSTG aparece em sequência:

  • SOS condition

  • short-on-storage

  • risco de região cair

É situação crítica.


🔥 44 — QIDERR

Queue inexistente.

Muito comum em TSQ/TDQ.


🔥 53 — SYSIDERR

Erro de sistema remoto.

Clássico em:

  • MRO

  • ISC

  • IPIC

  • APPC

O sistema remoto:

  • caiu

  • não respondeu

  • não existe

  • sessão falhou


🔥 70 — NOTAUTH

Falha de autorização.

O RACF disse:

NO.

☕ Integração CICS + RACF

Aqui ocorre:

  • verificação de transação

  • FILE

  • TDQ

  • TSQ

  • PROGRAM

  • SURROGAT

  • resources


🔥 73 — WRONGSTAT

Estado inválido.

Muito comum em sessões/APPC.


🔥 76 — CCERROR

Erro de controle de comunicação.


🔥 77 — MAPERROR

Erro estrutural de mapa.

Diferente de MAPFAIL.

MAPERROR normalmente significa:

  • definição inconsistente

  • estrutura inválida

  • problema BMS


🔥 80 — NOSPOOL

Sem spool.

Muito comum em ambientes JES saturados.


🔥 81 — TERMERR

Erro terminal/dispositivo.

Pode indicar:

  • sessão caiu

  • VTAM problemático

  • LU desconectada

  • timeout terminal


🔥 82 — ROLLEDBACK

Rollback executado.

Um dos mais importantes do mundo transacional.

Significa:

SUAS ALTERAÇÕES FORAM DESFEITAS

☕ Cenário clássico

UPDATE CONTA A
UPDATE CONTA B
ERRO NO FINAL
SYNCPOINT ROLLBACK

CICS:

ROLLEDBACK

🔥 84 — DISABLED

Recurso desabilitado.

Pode ser:

  • FILE

  • TRANSACTION

  • TERMINAL

  • PROGRAM

  • CONNECTION


☕ A diferença entre RESP e RESP2

RESP:

erro genérico

RESP2:

detalhamento interno

Exemplo:

RESP  = INVREQ
RESP2 = 8

Cada RESP2 possui significado específico.

É aí que mora o troubleshooting avançado.


☕ Exemplo profissional completo

EXEC CICS READ
     FILE('CLIENTE')
     RIDFLD(WS-CHAVE)
     INTO(WS-REG)
     RESP(WS-RESP)
     RESP2(WS-RESP2)
END-EXEC

EVALUATE WS-RESP

   WHEN DFHRESP(NORMAL)
      CONTINUE

   WHEN DFHRESP(NOTFND)
      MOVE 'CLIENTE INEXISTENTE'
        TO WS-MSG

   WHEN DFHRESP(NOTAUTH)
      MOVE 'SEM AUTORIZACAO'
        TO WS-MSG

   WHEN OTHER
      DISPLAY 'RESP=' WS-RESP
      DISPLAY 'RESP2=' WS-RESP2
      PERFORM 9999-ABEND

END-EVALUATE

☕ Dica de arquiteto CICS

Os melhores sistemas enterprise:

✅ tratam TODOS os RESP
✅ logam RESP2
✅ possuem tabelas de tradução
✅ transformam erro técnico em mensagem funcional
✅ evitam abends desnecessários


☕ Curiosidade histórica

Antes do uso massivo de:

RESP()

muitos programas dependiam de:

HANDLE CONDITION

Isso tornava o fluxo:

  • difícil de rastrear

  • cheio de GO TO

  • quase impossível de debugar

RESP revolucionou o tratamento moderno.


☕ Easter Egg Mainframe

Veteranos conseguem identificar problemas olhando apenas:

AEI9
AEY9
ASRA
MAPFAIL
INVREQ
PGMIDERR

É quase uma linguagem secreta do CICS.


☕ Regra de ouro do CICS

“O comando EXEC CICS nunca deve ser confiado cegamente.”

Sempre:

  • RESP

  • RESP2

  • HANDLE CONDITION

  • HANDLE ABEND

Porque no mundo transacional:

o programa pode continuar funcionando…

mesmo completamente errado.

sexta-feira, 11 de maio de 2012

Red Sonja : Quando um Programador Descobre que a Guerreira de Cabelos Rubros Também Ensina Arquitetura, Resiliência e a Arte de Nunca Depender de uma Única Ferramenta

 

Bellacosa Mainframe apresenta Red Sonja

☕ Um Café no Bellacosa Mainframe

Red Sonja sem Mistérios para Programadores COBOL

Quando um Programador Descobre que a Guerreira de Cabelos Rubros Também Ensina Arquitetura, Resiliência e a Arte de Nunca Depender de uma Única Ferramenta

"Há profissionais que vencem porque possuem a melhor tecnologia. Outros vencem porque aprenderam a sobreviver quando toda a tecnologia falha."


Introdução – Existe uma Red Sonja em Todo Ambiente Mainframe

Se você perguntar para um fã de fantasia quem é Red Sonja, provavelmente ouvirá uma resposta rápida:

"A guerreira ruiva da espada."

Mas essa definição é tão incompleta quanto dizer que COBOL é apenas uma linguagem de programação.

Red Sonja representa muito mais.

Ela simboliza independência.

Disciplina.

Treinamento.

Resiliência.

Capacidade de adaptação.

Coragem diante do impossível.

Curiosamente...

Essas também são algumas das características que diferenciam um programador COBOL comum de um verdadeiro especialista em sistemas críticos.

No universo do Bellacosa Mainframe, Red Sonja não é apenas uma personagem de espada e feitiçaria.

Ela representa o profissional que nunca espera que alguém resolva seus problemas.

Ela aprende.

Treina.

Cai.

Levanta.

Estuda novamente.

E volta ainda melhor.

Essa filosofia acompanha o mundo do mainframe desde seus primeiros dias.


Antes de Tudo: Quem é Red Sonja?

Aqui existe uma curiosidade histórica que costuma gerar confusão.

A Red Sonja famosa dos quadrinhos não foi criada diretamente por Robert E. Howard.

Howard escreveu, em 1934, um conto histórico chamado The Shadow of the Vulture.

Nele aparece uma personagem chamada Red Sonya de Rogatino.

Ela era uma guerreira do século XVI, durante o Cerco de Viena.

Décadas depois, em 1973, o roteirista Roy Thomas e o artista Barry Windsor-Smith, trabalhando para a Marvel Comics, adaptaram essa ideia e criaram Red Sonja, ambientando-a no universo da Era Hiboriana de Conan.

Foi uma transformação brilhante.

Mantiveram:

  • os cabelos vermelhos;

  • a personalidade feroz;

  • a habilidade incomum com espadas.

Mas transportaram tudo para um universo de fantasia heroica.

Resultado?

Nascia uma das personagens femininas mais importantes da história dos quadrinhos.


Easter Egg nº 1

Muita gente acredita que Red Sonja nasceu junto com Conan.

Na realidade, a personagem moderna é uma adaptação inspirada em Red Sonya de Rogatino, criada por Robert E. Howard, mas desenvolvida como heroína da Era Hiboriana por Roy Thomas e Barry Windsor-Smith.

É um excelente exemplo de como uma boa arquitetura pode ser expandida por outras gerações sem perder sua essência.


O Que Red Sonja Ensina ao Programador COBOL?

Conan normalmente resolve problemas pela força.

Kull pela liderança.

Solomon Kane pela investigação.

Red Sonja pela preparação.

Ela jamais entra em combate sem conhecer:

  • o terreno;

  • o inimigo;

  • seus próprios limites.

Isso lembra imediatamente um bom profissional de produção.

Antes de alterar um programa COBOL ele pergunta:

  • Existe impacto em outros JOBs?

  • Quem consome este COPYBOOK?

  • Existe alguma interface MQ?

  • O Db2 possui índices adequados?

  • O VSAM é compartilhado?

  • Há janela de processamento suficiente?

Essas perguntas evitam inúmeros desastres.


A Espada é Apenas uma Ferramenta

Existe um erro comum.

Imaginar que Red Sonja vence porque possui uma espada.

Não.

Ela vence porque sabe utilizá-la.

No mundo da tecnologia acontece exatamente o mesmo.

IDE.

Git.

VS Code.

ISPF.

IDz.

Python.

Java.

COBOL.

Tudo isso são ferramentas.

Ferramentas não substituem conhecimento.

Um profissional excelente usando um editor simples normalmente produz mais do que um iniciante cercado pelas tecnologias mais modernas.


A Armadura Não Faz o Guerreiro

Ao longo das décadas, Red Sonja tornou-se conhecida também por sua armadura icônica.

Visualmente é marcante.

Mas narrativamente ela nunca depende da armadura.

Depende do treinamento.

Isso lembra um fenômeno comum em TI.

Muitos acreditam que determinada ferramenta "garante qualidade".

Não garante.

Quem garante qualidade é o profissional.

Ferramentas apenas potencializam competências já existentes.


Easter Egg nº 2

Barry Windsor-Smith, um dos artistas responsáveis pelas primeiras aventuras de Conan e Red Sonja na Marvel, revolucionou o visual da fantasia heroica nos quadrinhos, influenciando ilustradores por décadas.

Seu traço inspirou inúmeros artistas europeus, americanos e japoneses.


O Treinamento Nunca Termina

Uma característica marcante de Red Sonja é que ela nunca considera seu aprendizado concluído.

Cada adversário ensina algo.

Cada derrota revela uma fraqueza.

Cada vitória mostra um novo desafio.

Esse talvez seja o maior ensinamento para quem trabalha com COBOL.

O profissional que acredita saber tudo começa a envelhecer tecnicamente.

O veterano verdadeiro continua aprendendo.

Hoje estuda:

  • APIs REST;

  • z/OS Connect;

  • Ansible;

  • Git;

  • Jenkins;

  • IA aplicada ao desenvolvimento;

  • observabilidade;

  • DevOps.

Não porque abandonou COBOL.

Mas porque COBOL continua evoluindo junto com o restante da arquitetura.


A Independência Técnica

Red Sonja raramente depende de um grupo.

Ela coopera quando necessário.

Mas sabe caminhar sozinha.

No mundo corporativo isso possui enorme valor.

Imagine alguém capaz de:

  • analisar um dump;

  • entender um JCL;

  • revisar SQL;

  • interpretar SMF;

  • investigar RACF;

  • localizar gargalos em CICS.

Esse profissional torna-se extremamente valioso.

Não porque faz tudo sozinho.

Mas porque compreende o ecossistema inteiro.


O Campo de Batalha é Produção

Nos contos de fantasia o combate acontece em florestas, fortalezas e ruínas.

No mainframe o campo de batalha possui outro nome:

Produção.

É ali que aparecem:

ABEND S0C7.

Deadlocks.

Timeouts.

Problemas de lock.

Fila MQ congestionada.

VSAM corrompido.

Plano Db2 inválido.

Nenhum treinamento substitui a experiência adquirida enfrentando produção real.


Easter Egg nº 3

Assim como Conan, Red Sonja passou por diversas editoras ao longo das décadas.

Marvel, Dynamite Entertainment e outras publicaram fases diferentes da personagem, mantendo-a viva para novas gerações de leitores.


A Disciplina da Espadachim

Howard e, depois, Roy Thomas apresentam uma característica interessante.

Red Sonja raramente vence pela impulsividade.

Ela observa.

Calcula.

Espera o momento correto.

Pense em um programador experiente.

Ele não altera imediatamente um IF.

Primeiro verifica:

qual módulo chama o programa;

quem consome o arquivo;

quais JOBs dependem da alteração;

quais interfaces serão afetadas.

Essa disciplina evita incidentes gigantescos.


Os Vilões Nunca São Apenas Monstros

Nas boas histórias de Red Sonja, os inimigos não são apenas criaturas fantásticas.

São também:

tiranos;

mercadores corruptos;

feiticeiros manipuladores;

governantes incompetentes;

chefes militares arrogantes.

Isso lembra muito projetos de software.

Pouquíssimos sistemas falham por culpa da linguagem.

Normalmente falham por:

requisitos mal definidos;

falta de comunicação;

pressa;

ausência de testes;

má governança.

O monstro raramente é o COBOL.


Curiosidades Pouco Conhecidas

A personagem histórica existiu?

Red Sonya de Rogatino foi inspirada em eventos históricos reais ligados ao Cerco de Viena de 1529, embora a personagem literária seja ficcional.


Red Sonja e Conan nem sempre caminharam juntos

Apesar de frequentemente associados, cada um possui histórias próprias, personalidade distinta e objetivos diferentes.


A personagem tornou-se um ícone

Durante décadas Red Sonja foi uma das protagonistas femininas mais importantes da fantasia heroica, influenciando inúmeras guerreiras em RPGs, videogames e quadrinhos.


A influência chegou aos games

Diversos jogos inspirados em fantasia medieval herdaram elementos visuais e narrativos associados à personagem: heroínas independentes, espadachins habilidosos e protagonistas que enfrentam impérios inteiros.


A Filosofia da Guerreira

Existe algo profundamente moderno em Red Sonja.

Ela nunca espera condições perfeitas.

Nunca diz:

"Vou aprender quando tiver tempo."

"Vou estudar quando a empresa pagar."

"Vou começar quando comprar um computador melhor."

Ela começa.

Com o que possui.

É exatamente assim que muitos veteranos do mainframe construíram suas carreiras.

Aprenderam em terminais 3270.

Consultando manuais impressos.

Perguntando aos mais experientes.

Errando.

Corrigindo.

E evoluindo.


A Espada e o Código

Uma espada precisa ser constantemente afiada.

O conhecimento também.

Quem para de estudar perde velocidade.

Quem deixa de praticar esquece detalhes importantes.

Quem acredita que já domina tudo normalmente é surpreendido pela próxima tecnologia.

O mesmo vale para COBOL.

Ele continua recebendo novas funcionalidades.

Integrações.

Boas práticas.

Ferramentas modernas.

Quem acompanha essa evolução permanece relevante.


O Legado para o Mainframe

Em ambientes IBM Z existe uma figura conhecida por todos.

É aquela pessoa que enfrenta qualquer incidente sem entrar em pânico.

Primeiro analisa.

Depois testa.

Confirma.

Documenta.

Resolve.

Red Sonja provavelmente faria exatamente isso.

Ela nunca luta por impulso.

Ela luta preparada.


Easter Egg nº 4

Enquanto muitos personagens da fantasia heroica representam força física, Red Sonja tornou-se símbolo de competência conquistada por treinamento. Essa diferença explica por que continua relevante mais de cinquenta anos após sua criação moderna.


O Verdadeiro Tesouro

No fim das contas, Red Sonja nunca buscou riqueza acima de tudo.

O verdadeiro prêmio sempre foi a liberdade.

No universo da tecnologia acontece algo semelhante.

O maior patrimônio de um programador não é o notebook.

Nem a IDE.

Nem o cargo.

Nem o salário.

É o conhecimento acumulado.

Esse ninguém consegue retirar.


Conclusão – A Espadachim do Mainframe

Quando observamos a trajetória de Red Sonja sob a ótica de um profissional COBOL, percebemos que sua história nunca foi apenas sobre batalhas.

Ela é uma metáfora sobre preparação.

Sobre disciplina.

Sobre competência construída diariamente.

Conan nos ensina coragem diante do desconhecido.

Kull nos ensina liderança quando a responsabilidade aumenta.

Solomon Kane nos ensina investigação antes da ação.

Red Sonja acrescenta um quarto pilar essencial: excelência obtida por treinamento contínuo.

Em um ambiente mainframe, onde uma única alteração pode impactar milhões de transações, essa filosofia faz toda a diferença. O profissional que revisa, testa, documenta e entende profundamente o contexto de cada mudança raramente depende da sorte. Ele confia na prática, no estudo e na experiência acumulada.

Talvez seja esse o verdadeiro elo entre uma guerreira da Era Hiboriana e um programador COBOL.

Ambos sabem que ferramentas mudam.

Espadas enferrujam.

Frameworks envelhecem.

Editores de código são substituídos.

Mas conhecimento sólido, disciplina e capacidade de adaptação continuam atravessando gerações.

E é justamente por isso que Red Sonja permanece viva na cultura pop e o COBOL continua sustentando alguns dos sistemas mais importantes do planeta.

Porque tanto uma grande guerreira quanto um grande programador descobrem, cedo ou tarde, a mesma verdade:

a vitória nunca pertence à melhor espada. Ela pertence à mente mais preparada para utilizá-la.

sexta-feira, 6 de maio de 2011

Solomon Kane : Quando um Programador Descobre que o Maior Caçador de Sombras da Literatura Também Era um Mestre em Auditoria, Investigação e Segurança de Sistemas

 

Bellacosa Mainframe apresenta Solomon Kane

☕ Um Café no Bellacosa Mainframe

Solomon Kane sem Mistérios para Programadores COBOL

Quando um Programador Descobre que o Maior Caçador de Sombras da Literatura Também Era um Mestre em Auditoria, Investigação e Segurança de Sistemas

"Nem todo inimigo chega empunhando uma espada. Alguns chegam disfarçados de rotina, exceção não tratada ou privilégio concedido sem revisão."


Introdução – Antes dos Analistas de Segurança Existia Solomon Kane

Existe uma pergunta curiosa.

Se Conan representa o programador que enfrenta desafios de frente...

E Kull representa o arquiteto que governa sistemas complexos...

Quem representaria o profissional que vive investigando incidentes, procurando vulnerabilidades e eliminando ameaças antes que elas destruam o ambiente?

A resposta foi escrita quase um século atrás por Robert E. Howard.

Seu nome era Solomon Kane.

Curiosamente, Kane nunca foi o mais forte.

Nunca foi o mais rico.

Nunca foi rei.

Nunca liderou exércitos.

Seu verdadeiro poder era outro.

Ele nunca desistia enquanto existisse uma injustiça sem explicação.

Se Conan lembra um excelente desenvolvedor COBOL...

Solomon Kane lembra imediatamente:

  • o analista de produção;

  • o especialista em RACF;

  • o auditor;

  • o profissional de segurança;

  • o investigador de ABENDs;

  • o caçador de bugs impossíveis.

Ele não luta por glória.

Luta porque alguém precisa impedir que o mal continue funcionando.

No mundo do mainframe...

isso soa incrivelmente familiar.


Quem foi Solomon Kane?

Robert E. Howard criou Solomon Kane em 1928.

Ou seja...

antes de Conan.

Antes de Kull alcançar fama.

Antes mesmo da fantasia heroica tornar-se um gênero consolidado.

Kane vive no século XVI.

É inglês.

Puritano.

Viaja sozinho pelo mundo.

Cruza:

  • Inglaterra

  • França

  • Alemanha

  • África

  • Espanha

  • florestas

  • desertos

  • castelos

  • ruínas

Não procura aventuras.

As aventuras o encontram.


Kane Nunca Procura Problemas

Existe algo muito interessante.

Conan normalmente procura tesouros.

Kull procura estabilidade para seu reino.

Kane...

procura respostas.

Ele vê uma aldeia destruída.

Investiga.

Encontra rastros.

Analisa testemunhas.

Reconstrói acontecimentos.

Somente depois enfrenta o inimigo.

Isso lembra alguma rotina?

Claro.

É exatamente um processo de investigação de incidente.


Imagine um ambiente CICS.

Usuários reclamam.

O sistema trava.

Nenhum erro evidente.

Nenhum dump.

Nenhum ABEND.

Apenas lentidão.

O profissional comum tenta reiniciar tudo.

Solomon Kane faria diferente.

Primeiro perguntaria:

Quem foi o primeiro afetado?

Quando começou?

O que mudou?

Qual região foi impactada?

Existe padrão?

Há quanto tempo?

Essa forma de pensar diferencia um verdadeiro especialista.


A Espada e a Bíblia

Kane carrega duas coisas.

Uma espada.

Uma Bíblia.

Parece contraditório.

Mas não é.

A espada representa ação.

A Bíblia representa princípios.

Um bom profissional de tecnologia também vive esse equilíbrio.

Ferramentas sem ética são perigosas.

Conhecimento sem responsabilidade também.


O Diário do Investigador

Em praticamente todas as aventuras Kane observa detalhes.

Pegadas.

Objetos.

Expressões.

Mentiras.

Silêncios.

O profissional COBOL faz exatamente isso.

Lê:

SYSOUT.

JESMSGLG.

JESJCL.

SQLCA.

SMF.

RMF.

LOGREC.

SYSLOG.

Cada arquivo conta uma parte da história.

Nenhum sozinho revela toda a verdade.


Easter Egg nº 1

Muito antes de CSI existir na televisão...

Howard já escrevia histórias baseadas em investigação lógica.

A diferença é que o laboratório forense era uma floresta medieval.


O Primeiro Analista de Segurança?

Pense em Kane durante alguns minutos.

Ele atravessa fronteiras.

Investiga crimes.

Descobre conspirações.

Enfrenta cultos secretos.

Impede organizações ocultas.

Isso lembra muito um profissional moderno de Cyber Security.

Não por acaso muitos fãs o consideram um precursor desse arquétipo.


Os Monstros São Vulnerabilidades

Howard nunca escreveu monstros apenas para assustar.

Cada criatura simboliza algo.

Ganância.

Medo.

Fanatismo.

Corrupção.

Mentira.

No ambiente corporativo também existem monstros.

Nem sempre possuem dentes.

Às vezes aparecem como:

  • senha compartilhada;

  • privilégio excessivo;

  • backup inexistente;

  • documentação perdida;

  • acesso genérico;

  • ambiente sem segregação.

Parecem pequenos.

Até produzirem um desastre.


Easter Egg nº 2

Howard era fascinado por História.

Grande parte dos lugares visitados por Kane realmente existe.

Ele misturava geografia real com horror sobrenatural.

Da mesma forma que um ambiente z/OS mistura tecnologia moderna com decisões tomadas quarenta anos atrás.


RACF Também Tem Caçadores

Existe um momento na carreira em que o profissional deixa de criar funcionalidades.

Passa a proteger aquilo que já existe.

É exatamente a missão de Kane.

No mundo IBM Z isso lembra especialistas em:

RACF.

SAF.

ACF2.

Top Secret.

Auditoria.

Compliance.

Governança.

São pessoas que raramente aparecem.

Mas quando falham...

toda organização sofre.


O Castelo Assombrado é Produção

Quase toda história de Kane possui um castelo.

Escuro.

Silencioso.

Cheio de passagens ocultas.

Segredos.

Portas escondidas.

Parece um ambiente legado.

Documentação incompleta.

COPYBOOK desaparecido.

JCL criado em 1987.

Parâmetros desconhecidos.

Ninguém sabe por que funciona.

Mas funciona.

Até deixar de funcionar.


Kane Nunca Assume

Essa talvez seja sua maior qualidade.

Ele nunca conclui antes de investigar.

No mundo moderno chamamos isso de:

evidência.

observabilidade.

telemetria.

diagnóstico.

Um excelente programador COBOL também trabalha assim.

Nunca altera código baseado em suposição.

Primeiro encontra fatos.

Depois toma decisões.


Easter Egg nº 3

Howard criou Kane numa época em que Sherlock Holmes já era famoso.

Mesmo assim Kane investiga de forma completamente diferente.

Holmes usa ciência.

Kane usa experiência.

No mainframe precisamos das duas.


Os Demônios Invisíveis

Os inimigos de Kane raramente aparecem imediatamente.

Primeiro existem sintomas.

Depois pistas.

Depois desaparecimentos.

Somente muito depois surge o verdadeiro responsável.

Não lembra um bug intermitente?

Você recebe apenas relatos.

Nunca consegue reproduzir.

O erro acontece uma vez por mês.

Sempre em produção.

Jamais em homologação.

Esse é o verdadeiro demônio.


A África de Kane

Diversas histórias acontecem na África.

Howard não a descreve apenas como cenário.

Ela representa território desconhecido.

Exploração.

Adaptação.

Aprendizado.

Todo profissional passa por isso.

Primeiro cliente.

Primeiro banco.

Primeira seguradora.

Primeiro governo.

Primeiro ambiente CICS.

Primeiro Db2.

Primeiro MQ.

Cada projeto é um continente novo.


A Lanterna do Investigador

Existe um símbolo recorrente.

Kane frequentemente utiliza luz para revelar o escondido.

No desenvolvimento essa lanterna possui vários nomes.

TRACE.

DISPLAY.

LOG.

MONITOR.

SMF.

RMF.

DEBUG.

Todos servem para iluminar aquilo que antes era invisível.


Curiosidades Pouco Conhecidas

Solomon Kane influenciou personagens modernos

Diversos estudiosos enxergam ecos de Kane em:

  • Van Helsing;

  • The Witcher (Geralt);

  • Hellboy;

  • Blade;

  • diversos caçadores sobrenaturais dos quadrinhos.


Howard escreveu poucas histórias

Apesar da fama crescente, Kane possui relativamente poucos contos comparado a Conan.

Mesmo assim seu impacto foi enorme.


Kane envelhece emocionalmente

Cada aventura deixa marcas.

Howard descreve um personagem cada vez mais experiente.

Muito parecido com profissionais veteranos.


Não existe humor gratuito

As histórias de Kane são sérias.

Atmosfera pesada.

Investigação constante.

Silêncio.

Suspense.

É praticamente um thriller sobrenatural.


Kane e o Dump

Receber um dump lembra encontrar um cadáver.

Ele não responde perguntas.

Mas guarda todas as respostas.

O investigador precisa saber interpretar.

Um iniciante vê milhares de bytes.

Um veterano vê uma narrativa completa.

Foi exatamente assim que Kane trabalhava.


O Maior Vilão

É curioso observar que Kane raramente luta apenas contra criaturas sobrenaturais.

Seu verdadeiro inimigo quase sempre é o ser humano.

Ganância.

Traição.

Ambição.

Fanatismo.

Mentira.

No desenvolvimento de software acontece exatamente igual.

Pouquíssimos incidentes acontecem porque COBOL falhou.

Grande parte nasce de:

especificação errada.

mudança sem teste.

deploy incompleto.

documentação ausente.

configuração incorreta.

permissão excessiva.

A tecnologia normalmente apenas revela erros humanos.


O Chapéu Preto

Visualmente Kane possui um dos desenhos mais marcantes da literatura.

Chapéu largo.

Roupas negras.

Espada.

Pistolas.

Olhar cansado.

É impossível não imaginar um administrador de produção entrando às duas da manhã para resolver um incidente crítico.

Não existe glamour.

Existe responsabilidade.


O Mainframe Também Possui Caçadores

Todo grande ambiente IBM Z possui alguém conhecido por uma característica curiosa.

Quando ninguém consegue descobrir a origem de um problema...

essa pessoa é chamada.

Ela olha cinco minutos.

Faz três perguntas.

Abre dois logs.

Consulta um SMF.

Lê um dump.

E encontra o problema.

Não porque tenha poderes.

Mas porque aprendeu a investigar.

Solomon Kane faria exatamente igual.


A Filosofia de Solomon Kane para um Programador COBOL

Existe uma frase implícita em praticamente todas as aventuras de Kane:

"A verdade sempre deixa rastros."

Essa talvez seja a maior lição para quem trabalha com sistemas críticos.

Incidentes deixam evidências.

Fraudes deixam evidências.

ABENDs deixam evidências.

Deadlocks deixam evidências.

SQLCODEs deixam evidências.

Mesmo quando parecem desaparecer.

O verdadeiro especialista não adivinha.

Ele reconstrói os fatos.

Pergunta.

Confirma.

Valida.

Somente depois modifica o sistema.

Essa mentalidade transforma um simples programador em um profissional capaz de proteger operações que movimentam bilhões de reais diariamente.


Conclusão – O Guardião Invisível do Mainframe

Conan ensina coragem.

Kull ensina liderança.

Solomon Kane ensina investigação.

Ele nos mostra que o conhecimento mais valioso não é escrever rapidamente uma solução, mas compreender profundamente a origem de um problema antes de agir. Em um ambiente COBOL, onde sistemas processam contas bancárias, aposentadorias, seguros, impostos e milhões de transações todos os dias, essa postura faz toda a diferença.

Howard criou Solomon Kane quase cem anos atrás, mas sua filosofia continua surpreendentemente atual. O profissional que mais agrega valor em um ambiente crítico não é necessariamente quem produz mais linhas de código, e sim quem consegue manter a confiabilidade do sistema, descobrir a causa raiz de um incidente, proteger os dados e impedir que o mesmo erro volte a acontecer.

Todo programador COBOL começa sua jornada como Conan, enfrentando desafios com coragem. Alguns evoluem para Kull, assumindo responsabilidades de arquitetura e governança. Mas os verdadeiros guardiões da produção acabam adquirindo algo de Solomon Kane: a disciplina de investigar antes de concluir, a paciência de seguir cada pista e a convicção de que toda falha possui uma história esperando para ser decifrada.

Porque, no universo do mainframe, os maiores monstros raramente aparecem empunhando espadas.

Eles preferem esconder-se em um JCL esquecido, em um privilégio RACF concedido anos atrás, em uma rotina que ninguém revisa desde a década de 1990 ou em um dump que todos ignoraram.

E é justamente nesse momento que surge o verdadeiro caçador de sombras do IBM Z: o profissional que acende a lanterna da investigação, segue os rastros até a origem do problema e devolve a estabilidade ao reino digital.

Como Solomon Kane faria.

quinta-feira, 5 de maio de 2011

Kull de Valúsia : Quando um Programador Descobre que Antes de Conan Já Existia um Rei Lutando Contra Sistemas Legados, Burocracias e Mudanças de Produção

 

Bellacosa Mainframe apresenta Kull da Valusia

☕ Um Café no Bellacosa Mainframe

Kull de Valúsia sem Mistérios para Programadores COBOL

Quando um Programador Descobre que Antes de Conan Já Existia um Rei Lutando Contra Sistemas Legados, Burocracias e Mudanças de Produção

"A espada derrota um inimigo. O conhecimento derrota um império inteiro."


Introdução – Antes de Conan Existia Kull

Quando se fala em Robert E. Howard, quase todo mundo imediatamente pensa em Conan, o Bárbaro.

É natural.

Conan tornou-se um fenômeno mundial.

Cinema.

Quadrinhos.

Jogos.

RPG.

Desenhos.

Milhões de livros vendidos.

Mas existe um segredo que muitos fãs desconhecem.

Conan não foi o primeiro.

Antes dele existiu outro bárbaro.

Um personagem ainda mais filosófico.

Mais introspectivo.

Mais político.

Mais complexo.

Seu nome era Kull de Atlântida, conhecido posteriormente como Kull de Valúsia.

Se Conan representa o profissional que aprende sobrevivendo em ambientes hostis...

Kull representa algo diferente.

Ele representa o profissional que finalmente chega ao topo da carreira...

...e descobre que o verdadeiro problema nunca foi escrever código.

O verdadeiro problema é governar sistemas.

Se Conan é o excelente programador COBOL...

Kull é o arquiteto.

É o líder técnico.

É o gerente de produção.

É o responsável por ambientes críticos.

E acredite...

Essa é uma aventura muito mais difícil.


Quem foi Kull?

Robert E. Howard criou Kull alguns anos antes de Conan.

Enquanto Conan vive na Era Hiboriana...

Kull vive milhares de anos antes, na lendária Atlântida.

Sim.

A mesma Atlântida das antigas lendas.

Howard imaginou um continente extremamente antigo, violento e selvagem.

Foi ali que nasceu Kull.


Ele não nasceu príncipe.

Não nasceu rei.

Não nasceu escolhido.

Nasceu sobrevivente.

Assim como muitos profissionais de tecnologia.

Ninguém começa dominando:

  • COBOL

  • CICS

  • JCL

  • Db2

  • MQ

  • RACF

  • VSAM

  • z/OS

Começamos sobrevivendo.


Da Atlântida para Valúsia

A jornada de Kull é fascinante.

Primeiro escravo.

Depois gladiador.

Mercenário.

Pirata.

Soldado.

Até conquistar o maior reino da época.

Valúsia.

Ele literalmente derrota o rei anterior.

E assume o trono.

Agora imagine.

Você passou vinte anos aprendendo COBOL.

Finalmente virou arquiteto.

Especialista.

Líder.

IBM Champion.

Referência técnica.

Parabéns.

Agora começa o verdadeiro desafio.

Porque programar era fácil.

Difícil é governar.


O Rei Descobre a Burocracia

Essa talvez seja a maior diferença entre Conan e Kull.

Conan odeia burocracia.

Kull é obrigado a enfrentá-la diariamente.

Existe uma cena recorrente nos contos.

Kull deseja mudar algo simples.

Mas ministros.

Sacerdotes.

Nobres.

Generais.

Conselheiros.

Todos dizem:

"Sempre foi assim."

Conhece essa frase?

Ela aparece diariamente em projetos COBOL.

"Não podemos alterar."

"Desde 1989 funciona assim."

"Ninguém sabe por quê."

"O cliente pediu."

"Não mexe."

É exatamente isso.


O Primeiro Sistema Legado

Valúsia funciona como um sistema escrito há séculos.

Possui regras.

Procedimentos.

Normas.

Exceções.

Documentação perdida.

Processos sem sentido.

Todo mundo conhece apenas um pedaço.

Ninguém entende o todo.

Isso lembra algum ambiente corporativo?


Imagine um sistema bancário.

Milhares de programas.

Décadas de evolução.

Centenas de pessoas passaram por ele.

Cada geração deixou uma pequena alteração.

Resultado?

Um verdadeiro castelo medieval.

É exatamente assim que Howard descreve Valúsia.


A Serpente Invisível

Talvez o conto mais famoso seja:

The Shadow Kingdom.

Nele aparecem os famosos Homens-Serpente.

Durante décadas muitos acreditaram tratar-se apenas de monstros.

Não.

Eles representam algo muito mais profundo.

São infiltrados.

Substituem pessoas.

Assumem identidades.

Manipulam decisões.

Mudam governos sem ninguém perceber.

Agora pense no mundo corporativo.

Quantas decisões técnicas parecem lógicas...

...mas escondem interesses políticos?

Nem sempre o problema é técnico.

Às vezes é humano.


Easter Egg nº 1

"The Shadow Kingdom" (1929) é considerado por muitos historiadores como a primeira história moderna de fantasia heroica.

Sem Kull...

provavelmente Conan jamais existiria.


O Castelo é um Data Center

Kull governa de dentro de um enorme palácio.

Corredores.

Salas.

Guardas.

Portões.

Arquivos.

Tesouros.

Pessoas.

É impossível não imaginar um Data Center.

Existem áreas onde poucos entram.

Salas altamente protegidas.

Pessoas autorizadas.

Procedimentos rígidos.

Mudanças controladas.

Toda arquitetura possui camadas.

Assim como um ambiente z/OS.


O Trono é Produção

Enquanto era aventureiro...

Kull resolvia apenas seus problemas.

Depois que virou rei...

Cada decisão afeta milhares de pessoas.

É exatamente o que acontece quando um programador passa para Produção.

Agora um erro pode impactar:

milhões de contas.

folhas de pagamento.

cartões.

PIX.

aposentadorias.

seguros.

A responsabilidade muda completamente.


A Solidão do Arquiteto

Existe um aspecto extremamente moderno em Kull.

Ele sente solidão.

Quanto mais sobe...

menos pessoas conseguem compreender seus problemas.

O mesmo ocorre com arquitetos de software.

No início existe uma equipe.

Depois...

Todos perguntam.

Poucos respondem.

Todos cobram.

Poucos ajudam.

Howard descreveu isso quase cem anos atrás.


Easter Egg nº 2

Robert E. Howard escreveu Kull antes da Grande Depressão.

Mesmo assim seus contos discutem corrupção institucional, burocracia e decadência política.

São incrivelmente atuais.


Atlântida Nunca Morreu

Na obra de Howard, Atlântida desapareceu.

Mas sua influência continua.

Curioso.

Os sistemas também funcionam assim.

Você talvez nunca tenha visto:

OS/VS COBOL.

IMS/DC original.

DOS/VSE dos anos 70.

IBM 360.

Mas suas decisões continuam presentes dentro dos sistemas modernos.

Toda arquitetura carrega fósseis.


Os Homens-Serpente são Bugs?

Seria fácil dizer isso.

Mas não.

Eles lembram muito mais:

bugs invisíveis.

problemas intermitentes.

race conditions.

dados corrompidos.

configurações erradas.

Tudo parece funcionar.

Até que...

Algo estranho acontece.

Ninguém entende.

Ninguém encontra.

Todos juram que nunca ocorreu.

Até aparecer novamente.


Kull e o Debug Filosófico

Conan pergunta:

"Como derrotar?"

Kull pergunta:

"Como saber se estou certo?"

Essa diferença é enorme.

Programadores iniciantes querem apenas corrigir o erro.

Veteranos perguntam:

Por que aconteceu?

Como evitar?

Quem será impactado?

Quais efeitos colaterais existem?

Esse pensamento transforma um desenvolvedor em arquiteto.


O Maior Inimigo Não Está Fora

Nos contos de Kull...

o maior conflito raramente é uma batalha.

É dúvida.

Confiança.

Traição.

Identidade.

Realidade.

Esses temas aparecem constantemente.

No desenvolvimento de software acontece o mesmo.

O maior risco nem sempre é um ABEND.

É uma decisão equivocada tomada meses antes.


Easter Egg nº 3

Muitos elementos de Kull inspirariam posteriormente:

Game of Thrones.

Conan.

Elric.

Dungeons & Dragons.

Warhammer.

The Elder Scrolls.

Muito do que chamamos hoje de fantasia moderna nasceu ali.


O Conselho Real é um CAB

Toda empresa possui um CAB.

Change Advisory Board.

Mudanças passam por aprovação.

Avaliação.

Planejamento.

Janelas.

Riscos.

Kull também.

Ele nunca governa sozinho.

Sempre existe um conselho.

Nem sempre inteligente.

Nem sempre eficiente.

Mas necessário.


A Espada Não Resolve Tudo

Conan frequentemente vence pela força.

Kull raramente.

Ele precisa negociar.

Convencer.

Administrar.

Planejar.

Isso lembra muito o profissional sênior.

Quanto maior o cargo...

menos código escreve.

Mais decisões toma.


Curiosidades Pouco Conhecidas

Kull quase foi esquecido

Durante décadas poucas histórias estavam disponíveis.

Conan acabou eclipsando completamente seu predecessor.

Somente anos depois editoras voltaram a publicar seus contos.


Howard reutilizou ideias

Vários conceitos criados para Kull migraram posteriormente para Conan.

É possível encontrar paralelos entre personagens, reinos e conflitos.


O universo de Kull é mais sombrio

Enquanto Conan vive aventuras grandiosas, Kull frequentemente enfrenta dilemas existenciais.

É uma fantasia muito mais filosófica.


Lovecraft admirava Howard

Howard e H. P. Lovecraft trocaram cartas durante anos.

Muitas ideias circularam entre ambos.

Daí surgiram diversas influências que mais tarde apareceriam em universos compartilhados de fantasia e horror.


O Mainframe Também Possui Reis

Existe uma curiosidade interessante.

Em quase todo ambiente z/OS há pessoas que conhecem praticamente tudo.

Elas sabem:

por que determinado JOB existe;

quem criou um PROC há trinta anos;

qual COPYBOOK nunca deve ser alterado;

por que determinado SQL possui um OPTIMIZE FOR 1 ROW;

qual JCL só roda depois das 22h.

Esses profissionais lembram Kull.

Não porque sejam reis.

Mas porque carregam a responsabilidade de preservar um reino inteiro funcionando.


A Filosofia de Kull para um Programador COBOL

Kull ensina que vencer uma batalha é apenas o começo. O verdadeiro desafio surge depois da vitória, quando chega a hora de manter um reino funcionando todos os dias. No universo do mainframe acontece exatamente a mesma coisa. Escrever um programa é uma conquista; mantê-lo confiável durante décadas é uma missão muito maior.

O profissional que evolui na carreira descobre que seu trabalho deixa de ser apenas produzir código. Ele passa a tomar decisões que afetam pessoas, processos, auditorias, segurança, desempenho e continuidade dos negócios. Nesse momento, a espada é substituída pela experiência, e a coragem passa a significar assumir responsabilidade pelas consequências de cada mudança.

Kull também nos lembra que nem todos os inimigos são visíveis. Alguns aparecem como burocracias desnecessárias, documentação perdida, conhecimento concentrado em poucas pessoas, regras criadas décadas atrás e decisões que ninguém mais sabe explicar. Esses são os verdadeiros "Homens-Serpente" dos sistemas legados: problemas silenciosos que permanecem escondidos até o dia em que colocam toda a produção em risco.

No final, talvez essa seja a maior lição de Robert E. Howard.

Conan ensina como conquistar.

Kull ensina como governar.

Conan representa a coragem de enfrentar o desconhecido.

Kull representa a sabedoria de manter um império funcionando sem deixá-lo desmoronar.

E todo programador COBOL, cedo ou tarde, percorre exatamente esse caminho. Primeiro aprende a sobreviver como Conan. Depois, quando a responsabilidade aumenta, percebe que se tornou Kull: guardião de um reino construído ao longo de décadas, onde cada linha de código preservada com inteligência vale mais do que cem espadas desembainhadas.

Porque, no fim, a maior aventura do profissional de mainframe não é conquistar novos territórios tecnológicos.

É garantir que o reino continue funcionando quando todos os demais já esqueceram como ele foi construído.

quarta-feira, 3 de novembro de 2010

Robert E. Howard : Quando um Programador Descobre que o Homem que Criou Conan Também Escreveu a Arquitetura da Fantasia Moderna

 

Bellacosa Mainframe apresenta o lendario Robert E. Howard criador do Conan o Barbaro

☕ Um Café no Bellacosa Mainframe

Robert E. Howard sem Mistérios para Programadores COBOL

Quando um Programador Descobre que o Homem que Criou Conan Também Escreveu a Arquitetura da Fantasia Moderna Como Quem Projetava um Sistema Crítico de Mainframe

"Alguns programadores escrevem software que sobrevive décadas. Robert E. Howard escreveu personagens que sobreviveram quase um século."


Introdução – O Programador Invisível da Fantasia

Existe uma pergunta curiosa.

Quem inventou o COBOL?

Grace Hopper participou da sua criação.

Quem inventou C?

Dennis Ritchie.

Quem inventou Java?

James Gosling.

Quem inventou Linux?

Linus Torvalds.

Agora faça outra pergunta.

Quem inventou praticamente toda a fantasia heroica moderna?

Pouquíssima gente conhece a resposta.

Robert Ervin Howard.

Seu nome talvez não seja imediatamente reconhecido.

Mas seus personagens...

Esses você conhece.

Conan.

Kull.

Solomon Kane.

Bran Mak Morn.

Red Sonja (que mais tarde seria expandida por Roy Thomas a partir de uma personagem de Howard).

Centenas de conceitos utilizados hoje em RPGs, videogames, mangás, filmes e séries nasceram de sua imaginação.

Curiosamente...

Ele fez tudo isso antes dos trinta anos de idade.

Para um programador COBOL existe uma analogia perfeita.

Howard foi para a literatura o que um arquiteto de sistemas foi para o mainframe.

Ele não criou apenas programas.

Criou uma plataforma inteira.


O Menino do Texas

Robert Ervin Howard nasceu em 22 de janeiro de 1906, em Peaster, Texas.

Seu pai era médico.

Na infância a família mudou diversas vezes acompanhando cidades ligadas ao petróleo.

Isso parece um detalhe.

Mas mudou completamente sua forma de escrever.

Howard cresceu observando cidades nascerem praticamente da noite para o dia.

Homens enriquecendo.

Empresas desaparecendo.

Violência.

Ganância.

Corridas pelo ouro negro.

Tudo isso moldou sua visão de mundo.

Ele percebeu algo muito cedo.

Civilizações não são eternas.

Empresas também não.

Tecnologias muito menos.

Esse pensamento aparece em praticamente todos os seus contos.


Howard Era um Arquiteto de Mundos

Muita gente acredita que Howard simplesmente escrevia aventuras.

Não.

Ele fazia algo muito mais sofisticado.

Primeiro criava:

  • geografia;

  • história;

  • economia;

  • religião;

  • política;

  • povos;

  • idiomas;

  • cultura;

  • conflitos.

Só depois escrevia as histórias.

Isso lembra muito um arquiteto de software.

Antes do primeiro programa existir, define-se:

  • arquitetura;

  • camadas;

  • banco de dados;

  • comunicação;

  • segurança;

  • desempenho;

  • disponibilidade.

Howard fazia exatamente isso.


A Era Hiboriana: um Grande Projeto de Software

Quando criou Conan, Howard percebeu um problema.

Se utilizasse História real...

ficaria preso aos fatos.

Então criou uma linha do tempo completamente nova.

A famosa Era Hiboriana.

Era praticamente um framework.

Depois disso bastava adicionar novas histórias.

É semelhante ao que fazemos hoje criando uma plataforma corporativa.

Primeiro vem a arquitetura.

Depois surgem centenas de aplicações.


Weird Tales: O GitHub da Década de 1930

Howard publicou grande parte de sua obra na lendária revista Weird Tales.

Imagine uma mistura de:

GitHub.

Medium.

Dev.to.

LinkedIn.

Revista científica.

Tudo ao mesmo tempo.

Era ali que escritores publicavam seus trabalhos.

Ali também estavam:

  • H. P. Lovecraft;

  • Clark Ashton Smith;

  • Seabury Quinn.

Esses autores trocavam cartas constantemente.

Não existia Internet.

Não existia e-mail.

Mesmo assim construíram uma comunidade criativa extremamente ativa.

Era praticamente um Open Source da literatura.


Easter Egg nº 1

Howard e Lovecraft escreveram dezenas de cartas discutindo filosofia, história, religião e literatura.

Essas conversas influenciaram diretamente a criação dos universos de ambos.

É como acompanhar hoje uma longa discussão técnica entre os criadores do Linux e do Kubernetes.


Conan Não Foi Seu Primeiro Personagem

Essa talvez seja uma das maiores surpresas.

Antes de Conan vieram vários personagens.

Entre eles:

  • Solomon Kane;

  • Kull;

  • Bran Mak Morn;

  • Sailor Steve Costigan;

  • El Borak.

Cada personagem explorava um aspecto diferente da natureza humana.

Conan acabou ficando famoso.

Mas Howard jamais escreveu apenas fantasia.


O Método Howard

Existe um depoimento famoso.

Howard dizia que não inventava Conan.

Ele apenas observava.

Segundo ele:

Conan "sentava-se ao seu lado" e contava suas aventuras.

Parece superstição.

Na verdade descreve algo conhecido por escritores.

Quando o personagem está suficientemente desenvolvido...

ele praticamente ganha vida.

Curiosamente acontece o mesmo com sistemas muito grandes.

Depois de décadas de evolução...

eles parecem possuir personalidade própria.

Todo veterano COBOL sabe disso.


O Código Invisível

Imagine um sistema legado.

Você abre um programa.

Não conhece quem escreveu.

Mas consegue perceber:

esse programador gostava de tabelas.

esse preferia PERFORM.

aquele utilizava GO TO.

outro fazia tudo modular.

Autores deixam assinaturas invisíveis.

Howard também.

Depois de alguns contos conseguimos identificar imediatamente seu estilo.


A Filosofia das Civilizações

Existe um tema recorrente.

Howard acreditava que:

civilizações crescem;

ficam ricas;

tornam-se burocráticas;

enfraquecem;

desaparecem.

Enquanto povos considerados "bárbaros" continuam evoluindo.

Essa ideia aparece em:

Conan.

Kull.

Bran Mak Morn.

É praticamente uma teoria sobre inovação.


Easter Egg nº 2

Décadas depois diversos historiadores observaram semelhanças entre a visão de Howard e teorias sobre ascensão e queda de impérios discutidas por autores como Oswald Spengler e Arnold Toynbee.


Howard e o Mainframe

Existe uma curiosidade interessante.

Mainframes também envelhecem.

Não porque fiquem ruins.

Mas porque acumulam conhecimento.

Um sistema bancário com cinquenta anos possui milhares de decisões incorporadas.

Howard descrevia reinos exatamente assim.

Castelos construídos sobre castelos.

Templos sobre templos.

Civilizações sobre civilizações.

É impossível não lembrar de aplicações COBOL que carregam decisões tomadas ainda na década de 1970.


Seus Personagens São Arquétipos

Conan representa sobrevivência.

Kull representa liderança.

Solomon Kane representa justiça.

Bran Mak Morn representa resistência.

El Borak representa adaptação cultural.

Cada personagem resolve um tipo diferente de problema.

Isso lembra orientação a objetos.

Cada classe possui responsabilidades específicas.


Howard Era Historiador?

Não oficialmente.

Mas estudava História compulsivamente.

Colecionava livros.

Pesquisava povos antigos.

Mitologias.

Armas.

Guerras.

Civilizações.

Grande parte do realismo presente em suas obras vem desse hábito.


Easter Egg nº 3

Howard frequentemente escrevia mapas completos dos reinos antes de produzir qualquer conto.

Décadas depois Tolkien faria algo semelhante.

Hoje chamamos isso de worldbuilding.


A Tragédia

Infelizmente sua vida terminou cedo.

Em 1936 sua mãe entrou em coma irreversível.

Howard possuía enorme ligação emocional com ela.

Ao saber que dificilmente despertaria, entrou em profunda crise.

No dia 11 de junho de 1936, aos 30 anos, disparou contra si mesmo. Morreu no dia seguinte, 12 de junho de 1936.

Sua mãe faleceu pouco depois.

Foi um desfecho trágico para um autor que produziu uma obra gigantesca em tão pouco tempo.

É importante tratar esse episódio com respeito. Ele não define sua contribuição literária, mas faz parte de sua história.


Quanto Howard Produziu?

Mesmo vivendo apenas trinta anos...

escreveu centenas de obras.

Entre elas:

  • contos;

  • poemas;

  • cartas;

  • ensaios;

  • histórias de faroeste;

  • boxe;

  • horror;

  • aventura;

  • fantasia;

  • ficção histórica.

Seu ritmo impressiona.

Era praticamente uma fábrica de criatividade.


Curiosidade Técnica

Howard escrevia em máquina de escrever.

Sem:

CTRL+Z.

Git.

Backup automático.

Cloud.

Auto Save.

Versionamento.

Se errasse uma página inteira...

precisava recomeçar.

Hoje reclamamos quando o IDE demora cinco segundos para abrir.


Easter Egg nº 4

Howard escreveu muitos contos por necessidade financeira.

Era um escritor profissional em uma época em que viver exclusivamente da escrita era extremamente difícil.

Cada conto vendido ajudava a sustentar sua vida cotidiana.


Howard Influenciou Quase Tudo

É difícil listar todos.

Mas encontramos sua influência em:

Dungeons & Dragons.

Warhammer.

Magic The Gathering.

Diablo.

The Witcher.

Elden Ring.

Dark Souls.

Berserk.

Record of Lodoss War.

Goblin Slayer.

Dragon's Dogma.

Skyrim.

Conan Exiles.

Pathfinder.

Praticamente toda fantasia de espada e feitiçaria moderna carrega algum traço de Howard.

Até mesmo muitos mangás e animes inspirados em fantasia medieval herdaram elementos que ele ajudou a consolidar: heróis errantes, reinos decadentes, ruínas de civilizações antigas e a mistura de aventura com horror cósmico.


Howard e Lovecraft

Os dois são frequentemente comparados.

Mas escreviam coisas completamente diferentes.

Lovecraft dizia:

O homem é insignificante diante do universo.

Howard dizia:

Mesmo diante de um universo hostil...

o homem ainda pode lutar.

Essa diferença explica Conan.

Explica Kane.

Explica Kull.

Howard acreditava na capacidade humana de reagir.


A Maior Lição para um Programador COBOL

Existe um motivo pelo qual Howard continua relevante quase cem anos depois.

Ele nunca escreveu pensando apenas na moda do momento.

Escreveu sobre:

coragem;

medo;

civilização;

mudança;

liderança;

ambição;

queda;

renascimento.

Esses temas nunca envelhecem.

O mesmo acontece com COBOL.

Linguagens mudam.

Frameworks aparecem e desaparecem.

Ferramentas recebem novos nomes.

Mas sistemas críticos continuam precisando de:

clareza;

confiabilidade;

resiliência;

manutenibilidade.

São princípios permanentes.


Curiosidades que Pouca Gente Conhece

Conan nunca encontrou Kull

Apesar de viverem no mesmo universo fictício, suas épocas são separadas por milhares de anos.


Howard praticava boxe

Seu interesse pelo esporte influenciou profundamente a maneira como descrevia combates: diretos, físicos e convincentes.


A correspondência de Howard é gigantesca

Suas cartas são consideradas uma fonte preciosa para entender seu processo criativo e sua visão sobre história e literatura.


A Era Hiboriana possui cronologia própria

Howard escreveu uma cronologia relativamente detalhada para manter consistência entre suas histórias, algo muito semelhante ao cuidado de manter uma arquitetura coerente em um sistema de grande porte.


O Verdadeiro Legado

Quando pensamos em Robert E. Howard, é fácil imaginar apenas um escritor de aventuras.

Isso seria uma enorme injustiça.

Ele foi um engenheiro de imaginação.

Construiu universos completos.

Projetou arquiteturas narrativas.

Definiu regras.

Criou padrões.

Produziu documentação.

Depois implementou centenas de histórias sobre essa base.

É exatamente o trabalho de um grande arquiteto de software.


Conclusão – O Arquiteto Invisível da Fantasia

Existe uma curiosa semelhança entre Robert E. Howard e os grandes profissionais de mainframe.

Ambos raramente recebem o reconhecimento proporcional ao impacto de seu trabalho.

Milhões de pessoas utilizam diariamente sistemas escritos em COBOL sem jamais saber quem desenvolveu aquelas aplicações. Da mesma forma, milhões assistem a filmes, jogam RPGs, leem mangás ou exploram videogames inspirados na fantasia heroica sem perceber que muitas das ideias fundamentais nasceram na mente de um jovem escritor texano.

Howard não apenas criou personagens inesquecíveis. Ele estabeleceu uma forma de construir mundos. Sua metodologia de planejamento, coerência histórica, geografia, política e cultura lembra a criação de uma arquitetura corporativa robusta, na qual cada componente possui uma função clara e faz sentido dentro do conjunto.

Conan ensinou coragem.

Kull ensinou liderança.

Solomon Kane ensinou investigação.

Mas o próprio Robert E. Howard ensinou algo ainda maior: antes de existir uma grande aplicação, precisa existir uma grande arquitetura.

No desenvolvimento de software, isso significa projetar antes de codificar.

Na literatura, significou construir um universo antes de escrever a primeira aventura.

Talvez seja por isso que, quase noventa anos após sua morte, suas histórias continuem vivas. Porque elas foram erguidas sobre fundamentos sólidos, assim como os melhores sistemas COBOL que ainda sustentam bancos, governos, seguradoras e empresas ao redor do mundo.

No fim das contas, Robert E. Howard nunca foi apenas um escritor.

Foi o arquiteto-chefe de uma plataforma criativa que continua sendo executada em produção pela imaginação da humanidade, release após release, geração após geração — um verdadeiro sistema legado de excelência, sem previsão de descontinuação.

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