☕ 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

domingo, 6 de janeiro de 2019

⚓ ALMIRANTE GRACE HOPPER E O MAINFRAME QUE SE RECUSAVA A FICAR NO PASSADO

Bellacosa Mainframe fala do mainframe do futuro

☕ Um Café no Bellacosa Mainframe

⚓ ALMIRANTE GRACE HOPPER E O MAINFRAME QUE SE RECUSAVA A FICAR NO PASSADO

COBOL, Git, APIs, MQ, Kafka, CI/CD, Jenkins, OpenShift, observabilidade, segurança, IA e a estranha descoberta de que modernizar um mainframe não significa necessariamente jogar fora aquilo que funciona.



🎬 PRÓLOGO — O jovem programador e a máquina do tempo

Imagine seu primeiro dia trabalhando com mainframe.

Você aprendeu algumas coisas sobre COBOL.

Já sabe que existe:

IDENTIFICATION DIVISION.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.

Descobriu que PIC X(10) não é uma fotografia de dez pixels e que COMP-3 provavelmente vai persegui-lo em algum momento da carreira.

Então você entra no ambiente corporativo.

TSO.

ISPF.

Datasets.

JCL.

JES2.

SDSF.

CICS.

Db2.

VSAM.

De repente surge uma senhora usando uniforme da Marinha dos Estados Unidos.

Ela olha para aquele monte de tecnologia e pergunta:

— Muito bem, jovem. E onde está o Git?

Silêncio.

— Git?

— Sim. E o pipeline?

Mais silêncio.

— E como essa aplicação publica uma API?

Agora o iniciante começa a suar.

— Almirante Hopper... eu só queria aprender COBOL.

Bem-vindo ao Bellacosa Mainframe.

Pegue o café.

Porque hoje vamos descobrir que aprender COBOL é apenas a porta de entrada para uma cidade tecnológica gigantesca.

E nossa guia será ninguém menos que Grace Murray Hopper, pioneira da computação, uma das figuras históricas associadas ao desenvolvimento dos primeiros compiladores e cuja trajetória ajudou a estabelecer ideias que influenciaram profundamente o nascimento das linguagens de programação de alto nível e do próprio COBOL.

Se Hopper estivesse diante de um IBM Z moderno, provavelmente reconheceria imediatamente uma ideia que atravessou toda a história da computação:

A melhor tecnologia não é necessariamente aquela que substitui tudo. É aquela que permite evoluir sem destruir o que já funciona.



⚓ CAPÍTULO 1 — COBOL NÃO É O MAINFRAME

Esse é nosso primeiro ensinamento.

Muita gente começando mistura três conceitos:

COBOL
MAINFRAME
SISTEMA LEGADO

Como se fossem sinônimos.

Não são.

COBOL é uma linguagem.

Mainframe é uma plataforma computacional.

Legado é um conceito relacionado a sistemas existentes que carregam história, regras, dependências e valor para a organização.

Uma aplicação COBOL pode executar em diferentes plataformas.

E um IBM Z executa muito mais do que COBOL.

Dentro de um ambiente moderno podemos encontrar:

COBOL
PL/I
Assembler
Java
Python
REXX
Shell
JavaScript
SQL

Além de tecnologias como:

CICS
IMS
Db2
VSAM
MQ
z/OS Connect
z/OSMF
USS

Portanto, quando alguém pergunta:

"Como modernizamos o COBOL?"

talvez esteja fazendo a pergunta errada.

A pergunta melhor é:

Como modernizamos a maneira como essa aplicação é desenvolvida, integrada, testada, entregue, observada e mantida?

Essa pequena diferença muda tudo.



🧱 CAPÍTULO 2 — NÃO DEMOLIREMOS A CATEDRAL

Imagine uma aplicação bancária escrita em COBOL há 30 anos.

Ela possui:

2 milhões de linhas de código
centenas de programas
milhares de regras
copybooks
Db2
VSAM
CICS
jobs batch
interfaces
arquivos
relatórios

Alguém entra na reunião e diz:

— Está velho. Vamos reescrever tudo em Java.

Grace Hopper lentamente coloca a xícara sobre a mesa.

Silêncio na sala.

O problema não é Java.

O problema é imaginar que idade do código determina automaticamente ausência de valor arquitetural.

Aquele COBOL pode conter regras acumuladas durante décadas:

IF CLIENTE-VIP
   AND SALDO > LIMITE-MINIMO
   AND CARTAO-ATIVO
   AND NOT BLOQUEIO-FRAUDE
      PERFORM AUTORIZAR-COMPRA.

Parece simples.

Mas talvez existam outros 300 critérios espalhados pelo sistema.

Quando reescrevemos uma aplicação, não estamos simplesmente traduzindo:

COBOL → Java

Estamos tentando transportar:

30 anos de decisões
30 anos de exceções
30 anos de legislação
30 anos de bugs corrigidos
30 anos de conhecimento institucional

É como desmontar uma catedral pedra por pedra porque alguém não gosta da cor da porta.

Modernização inteligente começa perguntando:

O que realmente precisa mudar?



💻 CAPÍTULO 3 — O PROGRAMADOR COBOL GANHA UMA NOVA OFICINA

Durante décadas, uma imagem clássica do desenvolvimento mainframe foi:

TSO
 ↓
ISPF
 ↓
EDIT
 ↓
JCL
 ↓
COMPILADOR
 ↓
LINK-EDIT
 ↓
LOADLIB

Isso continua válido.

Aliás, iniciante: aprenda isso.

Não pule ISPF.

Não pule JCL.

Não pule SDSF.

Você precisa entender a máquina antes de automatizá-la.

Mas a oficina moderna ganhou ferramentas novas.

Podemos ter:

VS Code / IDz
       ↓
      Git
       ↓
Pull Request
       ↓
Code Review
       ↓
CI/CD
       ↓
Build
       ↓
Tests
       ↓
Deploy
       ↓
z/OS

Perceba algo maravilhoso.

O COBOL continua lá.

O que mudou foi o processo ao redor dele.



🌳 CAPÍTULO 4 — GIT ENCONTRA O COBOL

Imagine dois programadores modificando PGM001.

No modelo tradicional, o controle pode depender bastante da ferramenta de SCM mainframe utilizada e dos procedimentos da empresa.

Com Git temos conceitos como:

repository
branch
commit
merge
pull request
tag

Por exemplo:

main
 │
 ├──── feature/nova-regra-cartao
 │
 │          ↓
 │
 │       alterações
 │
 │          ↓
 │
 │        commit
 │
 │          ↓
 │
 └──────── merge

O grande ganho não é apenas guardar código.

Git permite registrar a história das mudanças.

Quem alterou?

Quando?

Por quê?

Qual ticket motivou?

Qual revisão aprovou?

Qual versão entrou em produção?

Isso conversa perfeitamente com uma filosofia antiga do Bellacosa Mainframe:

Código também é documento histórico.

Aquele comentário de manutenção:

* 2026-09-17 BELLACOSA
* AJUSTE REGRA DE AUTORIZACAO

continua útil.

Mas agora existe também uma trilha externa muito mais poderosa.


⚙️ CAPÍTULO 5 — CI/CD: O ROBÔ QUE NÃO ESQUECE PASSOS

Suponha que exista um procedimento com 17 passos para publicar uma aplicação.

Humano fazendo:

1
2
3
4
5
6
...
16
17

Depois de seis meses alguém executa:

1
2
3
4
6

Cadê o passo 5?

Produção descobre.

Pipeline existe justamente para transformar procedimentos repetitivos em processos executáveis.

COMMIT
   ↓
BUILD
   ↓
TEST
   ↓
SECURITY
   ↓
PACKAGE
   ↓
DEPLOY

Ferramentas como Jenkins podem orquestrar esse fluxo.

Mas atenção para uma distinção importante:

Jenkins não é o compilador COBOL.

Ele é um orquestrador.

Pode dizer:

execute build

Depois:

execute tests

Depois:

deploy

É quase como um maestro.

Os instrumentos continuam sendo outros.


📜 CAPÍTULO 6 — JCL NÃO MORREU; GANHOU UM ROBÔ

Aqui surge uma das minhas partes favoritas.

Alguém olha CI/CD e imagina:

"Então jogamos fora o JCL."

Não necessariamente.

Podemos fazer:

Jenkins
   ↓
z/OSMF
   ↓
JES2
   ↓
JCL
   ↓
Compiler

O pipeline pode submeter um JOB.

Depois acompanhar seu retorno:

RC=0000

Tudo certo.

Prossegue.

Se receber:

RC=0008

o pipeline pode parar.

Perceba a beleza histórica disso.

Temos tecnologias de gerações completamente diferentes cooperando:

JCL      + REST
COBOL    + Git
JES2     + Jenkins
CICS     + JSON
Db2      + APIs

O mainframe não precisa fingir que nasceu ontem.

Ele simplesmente aprende a conversar com quem nasceu ontem.


🧠 CAPÍTULO 7 — DEPENDÊNCIAS: QUANDO O COPYBOOK ESPIRRA

Imagine:

COPY CUSTOMER.

Esse copybook é utilizado por 137 programas.

