☕ 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? 



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

Sem comentários:

Enviar um comentário

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

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

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

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