Você muda um campo.

Parabéns.

Agora começa a diversão.

Quem precisa recompilar?

É aqui que ferramentas modernas de build e análise de dependências tornam-se valiosas.

Podemos representar:

CUSTOMER
   │
   ├── PROG001
   ├── PROG014
   ├── PROG087
   └── PROG231

Em vez de depender exclusivamente de:

"Pergunta para o João, ele trabalha aqui desde 1998."

transformamos conhecimento institucional em informação processável por ferramentas.

Essa é uma das formas mais profundas de modernização.

Automatizar conhecimento.


🌐 CAPÍTULO 8 — O COBOL DESCOBRE A INTERNET SEM APRENDER JSON

Agora nosso programa precisa atender um aplicativo móvel.

O programador iniciante entra em pânico.

— Vou precisar colocar JSON dentro do COBOL?

Calma.

Imagine:

MOBILE
   ↓
HTTPS
   ↓
API Gateway
   ↓
z/OS Connect
   ↓
CICS
   ↓
COBOL

O cliente pode enviar:

{
  "conta": "1234567890"
}

Nosso programa pode continuar trabalhando com estruturas tradicionais:

01 LK-CONTA PIC X(10).

Uma camada intermediária realiza a transformação.

E temos um conceito importantíssimo:

Modernizar a interface não exige necessariamente modernizar internamente toda a aplicação.

Isso permite expor funções existentes como serviços modernos sem imediatamente reescrever décadas de lógica.


📬 CAPÍTULO 9 — IBM MQ: NEM TODO MUNDO PRECISA RESPONDER AGORA

Agora imagine uma compra.

Precisamos saber imediatamente se ela foi autorizada.

Isso é naturalmente síncrono:

COMPRA
  ↓
CICS
  ↓
COBOL
  ↓
APROVADA

Mas depois precisamos:

enviar e-mail
dar pontos
atualizar analytics
notificar aplicativo
alimentar antifraude

Será que tudo precisa acontecer antes de devolver "COMPRA APROVADA"?

Não.

Podemos desacoplar:

COMPRA
  ↓
CICS
  ↓
APROVADA
  ↓
 MQ
  │
  ├── Cashback
  ├── Notification
  ├── Analytics
  └── Fraud

Se o cashback estiver indisponível por cinco minutos, não necessariamente precisamos impedir a compra.

MQ ajuda a construir esse desacoplamento e confiabilidade.


📡 CAPÍTULO 10 — EVENTOS: "ALGO ACONTECEU!"

Agora avançamos.

Em vez de perguntar constantemente:

O cliente mudou?
O cliente mudou?
O cliente mudou?

podemos produzir:

CLIENTE_ALTERADO

Esse evento pode ser consumido por diferentes sistemas.

             IBM Z
               │
        CLIENTE_ALTERADO
               │
               ▼
             Kafka
               │
      ┌────────┼────────┐
      ▼        ▼        ▼
     CRM      AI     Analytics

O sistema mainframe torna-se participante de uma arquitetura orientada a eventos.

Esse é um belo exemplo de modernização sem apagar o passado.


🧪 CAPÍTULO 11 — "FUNCIONOU NA MINHA LPAR" NÃO É TESTE

O iniciante modifica o programa.

Compila.

RC=0000

E anuncia:

— Funcionou!

Hopper ergue uma sobrancelha.

Compilar não significa funcionar corretamente.

Precisamos testar comportamento.

DADO
cliente VIP

E
saldo disponível = 10.000

QUANDO
compra = 8.000

ENTÃO
resultado esperado = APROVADO

Testes automatizados permitem verificar continuamente regras conhecidas.

E aqui existe algo profundo.

Em sistemas legados, testes automatizados podem se tornar documentação viva.

Quando alguém perguntar daqui a cinco anos:

"Cliente VIP pode fazer isso?"

o teste ajuda a responder.


🔐 CAPÍTULO 12 — DEVSECOPS: SEGURANÇA NÃO É O ÚLTIMO PASSO

O modelo ruim:

DEV
 ↓
TEST
 ↓
PROD
 ↓
SEGURANÇA DESCOBRE

Modelo melhor:

             COMMIT
                │
     ┌──────────┼──────────┐
     ▼          ▼          ▼
   BUILD      TEST       SECURITY

Podemos procurar:

  • vulnerabilidades;

  • credenciais expostas;

  • problemas de dependências;

  • configurações inseguras;

  • violações de políticas.

E no mainframe continuamos tendo controles fundamentais envolvendo RACF, ACF2 ou Top Secret, certificados, TLS, SMF, auditoria e autorização.

DevSecOps não substitui RACF.

Ele amplia a segurança para todo o ciclo de desenvolvimento.


🔭 CAPÍTULO 13 — OBSERVABILIDADE: O TELEFONE NÃO É DASHBOARD

Antigamente, o melhor sistema de monitoramento de algumas empresas era:

produção caiu
     ↓
usuário percebe
     ↓
usuário telefona
     ↓
War Room

Não recomendo.

Mainframes possuem décadas de experiência em monitoramento operacional.

SMF, RMF, OMEGAMON, SDSF e outras ferramentas já forneciam visibilidade muito antes de "observability" virar palavra de conferência.

A evolução moderna é conectar os mundos.

Imagine:

Celular
  ↓
API
  ↓
Kubernetes
  ↓
Kafka
  ↓
z/OS Connect
  ↓
CICS
  ↓
COBOL
  ↓
Db2

O usuário diz:

Está lento.

Quem é culpado?

Sem telemetria, começa o campeonato corporativo:

Cloud:      "é o mainframe!"
Mainframe:  "é a rede!"
Rede:       "é a aplicação!"
Aplicação:  "é o banco!"
Banco:      "não sou eu!"

Todos inocentes.

O usuário continua esperando.


📊 CAPÍTULO 14 — MÉTRICAS, LOGS E TRACES

Três conceitos aparecem constantemente:

METRICS
LOGS
TRACES

Métricas respondem perguntas como:

quantas transações?
qual latência?
qual CPU?
quantos erros?
qual throughput?

Logs contam eventos:

programa iniciado
cliente não encontrado
timeout
erro SQL

Traces mostram a viagem da transação.

Por exemplo:

TRACE-ID = 0317

Sim.

Nosso easter egg apareceu.

Quem acompanha o Bellacosa Mainframe sabe que quando alguma coisa estranha acontece às 03:17, provavelmente teremos uma investigação.

Nosso trace percorre:

Mobile       20 ms
Gateway       7 ms
Java         31 ms
z/OS Connect 11 ms
CICS          4 ms
COBOL         3 ms
Db2         817 ms

Pronto.

Em vez de:

"O mainframe está lento."

temos:

"Esta operação específica está gastando aproximadamente 817 ms no acesso ao Db2."

Isso é uma War Room baseada em evidências.


🔬 CAPÍTULO 15 — OPENTELEMETRY E A TRANSAÇÃO VIAJANTE

OpenTelemetry aparece justamente para ajudar a padronizar telemetria distribuída.

A ideia simplificada:

Aplicações
    ↓
telemetria
    ↓
OpenTelemetry
    │
    ├── metrics
    ├── logs
    └── traces

Depois podemos integrar essa informação a plataformas de observabilidade.

Prometheus, Grafana, Elastic, Splunk, Dynatrace e outros componentes podem participar do ecossistema, dependendo da arquitetura adotada.

Mas nunca esqueça:

dashboard bonito não é observabilidade.

Observabilidade útil significa conseguir investigar comportamento.


📦 CAPÍTULO 16 — NÃO COLOQUE TUDO NUM CONTAINER SÓ PORQUE É MODERNO

Outra reunião.

Alguém anuncia:

— Vamos containerizar tudo!

Hopper procura a saída.

Containers são excelentes.

Kubernetes é excelente para determinados workloads.

OpenShift também.

Mas arquitetura não deveria ser religião.

Podemos perfeitamente ter:

                 EMPRESA
                    │
        ┌───────────┴───────────┐
        ▼                       ▼
    OpenShift                  z/OS
        │                       │
  Java / Node              CICS / IMS
        │                       │
  Microservices               COBOL
        │                       │
        └───────── API ─────────┤
                  MQ           │
                Kafka          │
                               ▼
                            Db2/VSAM

Isso é arquitetura híbrida.

Cada workload executa onde faz sentido.


🌱 CAPÍTULO 17 — STRANGLER FIG: MODERNIZANDO SEM EXPLODIR PRODUÇÃO

Temos:

SISTEMA-CARTAO

com:

autorização
faturamento
cashback
notificação
relatórios
antifraude

Em vez de:

DELETE EVERYTHING;

podemos modernizar progressivamente.

Primeiro retiramos notificações:

COBOL
 ↓
evento
 ↓
Kafka
 ↓
Notification Service

Depois talvez cashback.

Depois outra função.

O core de autorização permanece enquanto houver razões econômicas e técnicas para mantê-lo.

Essa estratégia lembra o chamado Strangler Fig Pattern.

A arquitetura nova cresce progressivamente ao redor da existente.


🗄️ CAPÍTULO 18 — NÃO ESQUEÇA ONDE MORA O TESOURO

Aplicações são importantes.

Mas dados talvez sejam ainda mais importantes.

No mainframe encontramos:

Db2
VSAM
IMS DB
datasets

A modernização precisa considerar como esses dados serão disponibilizados sem criar vinte cópias descontroladas da verdade.

Podemos usar:

APIs
eventos
CDC
replicação

CDC significa Change Data Capture.

Quando alguma coisa relevante muda, podemos capturar essa alteração e propagá-la para outros ecossistemas.

Isso ajuda analytics, integração, data lakes e aplicações de IA.


🤖 CAPÍTULO 19 — IA ENTRA NO MAINFRAME, MAS SEM A MOTOSSERRA

Então chega 2026.

Alguém digita:

"Converta meus 14 milhões de linhas COBOL para Java."

Talvez seja prudente esconder o botão ENTER.

IA pode ser extremamente interessante para legado, mas há aplicações mais inteligentes do que tradução indiscriminada.

Por exemplo:

COBOL legado
     ↓
     IA
     │
     ├── explicar código
     ├── documentar
     ├── localizar regras
     ├── sugerir testes
     ├── explicar erros
     ├── analisar dependências
     └── auxiliar manutenção

Imagine encontrar um programa de 9.000 linhas.

Em vez de começar lendo linha 1 e terminar três cafés depois na linha 9.000, ferramentas assistidas por IA podem ajudar a construir um mapa inicial.

Mas atenção.

IA pode errar.

Em sistemas críticos precisamos continuar tendo:

revisão humana
testes
evidências
controle de versão
segurança
auditoria

O compilador não aceita:

TRUST ME BRO.

Produção também não deveria aceitar.


🛠️ CAPÍTULO 20 — AUTOMAÇÃO E INFRASTRUCTURE AS CODE

Procedimentos operacionais frequentemente vivem em documentos:

Entre no ISPF, escolha opção X, abra Y, copie Z...

Funciona.

Até alguém esquecer uma linha.

Automação permite transformar procedimentos em código.

Ferramentas como Ansible podem participar da administração e automação de ambientes IBM Z.

A filosofia passa a ser:

ESTADO DESEJADO
      ↓
AUTOMAÇÃO
      ↓
ESTADO REAL

Uma palavra importante aqui é:

idempotência.

Simplificando para o iniciante:

Executar a automação novamente não deveria destruir tudo; ela deve procurar manter ou alcançar o estado definido.

Isso transforma conhecimento operacional em algo reproduzível.


🗺️ CAPÍTULO 21 — O MAPA DO MAINFRAME MODERNO

Agora podemos juntar nosso quebra-cabeça.

                     USUÁRIOS
                        │
                 Mobile / Web
                        │
                        ▼
                   API Gateway
                        │
             ┌──────────┴──────────┐
             ▼                     ▼
         OpenShift             z/OS Connect
             │                     │
       Microservices               ▼
             │                    CICS
             ├────── MQ ───────────┤
             │                     │
             ├──── Kafka ──────────┤
             │                     ▼
             │                   COBOL
             │                     │
             │               ┌─────┴─────┐
             │               ▼           ▼
             │              Db2         VSAM
             │
             ▼
        Analytics / AI

Por trás:

Developer
   ↓
VS Code / IDz
   ↓
Git
   ↓
Pull Request
   ↓
Pipeline
   ↓
Build
   ↓
Tests
   ↓
Security
   ↓
Deploy
   ↓
IBM Z

E observando tudo:

          OBSERVABILITY
               │
      ┌────────┼────────┐
      ▼        ▼        ▼
   Metrics    Logs    Traces

Agora temos a visão completa.


🎓 CAPÍTULO 22 — ROTEIRO PARA QUEM ESTÁ COMEÇANDO

Não tente aprender tudo simultaneamente.

Isso seria como tentar aprender mecânica estudando um Boeing inteiro.

Construa camadas.

Etapa 1 — Fundamentos

Aprenda:

COBOL
JCL
TSO
ISPF
datasets
JES2/SDSF

Entenda como um programa nasce e executa.

Etapa 2 — Dados

Aprenda:

VSAM
SQL
Db2

Depois explore IMS se fizer sentido para seu ambiente.

Etapa 3 — Online

Estude:

CICS
transações
programas
COMMAREA
channels/containers

Etapa 4 — Integração

Aprenda:

REST
JSON
APIs
MQ
z/OS Connect

Etapa 5 — Engenharia moderna

Entre em:

Git
branch
commit
merge
CI/CD
Jenkins
automated testing

Etapa 6 — Arquitetura

Estude:

microservices
event-driven
Kafka
containers
Kubernetes
OpenShift
hybrid cloud

Etapa 7 — Operação

Aprenda:

SMF
RMF
logs
metrics
traces
OpenTelemetry
observability

Etapa 8 — Segurança

Entenda:

RACF
identidade
autorização
TLS
certificados
DevSecOps
auditoria

Etapa 9 — Automação

Explore:

z/OSMF
REST APIs
Ansible
Infrastructure as Code

Etapa 10 — IA

Finalmente:

code explanation
documentation
test generation
code assistance
incident analysis
legacy discovery

Agora você não é simplesmente alguém que aprendeu sintaxe COBOL.

Você começou a entender engenharia de aplicações IBM Z.


🧭 CAPÍTULO 23 — A LIÇÃO DA ALMIRANTE

Nosso jovem programador finalmente olha novamente para seu pequeno programa:

       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELLO.
       PROCEDURE DIVISION.
           DISPLAY 'HELLO WORLD'.
           STOP RUN.

No começo da história aquilo parecia ser COBOL.

Agora ele consegue imaginar todo o mundo ao redor:

                     Git
                      │
                      ▼
                    COBOL
                      │
                      ▼
                    Build
                      │
                      ▼
                    Tests
                      │
                      ▼
                   Pipeline
                      │
                      ▼
                     CICS
                      │
              ┌───────┼───────┐
              ▼       ▼       ▼
             API      MQ     Kafka
              │               │
              ▼               ▼
          OpenShift          Cloud
              │               │
              └───────┬───────┘
                      ▼
                Observability

Grace Hopper então aponta para a tela.

A verdadeira modernização não está em trocar uma palavra por outra.

Não está em:

COBOL → Java

ou:

Mainframe → Cloud

A transformação está em construir pontes:

LEGADO ↔ MODERNO
BATCH ↔ API
CICS ↔ MOBILE
COBOL ↔ GIT
JCL ↔ CI/CD
JES2 ↔ REST
MQ ↔ MICROSERVICES
DB2 ↔ ANALYTICS
IBM Z ↔ CLOUD
SMF ↔ OBSERVABILITY
PROGRAMADOR ↔ AUTOMAÇÃO

☕ EPÍLOGO — A CATEDRAL CONTINUA ABERTA

Existe uma mania curiosa na tecnologia de declarar coisas mortas.

COBOL morreu.

Mainframe morreu.

Batch morreu.

SQL morreu.

Data center morreu.

Toda década alguém publica um novo obituário.

Enquanto isso, sistemas continuam processando transações.

Talvez o iniciante deva aprender uma lição diferente.

Tecnologia empresarial raramente evolui simplesmente apagando o passado.

Ela evolui em camadas.

O COBOL permanece.

Mas agora está no Git.

O JCL permanece.

Mas um pipeline pode submetê-lo.

O CICS permanece.

Mas uma API pode chamá-lo.

O MQ permanece.

Mas pode conectar arquiteturas distribuídas.

O Db2 permanece.

Mas seus dados podem alimentar analytics e IA.

O IBM Z permanece.

Mas não precisa permanecer isolado.

Essa talvez seja uma das ideias mais importantes para quem começa a carreira em mainframe:

Você não está estudando apenas uma tecnologia antiga. Está estudando como décadas diferentes da história da computação conseguem continuar trabalhando juntas.

E isso muda a pergunta.

Não pergunte apenas:

"Como programo COBOL?"

Pergunte:

"Como uma mudança que fiz neste COBOL percorre Git, build, testes, segurança, CI/CD, CICS, APIs, integração, dados e observabilidade até chegar ao cliente?"

Quando conseguir responder essa pergunta, você terá atravessado uma fronteira importante.

Deixou de olhar somente para as 80 colunas.

Começou a enxergar a arquitetura.

E, em algum lugar da sala de máquinas, nossa Almirante provavelmente estaria satisfeita.

Antes de sair, porém, Hopper olha novamente para o dashboard.

Uma transação desconhecida apareceu.

Horário:

03:17:00

TRACE-ID:

BELLACOSA-0317

Origem:

UNKNOWN

Ela pega o café.

— Bellacosa...

— Sim, Almirante?

— Temos um incidente.

Continua no próximo JOB.

//BELLACOS JOB (0317),'COFFEE',
//             CLASS=A,
//             MSGCLASS=X
//*
//* NEVER UNDERESTIMATE OLD CODE
//* THAT STILL RETURNS RC=0000
//*

☕ Um Café no Bellacosa Mainframe

Porque modernizar não é esquecer de onde viemos. É garantir que aquilo que construímos ontem ainda consiga conversar com o amanhã.

PS: Este artigo foi pensado para responder a seguinte pergunta.

Como uma empresa moderna desenvolve, integra, automatiza, observa e moderniza aplicações que rodam nesse mainframe? 



sábado, 5 de janeiro de 2019

🧰 CHECKLIST BELLACOSA DE MANUTENÇÃO MENTAL

 


🧰 CHECKLIST BELLACOSA DE MANUTENÇÃO MENTAL
(O toolkit diário para manter o cérebro rodando suave, sem abends nem travamentos)


☀️ 1. BOOT DO DIA – “Initialize System”

Logo ao acordar, evite abrir o celular.
A primeira hora do dia define a prioridade de jobs do seu emocional.
Respire, alongue, pense no que realmente importa.

O primeiro comando do dia deve vir de você, não da notificação.


💬 2. STATUS CHECK – “DISPLAY MIND,DETAIL”

No meio da manhã, faça uma autoanálise rápida:
Como estou me sentindo agora? Calmo? Tenso? Disperso?
Nomear o que sente é o mesmo que identificar o dataset antes de manipulá-lo.

Sentimento sem nome vira processo fantasma ocupando CPU emocional.


🧘‍♀️ 3. REFRESH BUFFER – “CANCEL ALL”

Durante o dia, tire micro-pausas de 5 minutos sem estímulos.
Nada de rolar tela — apenas respire, feche os olhos, escute o ambiente.
Isso reinicia o cache e traz foco de volta.

O silêncio é o comando “RESET” da mente.


☕ 4. AFTERNOON MAINTENANCE – “SORT PRIORITIES”

No meio da tarde, revise o que ainda precisa ser feito e o que pode ficar para amanhã.
Reorganize, defer, skip step, se necessário.
Aprender a priorizar é um ato de amor-próprio.

Nem todo job precisa rodar em hoje.


🌙 5. SHUTDOWN MODE – “LOGOFF PEACEFULLY”

Antes de dormir, agradeça.
Pense no que funcionou bem, e libere o que travou.
Desligue as telas, leia algo leve, ouça uma música calma.

Um bom “shutdown” garante logs limpos e sonhos desfragmentados.


🔁 ROTINA OPCIONAL – “RUN MIND CLEANER, DAILY”

  • 5 minutos de respiração consciente

  • 10 minutos de caminhada leve

  • 1 momento de riso genuíno

  • 1 conversa sincera

  • 1 ato de gentileza (mesmo anônima)

Esses comandos simples fazem tuning na alma e aumentam o throughput da paz interior.


Bellacosa Mainframe 💾🧠
Porque cuidar da mente é como manter um sistema z/OS: se você ignora o warning, o dump vem inevitável.

sexta-feira, 4 de janeiro de 2019

☕💣📼 OPERADOR, O ABEND DE SCHOOL DAYS NÃO FOI UM CASO ISOLADO!

 

Bellacosa Mainframe e os animes proibidoes estilo school days


☕💣📼 OPERADOR, O ABEND DE SCHOOL DAYS NÃO FOI UM CASO ISOLADO!

10 ANIMES PARA QUEM SOBREVIVEU AO DESASTRE OPERACIONAL DE MAKOTO ITOU

Se você terminou School Days e ficou pensando:

"Não acredito que um romance escolar terminou desse jeito..."

Prepare-se.

Existem animes que exploram traição, obsessão, psicologia, realidades alternativas, assassinatos, loops temporais e relacionamentos tão perigosos quanto um DELETE sem backup no catálogo mestre.


1. HIGURASHI NO NAKU KORO NI

Título Original

ひぐらしのなく頃に

Lançamento

2006

Personagens

  • Keiichi Maebara

  • Rena Ryugu

  • Mion Sonozaki

  • Rika Furude

Resumo

Um garoto se muda para uma vila aparentemente tranquila.

Pouco depois descobre uma série de assassinatos ligados a um festival local.

História

A cada arco a realidade parece reiniciar.

Os acontecimentos mudam.

As mortes mudam.

As respostas mudam.

Easter Egg

Os relógios e calendários escondem pistas dos loops temporais.

Curiosidade

Foi originalmente uma Visual Novel, assim como School Days.

Por que assistir?

Se você gostou do colapso psicológico.

Por que não assistir?

Violência extrema.


2. UMINEKO NO NAKU KORO NI

Título Original

うみねこのなく頃に

Lançamento

2009

Personagens

  • Battler Ushiromiya

  • Beatrice

  • Ange

Resumo

Uma família rica fica presa numa ilha.

Assassinatos começam a ocorrer.

A culpa é de uma bruxa?

Ou de um humano?

História

Uma guerra entre lógica e fantasia.

Easter Egg

Quase todos os mistérios possuem solução racional.

Curiosidade

Criado pelo mesmo autor de Higurashi.

Por que assistir?

Mistério de altíssimo nível.

Por que não assistir?

Anime adapta apenas parte da obra.


3. MIRAI NIKKI

Título Original

未来日記

Lançamento

2011

Personagens

  • Yukiteru Amano

  • Yuno Gasai

Resumo

Participantes recebem diários que mostram o futuro.

O último sobrevivente se torna deus.

História

Battle Royale psicológico.

Easter Egg

O nome Yuno lembra "YU-NO", outra obra clássica de ficção científica japonesa.

Curiosidade

Yuno tornou-se referência para o arquétipo "Yandere".

Por que assistir?

Uma das personagens mais icônicas dos animes.

Por que não assistir?

Algumas incoerências narrativas.


4. ELFEN LIED

Título Original

エルフェンリート

Lançamento

2004

Personagens

  • Lucy

  • Kouta

  • Nana

Resumo

Uma mutante escapa de um laboratório.

História

Mistura ficção científica com tragédia humana.

Easter Egg

O título vem de um poema alemão.

Curiosidade

Influenciou obras como Stranger Things.

Por que assistir?

Drama emocional devastador.

Por que não assistir?

Violência extrema.


5. WHITE ALBUM 2

Título Original

ホワイトアルバム2

Lançamento

2013

Personagens

  • Haruki

  • Setsuna

  • Kazusa

Resumo

Triângulo amoroso.

História

Diferente de School Days.

Aqui o foco é emocional.

Não físico.

Easter Egg

Referências musicais aparecem em praticamente todos os episódios.

Curiosidade

Considerado um dos romances mais maduros dos animes.

Por que assistir?

Drama romântico excelente.

Por que não assistir?

Muito sofrimento emocional.


6. KUZU NO HONKAI

Título Original

クズの本懐

Lançamento

2017

Personagens

  • Hanabi

  • Mugi

Resumo

Dois estudantes fingem namorar.

História

Uma análise brutal sobre desejos não correspondidos.

Easter Egg

As flores exibidas refletem o estado emocional dos personagens.

Curiosidade

Foi chamado de "School Days da geração moderna".

Por que assistir?

Psicologia sofisticada.

Por que não assistir?

Clima extremamente melancólico.


7. YOSUGA NO SORA

Título Original

ヨスガノソラ

Lançamento

2010

Personagens

  • Haruka

  • Sora

Resumo

Irmãos retornam à cidade natal.

História

Rotas alternativas semelhantes às Visual Novels.

Easter Egg

Cada arco corresponde a uma rota diferente do jogo.

Curiosidade

Uma das adaptações mais fiéis de Visual Novel.

Por que assistir?

Narrativa experimental.

Por que não assistir?

Tema altamente controverso.


8. SHUFFLE!

Título Original

シャッフル!

Lançamento

2005

Personagens

  • Rin

  • Kaede

  • Asa

Resumo

Romance envolvendo humanos, deuses e demônios.

História

Começa leve.

Termina surpreendentemente sombria.

Easter Egg

Vários finais da Visual Novel foram incorporados.

Curiosidade

Influenciou diversos romances escolares posteriores.

Por que assistir?

Mistura romance e fantasia.

Por que não assistir?

Primeira metade é lenta.


9. ANOTHER

Título Original

アナザー

Lançamento

2012

Personagens

  • Kouichi Sakakibara

  • Mei Misaki

Resumo

Uma turma sofre uma maldição mortal.

História

Mortes absurdamente imprevisíveis.

Easter Egg

Diversas pistas estão escondidas nos fundos das cenas.

Curiosidade

Popularizou o "guarda-chuva assassino".

Por que assistir?

Suspense constante.

Por que não assistir?

Não é romance.


10. YU-NO: KONO YO NO HATE DE KOI WO UTAU SHOUJO

Título Original

この世の果てで恋を唄う少女YU-NO

Lançamento Original

Visual Novel: 1996

Anime: 2019

Personagens

  • Takuya Arima

  • Kanna

  • Mio

  • Amanda

Resumo

Viagens entre realidades paralelas.

História

O protagonista precisa reconstruir a verdade através de múltiplas linhas temporais.

Easter Egg

Praticamente todos os finais possuem relevância para a conclusão final.

Curiosidade

Influenciou:

  • Steins;Gate

  • Re:Zero

  • Muv-Luv

Por que assistir?

Uma das obras mais importantes da ficção científica japonesa.

Por que não assistir?

O anime simplifica bastante a Visual Novel.


☕💣 Ranking Bellacosa Mainframe de Similaridade com School Days

AnimeSimilaridade
White Album 2⭐⭐⭐⭐⭐
Kuzu no Honkai⭐⭐⭐⭐⭐
Yosuga no Sora⭐⭐⭐⭐⭐
Shuffle!⭐⭐⭐⭐
Mirai Nikki⭐⭐⭐⭐
Higurashi⭐⭐⭐⭐
Umineko⭐⭐⭐
Another⭐⭐⭐
Elfen Lied⭐⭐⭐
YU-NO⭐⭐⭐

📼 Veredito Final

Se School Days foi seu primeiro contato com romances psicológicos sombrios, a sequência ideal é:

School Days → White Album 2 → Kuzu no Honkai → Yosuga no Sora → Higurashi → Umineko → YU-NO

Essa ordem aumenta gradualmente a complexidade narrativa, levando você do simples "triângulo amoroso problemático" até mistérios multidimensionais capazes de fazer um operador de mainframe revisar o mesmo dump emocional dezenas de vezes antes de encontrar a causa raiz do ABEND. ☕💣🔪📼


quinta-feira, 3 de janeiro de 2019

☕💥 A Jornada do Padawan COBOL – Parte 1 Desvendando o Universo dos CALLs no Mainframe

 

Bellacosa Mainframe e o CALL em programas COBOL Parte I

☕💥 A Jornada do Padawan COBOL – Parte 1

Desvendando o Universo dos CALLs no Mainframe

Ou como descobrir que chamar um programa em COBOL é quase tão importante quanto saber preparar café às 3 da manhã durante uma janela de produção

Por Vagner Bellacosa – Bellacosa Mainframe


Introdução

Todo desenvolvedor COBOL passa por um momento de iluminação.

Normalmente acontece quando ele abre um programa de produção com 30 mil linhas e encontra algo parecido com isto:

CALL 'PROG0001'
USING WS-AREA.

CALL WS-PROGRAMA
USING WS-COMMAREA.

CALL 'VALIDA01'
USING BY CONTENT WS-DATA.

CALL 'ROTINA99'
USING BY REFERENCE WS-BLOCO.

Neste momento surge a dúvida existencial:

Por que existem tantos tipos de CALL?

Qual é o mais rápido?

Qual gasta menos memória?

O que acontece dentro do z/OS?

O compilador faz mágica?

O Load Module engorda?

Como um banco executa milhões de CALLs por segundo sem explodir?

Prepare seu café.

Vamos abrir a tampa do motor do z/OS.


O que é um CALL?

Simplificando:

CALL significa pedir ajuda para outro programa.

Em vez de colocar 100 mil linhas em um único fonte, quebramos o sistema em pequenas peças reutilizáveis.

Por exemplo:

Programa principal

PROCESSA-CLIENTES

chama

VALIDA-CPF

CALCULA-JUROS

GERA-BOLETO

ENVIA-MQ

ATUALIZA-DB2

Cada um especializado.

É praticamente microserviços.

Só que inventados em 1960.


Por que IBM fez isso?

Porque memória custava uma fortuna.

Década de 70

Memória podia custar mais que um carro.

Era necessário:

reutilizar código

economizar memória

compartilhar lógica

facilitar manutenção

Assim nasceu o CALL.


Anatomia de um programa COBOL

Um programa COBOL compilado produz:

Objeto

↓

Binder

↓

Load Module

↓

PDs Loadlib

↓

Execução

Exemplo:

SYS1.LOADLIB


PROCESSA
VALIDA
JUROS
CPFCHK

O Padawan descobre o Static CALL

Exemplo

CALL 'VALIDA'

Simples.

Mas o compilador já conhece VALIDA.

Ele avisa o Binder:

Inclua VALIDA aqui.


O que acontece no LinkEdit

Binder faz:

PROCESSA


+

VALIDA


+

CPFCHK


+

JUROS


=

EXECUTÁVEL FINAL

Na memória

Antes:

PROCESSA

Depois:

PROCESSA


VALIDA


CPFCHK


JUROS

Tudo junto.

Tudo carregado.


Vantagens

Performance

Excelente.

Não precisa procurar.

Não precisa abrir bibliotecas.

Não precisa localizar módulo.

É praticamente:

BALR

Menor CPU

Menos instruções.

Menos overhead.

Menos I/O.


Desvantagens

Executável cresce.

Muito.

Exemplo

Programa principal

1 MB

Subrotinas

500 KB

Total

1,5 MB


Imagine 200 subrotinas.

Seu módulo vira um Godzilla.


Problema clássico

Padawan:

"Troquei VALIDA"

Produção:

Ainda usa antiga.

Porque precisa relinkar.


Quando usar?

Sempre que:

Programa nunca muda

Alta performance

Rotina crítica

Batch pesado

Exemplo:

Juros

Cálculo tributário

Validação interna


O Dynamic CALL aparece

Padawan evolui.

Descobre:

01 WS-PGM PIC X(8).

MOVE 'VALIDA' TO WS-PGM.

CALL WS-PGM.

O que acontece?

COBOL não sabe quem será chamado.

Somente em execução.


Busca do módulo

zOS procura:

STEPLIB

JOBLIB

LPA

LINKLIST


Exemplo

CALL CPFCHK

Sistema:

Existe?

Não.

Próximo.

Existe?

Sim.

Carrega.

Executa.


Vantagens

Flexibilidade absurda.

Pode trocar programas.

Sem recompilar.

Sem binder.

Sem relink.


Plugins COBOL

Exemplo

Cartão VISA

MOVE 'VISA0001'

Master

MOVE 'MASTER01'

PIX

MOVE 'PIX00001'

Mesmo sistema.

Rotinas diferentes.


Desvantagens

Procura programa.

Mais CPU.

Mais I/O.

Mais tempo.


Mas é lento?

Depende.

Primeira chamada.

Sim.

Segunda.

Muito rápida.

Porque pode ficar residente.


O segredo da residência

zOS é esperto.

Se programa está em memória.

Reutiliza.

Não busca novamente.


Comparação

Static

Casa própria

Dynamic

Airbnb

O executável cresce?

Static

Sim.

Dynamic

Não.

Executável principal fica pequeno.


Exemplo

Static

PROCESSA

1.5 MB

Dynamic

PROCESSA

600 KB

Subrotinas externas.


O que é mais performático?

Resposta curta.

Static.

Fim.

Mas...


O que é melhor?

Depende.

Banco.

Static.

Framework.

Dynamic.

Produtos.

Dynamic.

Rotinas financeiras.

Static.


Como o CALL funciona internamente?

Imagine isto.

Programa principal

00001000
PROCESSA

Subrotina

00025000
VALIDA

CALL executa

Guardar endereço retorno


Ir para 25000


Executar


Voltar

É praticamente um GOTO sofisticado.

Só que elegante.


Erros clássicos

S806

Programa não encontrado.

Mensagem

IEC806I

Causa

Módulo ausente.

STEPLIB errada.

Nome inválido.


S0C1

Executou lixo.

Programa corrompido.


S0C4

Endereço inválido.

Muito comum em parâmetros errados.


Como descobrir

SDSF

JESMSGLG

SYSOUT


Verificar:

STEPLIB

SYSLIB

LOADLIB


Easter Egg IBM

Muitos bancos possuem:

PROG0001

PROG0002

PROG0003

Ninguém sabe o que fazem.

Autor aposentou em 1998.

Documentação desapareceu.

Programa continua funcionando.

Todos têm medo de alterar.

É chamado:

Código Arqueológico Mainframe™


Dicas Bellacosa Mainframe

Dica 1

Static para alta frequência.


Dica 2

Dynamic para produtos.


Dica 3

Nunca fazer:

MOVE WS-USUARIO TO WS-PGM

CALL WS-PGM

Sem validar.

Pode chamar qualquer coisa.

Inclusive algo inexistente.


Dica 4

Validar sempre.

EVALUATE WS-PGM

WHEN 'CPFCHK'

WHEN 'JUROS01'

WHEN 'PIX0001'

WHEN OTHER

DISPLAY 'INVALIDO'

END-EVALUATE

Dica 5

Logar chamadas.

DISPLAY 'CALL=' WS-PGM

Ajuda muito.


A Filosofia Jedi do CALL

O Padawan iniciante pensa:

CALL serve apenas para executar outro programa.

O desenvolvedor intermediário pensa:

CALL serve para reutilizar código.

O Mestre Mainframe entende:

CALL é uma decisão arquitetural.

Ele impacta:

  • CPU

  • Memória

  • Tempo de resposta

  • Tamanho do Load Module

  • Facilidade de manutenção

  • Segurança

  • Escalabilidade

  • Observabilidade

  • Estratégia de deploy

E é exatamente por isso que, cinquenta anos depois, os sistemas bancários que movimentam bilhões de dólares diariamente ainda utilizam a mesma instrução COBOL que um programador digitou em um terminal verde na década de 1970:

CALL 'SUBPGM'

Na próxima etapa da jornada, o Padawan descobrirá que o verdadeiro poder do COBOL não está apenas em chamar programas, mas em como os dados atravessam a fronteira entre eles, mergulhando nos mistérios de BY REFERENCE, BY CONTENT, BY VALUE, ponteiros, Work-Storage, Local-Storage e Language Environment, onde vivem os temidos S0C4, os buffers compartilhados e os segredos que fazem alguns programas parecerem mágicos aos olhos dos desenvolvedores mais jovens.

sábado, 29 de dezembro de 2018

Brasil 2018: quando o sistema foi reiniciado à força e ninguém leu o README

 

Bellacosa Mainframe e o caos brasileiro em 2018

Brasil 2018: quando o sistema foi reiniciado à força e ninguém leu o README

Meu quinto ano de volta ao Brasil foi 2018. Se 2017 tinha sido o ano do cansaço, 2018 foi o ano do susto. Aquele momento em que alguém, exausto de ver o sistema falhar, decide reiniciar tudo no grito — sem diagnóstico completo, sem plano de contingência, sem saber exatamente o que será perdido no processo.

Depois de doze anos na Europa, eu já reconhecia esse padrão. Vi versões parecidas em outros lugares: quando a política falha por tempo demais, o medo vira argumento, e o argumento vira arma.

Economia: estabilidade de papel, insegurança real

Economicamente, 2018 parecia estável apenas nos relatórios. O chão continuava irregular. Empregos mais frágeis, renda achatada, informalidade disfarçada de empreendedorismo. Era como rodar um sistema que não cai mais, mas também não entrega desempenho.

Para quem viveu fora, o contraste seguia brutal: na Europa, crise vem com proteção mínima. No Brasil, a lógica parecia outra — o sistema se preserva, o usuário se adapta. A economia seguia deixando rastros, não caminhos.

O brasileiro já não planejava. Administrava danos.

Sociedade: medo como política pública informal

Socialmente, 2018 foi dominado pelo medo. Medo do outro, medo do colapso, medo de perder o pouco que restava. As eleições amplificaram isso. A política deixou de ser espaço de projeto coletivo e virou campo de batalha emocional.

Bolsonaro emergiu não apenas como candidato, mas como sintoma. Para quem voltou da Europa, o padrão era reconhecível: discurso simples, soluções duras, nostalgia de ordem, promessa de força. O “terror da direita” não era só retórico — era a normalização do autoritarismo como resposta ao caos.

Quando o sistema falha demais, alguém sempre promete apertar o botão vermelho.

Cultura: o fim da nuance

Culturalmente, 2018 matou a nuance. Tudo virou rótulo. Ou você estava “dentro” ou “fora”. A complexidade foi tratada como defeito moral. O diálogo virou fraqueza. A dúvida virou crime.

Para quem passou anos em sociedades onde discordar não rompe laços automaticamente, foi doloroso assistir à dissolução do espaço comum. Arte, humor, conversa de bar — tudo contaminado por tensão política constante. O país parecia rodar em high availability, mas com latência emocional altíssima.

População: sobrevivendo em modo defensivo

O povo em 2018 já não reagia — se defendia. As pessoas se fecharam em bolhas, em narrativas próprias, em pequenos círculos de confiança. Vi gente boa se calar para evitar conflito. Vi outras gritarem para não desaparecer.

O brasileiro, resiliente como sempre, seguiu em frente. Mas agora com armadura. E armadura pesa.

Eleições: quando o sistema escolhe o risco

As novas eleições não foram um debate sobre futuro — foram um plebiscito sobre frustração. Bolsonaro venceu não porque apresentou um projeto consistente, mas porque encarnou a negação de tudo que estava aí. Foi um voto de ruptura, não de construção.

Como ex-imigrante, a sensação foi clara: o Brasil escolheu rodar uma versão experimental do sistema em produção. Sem testes suficientes. Sem rollback confiável.

Veteranos de mainframe sabem: isso nunca termina bem.

Vida pessoal: o colapso e o recomeço

E enquanto o país passava por sua própria ruptura, minha vida pessoal também atravessava um cutover. 2018 marcou o fim da Juliana e o início da Ana Paula. Não como metáfora política barata, mas como sincronia estranha entre o macro e o micro.

O fim de um ciclo longo, conhecido, já desgastado. O início de algo novo, incerto, mas necessário. Assim como o país, eu estava cansado de remendos. Precisava de verdade, não de estabilidade artificial.

Às vezes, o sistema pessoal também precisa cair para ser reconstruído com mais honestidade.

Quinto ano pós-retorno: sem ilusões

Em 2018, já não havia ilusão alguma. Nem sobre o Brasil, nem sobre mim mesmo. Eu já não esperava normalidade europeia nem redenção automática brasileira. Entendi que tinha voltado para um país em disputa profunda — de narrativa, de valores, de futuro.

O sistema seguia ligado, sim. Mas agora sob nova administração, com operadores dispostos a sacrificar segurança em nome de controle, e usuários divididos entre esperança desesperada e medo resignado.

Epílogo: lição dura de sistemas críticos

2018 ensinou uma das lições mais antigas de qualquer ambiente complexo:
quando a frustração substitui o projeto,
qualquer solução parece aceitável —
até que o custo aparece.

O Brasil de 2018 não escolheu um caminho claro.
Escolheu um risco.

E todo operador experiente sabe:
reiniciar um sistema sem entender por que ele falhou
é a forma mais rápida de repetir o erro —
só que com consequências maiores.


domingo, 23 de dezembro de 2018

🍖 O Grande Mistério do Osso Gigante dos Animes!

 

Bellacosa Mainframe e o grande misterio da carne no osso de animes

🍖 O Grande Mistério do Osso Gigante dos Animes!

O Dia em que um Programador COBOL Descobriu que Todo Herói de Isekai Come a Mesma Carne... e Ela Nem Existe Desse Jeito!

"Padawan... você já reparou que não importa se o protagonista está numa taverna medieval, num reino demoníaco, numa guilda de aventureiros ou derrotando o Rei Demônio... sempre aparece alguém segurando um pedaço colossal de carne no osso?"

É quase um protocolo.

Chega a comida...

🍺 caneca de cerveja.

🍞 pão rústico.

🥔 batata.

E...

🍖 O OSSÃO DA FELICIDADE™.

Bellacosa Mainframe e a marcante carne

O protagonista pega aquilo com uma mão só e...

NHAC! NHAC! NHAC!

...

Como bom programador COBOL, você olha para aquilo e pensa:

"Que corte bovino é esse?"

A resposta é maravilhosa.

Na maioria das vezes... não é corte nenhum.


A Carne Oficial dos Animes

Ela possui propriedades curiosíssimas.

✔ cabe numa mão

✔ pesa uns 3 kg

✔ cozinha em cinco minutos

✔ nunca tem gordura

✔ nunca tem nervo

✔ o osso fica perfeitamente limpo

✔ parece uma coxa de dinossauro

É praticamente um...

01  MEAT-ON-BONE.
    05 TASTE         PIC X(100).
       VALUE "ABSURDAMENTE DELICIOSA".

A origem da inspiração

Curiosamente...

Ela vem muito mais da cultura ocidental do que da japonesa.

Durante décadas, filmes americanos mostravam banquetes medievais.

Reis.

Cavaleiros.

Vikings.

Piratas.

Todos segurando enormes pedaços de carne.

Hollywood exagerava.

Os ilustradores japoneses copiaram essa linguagem visual porque...

ela comunica imediatamente uma ideia.

Sem escrever uma palavra, você entende:

"Essa comida é farta."


Bellacosa Mainframe anime que é anime tem banquete tem carne no osso 

É um ícone visual

Mangá é economia.

Anime também.

Imagine desenhar isto:

🥩 Contra-filé

ou

🍖 um pedaço gigante no osso.

Qual chama mais atenção?

O segundo.

O leitor bate o olho e pensa:

"Nossa... que banquete!"


O verdadeiro culpado é...

Os Flintstones.

Sim.

Fred Flintstone praticamente inventou esse clichê moderno.

Aquele famoso bife gigantesco que fazia o carro de pedra tombar virou um dos maiores símbolos da cultura pop.

Depois vieram:

  • Asterix

  • filmes medievais

  • cartoons

  • RPGs

  • videogames

  • mangás

  • animes

Hoje virou patrimônio cultural dos isekais.


Mas existe isso na vida real?

Existe.

Só que...

Não daquele tamanho.

As inspirações mais comuns são:

🍖 Costela bovina

A campeã.

A costela possui bastante carne entre os ossos.

Depois de muitas horas no fogo...

fica exatamente com aquele aspecto suculento.

Só que...

ninguém segura uma costela inteira com uma mão.


🍖 Prime Rib

Também chamado de:

  • Bisteca bovina

  • Chuleta

  • Rib Steak

É um corte bonito.

Possui um osso grande.

Visualmente lembra bastante alguns animes.


🍖 Tomahawk Steak

Esse é provavelmente o campeão da inspiração moderna.

Image

Image

Image

Image

Image

Image

Quando você vê um Tomahawk...

você entende imediatamente de onde vieram vários desenhos modernos.

A diferença é que...

O Tomahawk pesa facilmente mais de 1 kg.

O protagonista do anime parece comer três deles no café da manhã.


🍖 Ossobuco

Outro candidato.

Só que normalmente vem cortado em fatias.

Não tem aquele formato de "clava" gigante.


🍖 Pernil

Muitos artistas misturam carne bovina com pernil suíno.

Na prática...

o desenho parece uma mistura de:

  • costela

  • pernil

  • coxa de peru

  • carne de javali

Tudo ao mesmo tempo.


E por que sempre tem osso?

Porque o osso comunica poder.

Observe a diferença.

🥩 Bife

Parece almoço.

🍖 Carne no osso

Parece recompensa após derrotar um dragão.

É praticamente um item lendário.


A Física Não Fecha

Vamos analisar como um engenheiro faria.

INPUT:
- Osso enorme
- Carne enorme

OUTPUT:
- Herói feliz

BUG:

Peso estimado:
4 kg

Consumo:

15 segundos

ABEND.

Nem o Hulk faz isso.


O Programador COBOL faz diferente

Enquanto o aventureiro diz:

"Finalmente uma refeição!"

o COBOL pensa:

IF MEAT-SIZE > MOUTH-SIZE
    PERFORM CUT-INTO-SMALLER-PIECES
ELSE
    PERFORM EAT
END-IF.

Muito mais seguro.


Existe um significado escondido?

Existe.

Na narrativa japonesa, comida representa muito mais do que alimentação.

Ela representa:

🍖 paz

🍖 amizade

🍖 recompensa

🍖 prosperidade

🍖 pertencimento

Depois de vários episódios sofrendo...

o herói finalmente pode relaxar.

Por isso quase sempre aparece:

  • fogueira

  • carne

  • cerveja

  • risadas

É um momento de descanso antes da próxima batalha.


Em isekais isso virou tradição

Observe quantos fazem isso:

  • Konosuba

  • Overlord

  • Campfire Cooking

  • Goblin Slayer

  • Log Horizon

  • Tsukimichi

  • Re:Monster

  • Farming Life

  • Mushoku Tensei

  • Black Summoner

É quase obrigatório.

Se apareceu uma taverna...

apareceu o ossão.


A verdadeira explicação Bellacosa Mainframe

Imagine um restaurante dentro do CPD.

O cozinheiro anuncia:

"Hoje temos picanha."

O operador de mainframe responde:

— Pequena?

— Não.

— Contra-filé?

— Não.

— Costela?

— Também não.

O cozinheiro sorri misteriosamente e abre uma tampa metálica.

Lá dentro está...

🍖 O MEAT FILE VERSION 7.3

Compilado diretamente no Reino Fantástico.

Características técnicas:

  • Compatível com humanos, elfos, anões e dragões.

  • Nunca esfria durante o diálogo.

  • Possui sabor +999.

  • Remove fadiga instantaneamente.

  • Aumenta a amizade entre os personagens em 300%.

  • Gera felicidade com complexidade O(1).

  • Nunca causa colesterol, indigestão ou necessidade de escovar os dentes.

No mundo real, porém, o "primo" mais próximo desse ícone dos animes seria um Tomahawk Steak ou uma costela bovina assada lentamente, com algumas ilustrações também lembrando uma prime rib. O restante é licença artística pura — afinal, desenhar uma carne gigantesca no osso é uma maneira instantânea de dizer ao espectador: "esse banquete é digno de um herói que acabou de salvar o reino".

Porque no universo dos animes existe uma lei que nunca falha:

Quanto maior o osso, maior foi o chefe final derrotado antes do jantar. 🍖😆

domingo, 16 de dezembro de 2018

Ferris Bueller’s Red Team: Como Hackear o Sistema Sem Precisar Roubar a Ferrari do Cameron

Bellacosa Mainframe e o hacker ferris bueller em uma licao para red team

☕ Um Café no Bellacosa Mainframe — Especial Red Team

Ferris Bueller’s Red Team: Como Hackear o Sistema Sem Precisar Roubar a Ferrari do Cameron

🎬 Temporada de 12 artigos



1. Ferris Bueller Tinha um Plano de Ataque — Red Team Antes de Existir Red Team
Reconhecimento, criatividade adversarial e o princípio fundamental: não ataque a tecnologia; ataque as suposições de quem construiu o sistema.

Aqui apresentaríamos Red Team como mentalidade. Ferris observa pais, escola, diretor, horários, telefone, computador e comportamento humano. O verdadeiro exploit não está numa única máquina: está na combinação das peças.

https://eljefemidnightlunch.blogspot.com/2017/02/ferris-bueller-tinha-um-plano-de-ataque.html



2. Nove Faltas? CTRL+Z — Quando o Banco de Dados Decide o que é Verdade

Ferris, registros escolares, integridade de dados e o perigo de confiar cegamente naquilo que aparece na tela.

O artigo inspirado diretamente na famosa cena do computador. O diretor conhece Ferris pessoalmente, suspeita dele, quase pode sentir o cheiro da fraude — mas o sistema diz outra coisa.

Perfeito para falar de:

alteração de registros, privilégio excessivo, integridade, trilha de auditoria, insider threat e o princípio:

“Está no sistema” não significa “é verdade”.

 https://eljefemidnightlunch.blogspot.com/2017/03/nove-faltas-ctrlz-quando-o-banco-de.html



3. Abe Froman, o Rei da Salsicha de Chicago — A Aula de Engenharia Social que Ninguém Percebeu

Pretexting, autoridade inventada, confiança contextual e como uma identidade falsa pode funcionar porque todos esperam que ela exista.

Esse pode ficar delicioso.

Ferris não precisa provar matematicamente que é Abe Froman. Ele precisa parecer suficientemente convincente durante tempo suficiente para atravessar o controle.

É praticamente:

Identity ≠ Authentication ≠ Authorization.

https://eljefemidnightlunch.blogspot.com/2017/05/abe-froman-o-rei-da-salsicha-de-chicago.html




4. “Você Conhece o Diretor Rooney?” — OSINT Antes do Google Existir
Como informação aparentemente inútil sobre pessoas, hábitos e organizações se transforma em superfície de ataque.

Aqui entra Recon.

Red Team não começa com nmap.

Começa perguntando:

Quem trabalha aqui?
Quem manda?
Quem confia em quem?
Como as pessoas falam?
Que sistemas utilizam?
Quando estão distraídas?

LinkedIn, GitHub, redes sociais, documentos públicos, metadata, vagas de emprego e até linguagem corporativa entram lindamente.

https://eljefemidnightlunch.blogspot.com/2017/06/voce-conhece-o-diretor-rooney-osint.html




5. Cameron, Atenda o Telefone — Social Engineering as a Service
Quando o atacante não trabalha sozinho e transforma pessoas legítimas em componentes involuntários do exploit.

Ferris usa Cameron como parte da infraestrutura.

E isso abre uma discussão maravilhosa:

Ferris → Cameron → Telefone → Escola → Funcionário → Sistema

Nenhum componente isoladamente é vulnerável.

A cadeia inteira é.

Swiss Cheese Model puro.

https://eljefemidnightlunch.blogspot.com/2018/01/cameron-atenda-o-telefone-social.html




6. O Diretor Rooney Está Procurando Malware no Lugar Errado
Por que organizações caçam invasores sofisticados enquanto o atacante entra pela recepção.

Rooney imagina Ferris fazendo alguma coisa mirabolante.

Ferris simplesmente manipula pessoas e processos.

É o clássico problema de segurança:

Firewall: US$ 500.000
SIEM: US$ 1.000.000
EDR: US$ 800.000
Zero Trust: US$ 2.000.000

Funcionário recebendo ligação:
— Sim senhor, posso alterar isso.

💀 GAME OVER.

https://eljefemidnightlunch.blogspot.com/2018/02/o-diretor-rooney-esta-procurando.html




7. A Ferrari do Cameron Não Tinha MFA
Privilégio, acesso físico e o perigo de acreditar que “ninguém jamais faria isso”.

A Ferrari vira nosso sistema crítico.

Não precisa ser literalmente roubada.

O problema é que o pai de Cameron criou um modelo de segurança baseado em:

medo + confiança + proibição.

Não em controle.

Excelente para falar de:

PAM, MFA, segregação de funções, least privilege, credenciais privilegiadas e controles compensatórios.

https://eljefemidnightlunch.blogspot.com/2017/07/a-ferrari-do-cameron-nao-tinha-mfa.html



8. Colocamos a Ferrari em Ré — Por Que Rollback Não É Backup
O glorioso momento em que alguém descobre que desfazer uma ação não significa desfazer suas consequências.

Este seria obrigatório. 😂

Tentam reverter a quilometragem colocando o carro em marcha a ré.

Metáfora perfeita para:

backup, restore, rollback, logs, journaling, Db2, VSAM, recuperação de transações e resposta a incidentes.

E a frase Bellacosa Mainframe:

“Produção não possui Ctrl+Z emocional.”

https://eljefemidnightlunch.blogspot.com/2017/08/colocamos-ferrari-em-re-por-que.html 




9. Rooney Invadiu a Casa Errada — Quando o Blue Team Vira o Próprio Incidente
Tunnel vision, confirmation bias e o investigador que fica tão obcecado pelo atacante que começa a quebrar controles.

Aqui entraria seu universo recente de vieses cognitivos.

Rooney está tão convencido de que Ferris está fraudando tudo que começa a tomar decisões cada vez piores.

Perfeito para:

Confirmation Bias
Plan Continuation Bias
Sunk Cost Fallacy
Authority Gradient
Outcome Bias.

O defensor também pode ser explorado psicologicamente.

https://eljefemidnightlunch.blogspot.com/2017/09/rooney-invadiu-casa-errada-quando-o.html



10. FerrisGPT — Agora o Adolescente Tem um Exército de Estagiários Sintéticos
O que acontece quando engenharia social, OSINT e automação encontram IA generativa.

Aqui a série pula brutalmente para 2026.

O Ferris de 1986 precisava:

telefonar, improvisar, conhecer pessoas e estudar o ambiente.

O Ferris de 2026 pode ter:

LLM, voice cloning, deepfake, agentes, scripts, OSINT automatizado, geração de phishing e análise de documentação.

A pergunta deixa de ser:

“Ferris conseguiria fazer isso hoje?”

E passa a ser:

“Quantos Ferris podem fazer isso simultaneamente?”

https://eljefemidnightlunch.blogspot.com/2017/10/ferrisgpt-agora-o-adolescente-tem-um.html





11. Ferris Entra no Mainframe — RACF, z/OS e o Dia em que SPECIAL Virou o Passe para Chicago
Como pensar Red Team em ambientes que não foram projetados com o atacante moderno como personagem principal.

Aqui entra pesado o Bellacosa Mainframe.

RACF
SAF
ACEE
APF
USS
TSO
JCL
CICS
Db2
MQ
z/OS Connect
Zowe
APIs
credenciais técnicas
service accounts.

E principalmente:

O mainframe pode ser extraordinariamente seguro e ainda assim estar ligado a cinquenta sistemas muito menos seguros.

O atacante talvez não ataque o z/OS.

Ele ataca o caminho até ele.

https://eljefemidnightlunch.blogspot.com/2017/11/ferris-entra-no-mainframe-racf-zos-e-o.html




12. “A Vida Passa Muito Rápido” — O Red Team Depois que Todo Mundo Foi Embora
Por que o objetivo de um Red Team não é provar que o atacante é inteligente, mas descobrir aquilo que a organização ainda não sabe sobre si mesma.

Final mais filosófico.

Depois de 11 artigos fazendo bagunça, Ferris/Bellacosa fecha a temporada dizendo que Red Team não é sobre:

“HA! CONSEGUI INVADIR.”

É sobre transformar:

Ataque
   ↓
Descoberta
   ↓
Evidência
   ↓
Correção
   ↓
Detecção
   ↓
Aprendizado

https://eljefemidnightlunch.blogspot.com/2017/12/a-vida-passa-muito-rapido-o-red-team.html


E concluiríamos com algo bem Curtindo a Vida Adoidado:

Sistemas passam muito rápido. Se você não parar para observá-los de vez em quando, pode não perceber que alguém já encontrou um jeito de sair pela porta dos fundos. 

 


https://eljefemidnightlunch.blogspot.com/2018/12/ferris-buellers-red-team-como-hackear-o.html




☕ Um Café no Bellacosa Mainframe — Especial Red Team

SAVE FERRIS — Ferris Bueller’s Red Team

Uma série de 12 artigos sobre Red Team, segurança ofensiva, engenharia social, OSINT, integridade de dados, MFA, PAM, rollback, Blue Team, inteligência artificial, RACF e z/OS, usando Ferris Bueller para explorar uma pergunta fundamental: o sistema está realmente seguro ou apenas acredita que está?

  • Red Team
  • OSINT
  • Engenharia Social
  • Blue Team
  • MFA
  • PAM
  • IA Generativa
  • RACF
  • z/OS
  • Mainframe
1

Ferris Bueller Tinha um Plano de Ataque — Red Team Antes de Existir Red Team

Reconhecimento, criatividade adversarial e a ideia de que o verdadeiro alvo nem sempre é a tecnologia: são as suposições de quem construiu o sistema.

Red Team • Recon • Threat Modeling • Criatividade Adversarial
2

Nove Faltas? CTRL+Z — Quando o Banco de Dados Decide o que é Verdade

Integridade de dados, alteração de registros, privilégio, auditoria e a perigosa diferença entre aquilo que aconteceu e aquilo que o banco de dados afirma ter acontecido.

Integridade • Db2 • Auditoria • Insider Threat • Dados
3

Abe Froman, o Rei da Salsicha de Chicago — A Aula de Engenharia Social que Ninguém Percebeu

Pretexting, autoridade inventada e confiança contextual: Identity, Authentication e Authorization não são a mesma coisa.

Engenharia Social • Pretexting • Identity • Authentication
4

“Você Conhece o Diretor Rooney?” — OSINT Antes do Google Existir

Como dados públicos sobre pessoas, tecnologias, hábitos, empresas e relacionamentos podem revelar uma superfície de ataque antes do primeiro scan.

OSINT • Recon • LinkedIn • GitHub • Attack Surface
5

Cameron, Atenda o Telefone — Social Engineering as a Service

Ferris → Cameron → telefone → escola → funcionário → sistema. Nenhuma peça precisa falhar sozinha quando a cadeia inteira possui uma combinação explorável de confiança.

Social Engineering • Swiss Cheese Model • Human Risk
6

O Diretor Rooney Está Procurando Malware no Lugar Errado

Firewall, SIEM, EDR e Zero Trust podem funcionar perfeitamente enquanto engenharia social, Help Desk e processos humanos criam outro caminho até o objetivo.

SOC • SIEM • EDR • Zero Trust • Engenharia Social
7

A Ferrari do Cameron Não Tinha MFA

Privilégio, acesso físico, MFA, PAM, least privilege e o risco de proteger um ativo crítico apenas com medo, confiança e a esperança de que ninguém ousará tocá-lo.

MFA • PAM • Least Privilege • Privileged Access
8

Colocamos a Ferrari em Ré — Por Que Rollback Não É Backup

Rollback, restore, journaling, logs, Db2, VSAM e recuperação: voltar o estado de um sistema não significa apagar as consequências daquilo que aconteceu.

Backup • Restore • Rollback • Db2 • VSAM • Recovery
9

Rooney Invadiu a Casa Errada — Quando o Blue Team Vira o Próprio Incidente

Confirmation Bias, tunnel vision, Sunk Cost, Authority Gradient e o risco de uma resposta defensiva criar mais impacto que o próprio atacante.

Blue Team • SOC • Cognitive Bias • Incident Response
10

FerrisGPT — Agora o Adolescente Tem um Exército de Estagiários Sintéticos

IA generativa, agentes, OSINT automatizado, deepfake, voice cloning e automação transformam o ataque artesanal em uma capacidade paralela e escalável.

Generative AI • Agents • Deepfake • Voice Cloning • OSINT
11

Ferris Entra no Mainframe — RACF, z/OS e o Dia em que SPECIAL Virou o Passe para Chicago

RACF, SAF, ACEE, APF, USS, TSO, CICS, Db2, MQ, z/OS Connect, Zowe e service accounts vistos pela ótica dos caminhos de ataque até o mainframe.

Mainframe • RACF • z/OS • CICS • Db2 • MQ • Zowe
12

“A Vida Passa Muito Rápido” — O Red Team Depois que Todo Mundo Foi Embora

Red Team não termina em “conseguimos entrar”. Ataque deve gerar descoberta, evidência, correção, detecção e aprendizado para deixar a organização mais resiliente.

Red Teaming • Purple Team • Detection • Resilience • Learning

🎬 Página principal da temporada

Ferris Bueller’s Red Team: Como Hackear o Sistema Sem Precisar Roubar a Ferrari do Cameron reúne os doze episódios e conecta Red Team, engenharia social, IA, Blue Team e segurança de mainframe.

☕ Acessar o especial completo SAVE FERRIS

Sobre a série SAVE FERRIS — Red Team

A série SAVE FERRIS, publicada no Bellacosa Mainframe, utiliza situações inspiradas em Ferris Bueller para explicar conceitos de Red Team, cybersecurity, segurança ofensiva, engenharia social, OSINT, Blue Team, Purple Team, Zero Trust, MFA, PAM, inteligência artificial, RACF, IBM z/OS, CICS, Db2, MQ e segurança de mainframe.

O fio condutor é simples: um atacante não precisa necessariamente quebrar a tecnologia. Ele pode explorar relações de confiança, processos, identidades, privilégios, integrações e suposições existentes entre pessoas e sistemas.

A temporada acompanha o ciclo completo: reconhecimento → engenharia social → acesso → privilégio → impacto → detecção → correção → aprendizado.

Para Red Teams e Blue Teams, o objetivo final não é provar quem é mais inteligente, mas encontrar caminhos invisíveis antes que um adversário real os descubra.

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