☕ 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 ansible. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta ansible. Mostrar todas as mensagens

sábado, 12 de setembro de 2026

👄 COBOL Horror Picture Show — Frank-N-Furter e a Estranha Arte de Modernizar sem Matar a Criatura

 

Bellacosa Mainframe e a modernização do cobol

☕ Um Café no Bellacosa Mainframe

👄 COBOL Horror Picture Show — Frank-N-Furter e a Estranha Arte de Modernizar sem Matar a Criatura

“Don’t dream it. Be it.” — e, se estiver em produção há quarenta anos, talvez seja melhor descobrir primeiro todas as dependências antes de tentar transformá-lo.

Há alguma coisa deliciosamente apropriada em colocar Frank-N-Furter, de The Rocky Horror Picture Show, diante de uma arquitetura de modernização COBOL.

Pense na cena.

No centro do laboratório existe uma aplicação COBOL.

Ela é antiga.

Muito antiga.

Há décadas recebe transações, abre arquivos, atualiza bancos de dados, processa lotes durante a madrugada e alimenta sistemas que provavelmente nem existiam quando sua primeira versão foi compilada.

Em volta dela aparecem engenheiros carregando Git, Jenkins, Terraform, Ansible, AWS EC2, RDS, Secrets Manager e CloudWatch.

Luzes piscam.

Pipelines começam a executar.

Playbooks descem do Git.

EC2s surgem.

O banco ganha vida.

E alguém grita:

“IT'S ALIVE!”

Calma.

Frank-N-Furter ficaria encantado.

Eu ficaria procurando o JCL.

Porque existe uma diferença monumental entre fazer um programa COBOL executar em outro lugar e modernizar o sistema empresarial do qual aquele programa faz parte.

E é justamente essa diferença que vamos explorar.

Bem-vindo ao laboratório.



🎭 1. Antes de tudo: conheça o Dr. Frank-N-Furter

The Rocky Horror Picture Show nasceu como adaptação cinematográfica do musical The Rocky Horror Show, criado por Richard O'Brien, e chegou aos cinemas em 1975.

No centro daquela insanidade musical está o Dr. Frank-N-Furter, interpretado por Tim Curry.

Cientista.

Showman.

Manipulador.

Extravagante.

E, sobretudo, criador.

Frank não quer simplesmente estudar aquilo que existe.

Ele quer construir sua própria criatura.

Rocky nasce dentro do laboratório como materialização dessa ambição.

E é exatamente por isso que Frank é nosso tutor perfeito para esta conversa.

Modernização de sistemas também pode sofrer da síndrome de Frank-N-Furter:

ficamos tão fascinados com nossa capacidade de construir alguma coisa nova que esquecemos de perguntar se entendemos completamente aquilo que estamos substituindo.



⚡ 2. Há uma criatura COBOL sobre a mesa

Nossa arquitetura começa com algo aparentemente simples:

COBOL
   +
AWS EC2
   +
AWS RDS
   +
Ansible
   +
Terraform
   +
CI/CD

A proposta é elegante.

Temos ambientes:

DEV
 ↓
SIT
 ↓
UAT
 ↓
PRE-PROD
 ↓
PROD

Terraform provisiona infraestrutura.

Ansible configura máquinas e instala o ambiente necessário.

O pipeline controla o processo.

RDS fornece banco de dados gerenciado.

Git preserva código e configuração.

CloudWatch observa o ambiente.

Excelente.

Mas Frank-N-Furter aproxima-se da mesa, levanta o lençol e pergunta:

“Isso é realmente tudo que existe dentro da criatura?”

Não.

Quase nunca.



🧟 3. COBOL não é o monstro

Esta talvez seja a primeira grande inversão que precisamos fazer.

Quando alguém anuncia:

“Temos uma aplicação COBOL de quarenta anos.”

muita gente imediatamente imagina que encontrou o problema.

Não encontrou.

Encontrou uma linguagem.

O problema real pode estar em tudo aquilo que cresceu ao redor dela:

                COBOL
                  │
       ┌──────────┼──────────┐
       │          │          │
      CICS       IMS        Db2
       │          │          │
      VSAM       MQ        Stored
       │                   Procedures
       │
      JCL
       │
   Scheduler
       │
 GDG / datasets

Depois aparecem:

SORT
IDCAMS
REXX
PROCs
copybooks
utilities
FTP/SFTP
APIs
arquivos externos
interfaces
sistemas parceiros

Então alguém encontra um programa:

CALL 'XPTO123'

Ótimo.

Onde está XPTO123?

Ninguém sabe.

Até que aquele senhor sentado no fundo da sala fala:

“Ah... isso chama uma rotina que o Pereira escreveu em 1997.”

Onde está Pereira?

Aposentado.

Documentação?

Não existe.

Código?

Está numa load library.

Bem-vindo ao castelo.


🔬 4. “I can make you a man” — recompilar não significa modernizar

Imagine que conseguimos pegar determinado programa COBOL e compilá-lo para execução em Linux numa instância EC2.

Fantástico.

COBOL/zOS
    │
    ▼
COBOL/Linux
    │
    ▼
AWS EC2

A aplicação executa.

Então:

“IT'S ALIVE!”

Sim.

Mas cuidado.

Fizemos replatforming.

Talvez isso seja exatamente aquilo que o projeto necessita. Não há absolutamente nada de errado com replatforming.

O erro está em chamar qualquer mudança de plataforma de transformação completa.

A lógica pode continuar praticamente igual.

O código pode continuar COBOL.

O que mudou foi o ambiente no qual ele vive.

É como Rocky.

Frank criou um homem.

Mas criar um corpo funcionando não resolveu automaticamente todos os problemas do castelo.


🏗️ 5. Terraform constrói o laboratório

Vamos separar responsabilidades.

Terraform pode assumir a infraestrutura:

Terraform
    │
    ├── VPC
    ├── Subnets
    ├── Security Groups
    ├── EC2
    ├── IAM
    ├── RDS
    └── outros recursos

Pense nele como quem prepara o laboratório.

Mesa instalada.

Eletricidade ligada.

Tanque montado.

Cabos conectados.

Máquinas posicionadas.

Mas Terraform não deveria necessariamente decidir cada detalhe de configuração da criatura.

Para isso entra outro personagem.


🧰 6. Ansible entra usando salto alto

Ansible entra no laboratório dizendo:

“Deixem a configuração comigo.”

E começa.

EC2
 ↓
pacotes do sistema operacional
 ↓
COBOL compiler/runtime
 ↓
environment variables
 ↓
aplicação
 ↓
configuração
 ↓
database connectivity
 ↓
services
 ↓
health checks

É aqui que a arquitetura original fica realmente interessante.

Não precisamos ter um processo artesanal para DEV, outro para SIT, outro para UAT e um ritual secreto conhecido apenas por dois operadores para PRE-PROD.

Temos automação reutilizável.

Algo conceitualmente assim:

             ANSIBLE ROLE
                  │
       ┌──────────┼──────────┐
       │          │          │
      DEV        SIT        UAT
                              │
                              ▼
                          PRE-PROD

A receita permanece.

Os ingredientes variáveis são separados.


🧓 7. O programador COBOL olha para group_vars e começa a rir

Aqui temos uma das minhas partes favoritas.

A turma DevOps explica:

“Nós separamos a lógica da automação dos parâmetros específicos do ambiente.”

O programador COBOL responde:

“Parâmetros?”

Sim.

DEV pode ter:

DB = APP_DEV
PORT = 1521
ENDPOINT = dev-database

SIT:

DB = APP_SIT
PORT = 1521
ENDPOINT = sit-database

UAT:

DB = APP_UAT
PORT = 1521
ENDPOINT = uat-database

O playbook continua fundamentalmente o mesmo.

Para alguém vindo do mainframe, isso não deveria parecer ficção científica.

Nós passamos décadas trabalhando com conceitos semelhantes através de:

JCL
PROCs
symbolic parameters
PARMLIB
SYSIN
DD statements

Mudam as ferramentas.

A ideia de externalizar configuração é muito mais antiga que os slides modernos que a apresentam.

Frank-N-Furter provavelmente acrescentaria glitter.


👄 8. “Don’t dream it. Be it.” — Infrastructure as Code

Aqui encontramos uma mudança genuinamente poderosa.

Durante décadas tivemos infraestrutura e configuração documentadas mais ou menos assim:

“Instalar pacote X, editar arquivo Y, trocar parâmetro Z, reiniciar serviço e telefonar para Carlos se não funcionar.”

Carlos sai da empresa.

Fim da documentação.

Infrastructure as Code transforma parte desse conhecimento operacional em algo executável.

CONHECIMENTO
     ↓
    CODE
     ↓
Version Control
     ↓
Automation
     ↓
Environment

Isso é importante.

Código pode ser:

revisado, versionado, comparado, testado, auditado e reproduzido.

O conhecimento deixa de existir exclusivamente na memória do operador.


🧪 9. DEV → SIT → UAT → PRE-PROD

Agora Frank conduz nossa criatura pelos diferentes aposentos do castelo.

DEV

Aqui desenvolvemos e realizamos os primeiros testes.

SOURCE
  ↓
BUILD
  ↓
TEST
  ↓
DEPLOY

SIT

System Integration Testing.

Aqui descobrimos uma verdade universal da informática:

Tudo funciona perfeitamente até precisar conversar com outra coisa.

Banco.

APIs.

Filas.

Serviços.

Arquivos.

Autenticação.

Sistemas externos.

UAT

User Acceptance Testing.

Agora a pergunta deixa de ser apenas:

“Funciona?”

e torna-se:

“Isso faz aquilo que o negócio realmente precisa?”

Diferença enorme.

PRE-PROD

Aqui chegamos ao ensaio geral.

E PRE-PROD deveria ser assustadoramente parecido com produção.


🏰 10. PRE-PROD precisa ser o castelo quase completo

Um PRE-PROD simplificado demais produz falsa segurança.

Precisamos considerar:

OS version
runtime version
COBOL compiler/runtime
database version
patches
CPU architecture
memory
network
TLS
IAM
filesystem
locale
encoding
timezone
batch
integrations
security policies

Quanto mais diferente de PROD, mais perguntas surgem.

Imagine:

UAT
COBOL Runtime 8.0

PROD
COBOL Runtime 7.4

Funcionou no UAT.

Que maravilhoso.

Mas você não testou produção.

Testou outra coisa.


📦 11. Está faltando um personagem importante: o artefato

Aqui eu faria uma alteração importante na arquitetura.

Não gosto da ideia de recompilar arbitrariamente a aplicação em cada ambiente.

Prefiro:

          SOURCE
             │
             ▼
           BUILD
             │
             ▼
            TEST
             │
             ▼
      ARTIFACT REPOSITORY
             │
     ┌───────┼─────────┐
     ▼       ▼         ▼
    DEV     SIT       UAT
                       │
                       ▼
                   PRE-PROD
                       │
                       ▼
                     PROD

Isso nos leva a um princípio extremamente poderoso:

Build once, deploy many.

Produzimos uma criatura.

Depois submetemos aquela mesma criatura aos testes.

Não fazemos Rocky 1 para DEV, Rocky 2 para SIT, Rocky 3 para UAT e Rocky 4 para produção esperando que todos sejam geneticamente idênticos.


🕵️ 12. A pergunta do auditor

Imagine uma mudança chegando a produção.

O auditor pergunta:

“Esse binário é exatamente aquele homologado?”

Se cada ambiente recompila:

SOURCE
 ↓
DEV BUILD

SOURCE
 ↓
SIT BUILD

SOURCE
 ↓
UAT BUILD

SOURCE
 ↓
PROD BUILD

temos quatro processos de construção.

Mesmo que tudo pareça igual, aumentamos nossa superfície de dúvida.

Com artefato imutável:

SOURCE
 ↓
BUILD
 ↓
ARTIFACT 7.3.17
 ↓
DEV
 ↓
SIT
 ↓
UAT
 ↓
PRE-PROD
 ↓
PROD

agora existe uma cadeia muito mais clara.


🔐 13. Sweet Transvestite não significa senha escrita no YAML

Chegamos aos secrets.

Nunca faça:

database_password: "senha_supersecreta123"

e depois:

git commit

Parabéns.

Você acaba de transformar seu Git em museu arqueológico de credenciais.

A arquitetura corretamente menciona mecanismos como Ansible Vault e AWS Secrets Manager.

O princípio é:

CODE ≠ SECRET

Idealmente:

CI/CD
   │
   ▼
IAM / temporary authorization
   │
   ▼
Secrets Manager
   │
   ▼
Runtime

O segredo aparece apenas onde e quando precisa aparecer.


🧛 14. Privilégio mínimo: nem Frank deveria ter acesso a tudo

Outro princípio:

Developer ≠ Production Admin
Application ≠ Database Admin
Pipeline ≠ Unlimited AWS Administrator

Cada componente recebe apenas aquilo de que necessita.

Isso é least privilege.

Se determinado processo precisa consultar um segredo, não existe razão automática para permitir que consulte todos.

Se uma aplicação precisa acessar determinado banco, não significa que deva possuir poder administrativo sobre ele.

É o equivalente moderno de algo que o pessoal RACF conhece muito bem:

Quem é você e por que exatamente precisa acessar isso?


🗄️ 15. RDS parece simples até começarmos a falar de Db2

A imagem permite Oracle/PostgreSQL como exemplos.

Tudo bem.

Mas um cenário vindo de mainframe pode envolver:

COBOL
  +
Db2 for z/OS

E alguém inevitavelmente pensa:

Db2 → Db2

Então deve ser simples.

Ah, meu jovem Brad...

Não necessariamente.

Db2 for z/OS
      ≠
Db2 LUW
      ≠
RDS for Db2

Existe parentesco tecnológico.

Não existe identidade operacional perfeita.

Precisamos investigar SQL utilizado, stored procedures, utilities, comportamento transacional, autorização, integração e características específicas da plataforma.

O banco pode carregar tanta arqueologia quanto o COBOL.


🗃️ 16. E o VSAM?

Agora Frank encontra um arquivo VSAM no porão.

Silêncio.

Se a aplicação original utiliza:

KSDS
ESDS
RRDS

precisamos responder:

Para onde esses dados vão?

RDS?

Arquivos?

Outro datastore?

Mantemos comportamento equivalente?

E principalmente:

a aplicação depende semanticamente da organização original?

Não basta exportar registros e dizer:

“Migrei.”

Dados possuem comportamento.

Chaves.

Ordenação.

Concorrência.

Locking.

Integridade.

Performance.

Tudo isso importa.


📜 17. E o JCL?

Aqui está uma das grandes vítimas dos diagramas bonitos de modernização.

Pegamos o COBOL.

Migramos.

E esquecemos que às 02:00 existe isto:

JOB A
 ↓
JOB B
 ↓
JOB C ─── JOB D
   │
   ▼
 JOB E
   │
   ▼
 JOB F

Existem dependências.

Calendários.

Arquivos.

Condições.

Return codes.

Restart.

Checkpoints.

SLA.

Janelas de processamento.

O JCL talvez desapareça.

A necessidade que ele implementava não desaparece.

Alguma outra coisa precisará orquestrar aquilo.


⏰ 18. O batch não quer saber que agora você é cloud

Imagine um processamento que precisa terminar até 06:00.

No mainframe:

23:00 START
...
05:31 END

Migramos para AWS.

Agora:

23:00 START
...
06:47 END

Tecnicamente funciona.

Funcionalmente funciona.

Os resultados estão corretos.

E mesmo assim:

A MIGRAÇÃO FALHOU.

Porque o negócio precisava dos dados às 06:00.

Essa é uma lição gigantesca.

Compatibilidade funcional não é suficiente.

Precisamos de compatibilidade operacional.


📊 19. CloudWatch não deveria ficar decorando o canto do desenho

Observabilidade precisa atravessar toda a solução.

Não basta:

EC2 = UP
RDS = UP

Enquanto:

Pedidos processados = ZERO

Infraestrutura saudável não significa aplicação saudável.

Precisamos enxergar:

CPU
memory
disk
network
database latency
connections
locks
errors
transaction rate
response time
batch duration
business transactions

E aqui o veterano do mainframe reconhece novamente uma velha ideia.

O importante não é saber apenas:

“A máquina está ligada?”

O importante é:

“O workload está entregando aquilo que deveria?”


💥 20. PRE-PROD também precisa morrer

Frank provavelmente aprovaria esta parte.

Testamos:

DATABASE ONLINE

Excelente.

Agora desligue o banco.

Testamos:

NETWORK OK

Excelente.

Agora introduza timeout.

Testamos:

DISK SPACE OK

Encha o disco.

Testamos:

PASSWORD VALID

Revogue a credencial.

Queremos descobrir:

database unavailable
network failure
bad credentials
timeout
disk full
process killed
duplicate transaction
corrupted input
rollback failure
partial deployment

Porque produção descobrirá essas condições por você.

E produção não agenda laboratório.


🔥 21. O health check mais importante talvez seja o ABEND

Um health check dizendo:

HTTP 200

é agradável.

Mas para uma aplicação empresarial eu quero saber:

Aplicação iniciou?
Banco conecta?
Fila responde?
Transação funciona?
Arquivo abre?
Batch executa?
Rollback funciona?
Restart funciona?
Dados permanecem consistentes?

Um sistema não é saudável porque existe um processo no ps.

Ele é saudável quando consegue realizar sua função.


🔄 22. Rollback precisa entrar no espetáculo

Deployment sem rollback testado é fé.

O pipeline deveria conhecer algo como:

VERSION 8.4
    │
    ▼
DEPLOY
    │
    ├── SUCCESS → continue
    │
    └── FAILURE
            │
            ▼
        VERSION 8.3
            │
            ▼
        VALIDATION

Mas existe uma complicação.

Rollback de executável é relativamente fácil.

Rollback de banco pode não ser.

Se versão 8.4 alterou schema e começou a gravar dados novos, voltar simplesmente o executável para 8.3 talvez não resolva.

Portanto deployment strategy precisa conversar com database migration strategy.


🧬 23. A criatura tem memória

Esse é outro erro frequente.

Tratamos aplicação como código.

Mas aplicações empresariais são:

CODE
 +
DATA
 +
STATE
 +
INTEGRATIONS
 +
HISTORY

Migrar código é apenas uma parte.

Migrar décadas de dados mantendo integridade pode ser o verdadeiro projeto.

Frank consegue construir outro corpo.

Transferir quarenta anos de memória para ele é outra história.


🕸️ 24. Discovery deveria aparecer antes de Terraform

Se eu redesenhasse completamente a figura, colocaria no início:

             DISCOVERY
                 │
      ┌──────────┼───────────┐
      │          │           │
    COBOL       JCL         DATA
      │          │           │
     CICS    Scheduler     VSAM
      │                      │
     IMS                    Db2
      │
      MQ
      │
 External Systems

Depois:

Dependency Mapping
       ↓
Workload Classification
       ↓
Modernization Strategy
       ↓
Architecture
       ↓
Terraform / Ansible / CI/CD

Essa ordem é fundamental.

Não escolha a ferramenta antes de compreender o problema.


🧭 25. Nem tudo precisa sair do mainframe

Aqui está outra heresia contra certas apresentações de modernização.

Podemos terminar com:

                   ENTERPRISE
                       │
           ┌───────────┴───────────┐
           │                       │
         IBM Z                    AWS
           │                       │
      COBOL/CICS                 Services
           │                       │
          Db2       ← API/MQ →     RDS
           │                       │
        Batch                    Analytics

Isso também é modernização.

Talvez seja uma modernização melhor.

Mainframe não precisa desaparecer para AWS existir.

AWS não precisa substituir IBM Z para gerar valor.

O objetivo deveria ser colocar cada workload onde faz sentido técnico, econômico e operacional.


🏎️ 26. Performance: “funciona” é uma palavra perigosíssima

Suponha que uma transação CICS respondesse em:

40 ms

A nova aplicação responde em:

480 ms

Funciona?

Sim.

É equivalente?

Talvez não.

Agora multiplique pela quantidade de transações.

Adicione network latency.

Database round trips.

APIs.

TLS.

Logs.

Tracing.

De repente aquela diferença aparentemente pequena torna-se enorme.

Modernização precisa de baseline antes da migração.

Sem baseline você termina dizendo:

“Parece mais lento.”

Isso não é engenharia.


💰 27. E existe FinOps

Outro easter egg escondido sob a mesa do laboratório.

No mainframe alguém pode reclamar:

“MIPS são caros!”

Migramos para cloud.

Então descobrimos:

EC2
RDS
storage
IOPS
snapshots
data transfer
NAT
logs
monitoring
backup
licenses
support

e percebemos que cloud não significa:

barato.

Significa principalmente:

modelo econômico diferente.

Se não medirmos consumo, uma arquitetura elasticamente maravilhosa pode gerar uma conta elasticamente maravilhosa também.


👄 28. “Don’t dream it. Be it.”

Chegamos finalmente à grande lição de Frank-N-Furter.

Não devemos ter medo de transformar sistemas.

COBOL pode viver em novas plataformas.

Pode participar de pipelines modernos.

Pode trabalhar com Git.

Pode ser automatizado com Ansible.

Pode ter infraestrutura criada com Terraform.

Pode conversar com cloud.

Pode expor APIs.

Pode entrar num processo CI/CD.

Não existe qualquer contradição nisso.

O problema começa quando confundimos modernização com maquiagem tecnológica.

Trocar:

z/OS

por:

Linux

não moderniza automaticamente arquitetura.

Trocar:

Db2

por:

PostgreSQL

não moderniza automaticamente dados.

Trocar:

JCL

por:

YAML

não moderniza automaticamente processos.

E trocar:

datacenter

por:

AWS

não moderniza automaticamente engenharia.


🧠 29. A verdadeira modernização

Para mim, modernização aparece quando conquistamos:

REPRODUCIBILITY
      +
AUTOMATION
      +
OBSERVABILITY
      +
TRACEABILITY
      +
SECURITY
      +
TESTABILITY
      +
RESILIENCE
      +
MAINTAINABILITY

Se conseguimos isso mantendo COBOL?

Excelente.

Se parte precisa ser reescrita?

Pode fazer sentido.

Se outra parte permanece no IBM Z?

Perfeitamente possível.

Se determinado workload vai para AWS?

Ótimo.

Tecnologia é consequência da decisão arquitetural.

Não deveria ser sua causa.


🥚 Easter egg — 03:17 no castelo

Naturalmente precisamos deixar uma pequena surpresa.

São 03:17 da madrugada.

O telefone toca.

Produção parou.

O dashboard está verde.

EC2:

RUNNING

RDS:

AVAILABLE

CPU:

12%

Memory:

41%

CloudWatch:

NO INFRASTRUCTURE ALARM

Mas o batch não termina.

Um engenheiro olha para outro.

Ninguém entende.

Então aparece um veterano COBOL carregando uma caneca de café.

Ele olha cinco minutos para os logs e pergunta:

“Onde está o arquivo que o JOB anterior deveria ter criado?”

Silêncio.

O arquivo não existe.

O JOB anterior terminou com RC=04.

O novo scheduler considerou RC=04 sucesso.

O sistema antigo possuía uma regra que tratava aquele retorno especificamente.

Ela nunca apareceu no diagrama de migração.

Frank-N-Furter olha para sua criatura.

A criatura olha para Frank.

E o veterano toma outro gole de café.

O COBOL havia sido migrado perfeitamente.

O conhecimento operacional, não.


☕ 30. A lição final do Bellacosa Mainframe

Há algo profundamente fascinante nesses sistemas antigos.

Quando encontramos um programa COBOL escrito em 1989, atualizado em 1997, alterado em 2008, integrado com uma API em 2019 e ainda executando em 2026, não estamos olhando simplesmente para código legado.

Estamos olhando para história empresarial executável.

Cada IF.

Cada copybook.

Cada DD.

Cada tabela.

Cada fila.

Cada estranho RC=04.

Pode existir porque alguma coisa aconteceu.

Alguém tomou uma decisão.

Algum problema ocorreu.

Alguma regra comercial nasceu.

Algum cliente reclamou.

Algum auditor exigiu.

Alguma madrugada de produção ensinou uma lição.

Por isso, quando alguém entrar no laboratório segurando Terraform numa mão e Ansible na outra, não devemos impedi-lo.

Muito pelo contrário.

Acendam as máquinas.

Preparem AWS.

Construam pipelines.

Versionem tudo.

Automatizem.

Observem.

Testem.

Modernizem.

Só não cometam o erro de Frank-N-Furter:

não fiquem tão apaixonados pela nova criatura a ponto de esquecer de compreender o mundo no qual ela terá de sobreviver.

Porque, no final, a pergunta mais importante de uma modernização COBOL não é:

“Conseguimos fazê-lo rodar na AWS?”

É:

“Conseguimos preservar quarenta anos de comportamento, regras, dependências e conhecimento — eliminando aquilo que ficou obsoleto e melhorando aquilo que realmente precisava mudar?”

Se a resposta for sim, então podem aumentar o volume.

As luzes do laboratório podem acender.

Terraform pode subir a infraestrutura.

Ansible pode executar o playbook.

Jenkins pode promover o artefato.

CloudWatch pode começar a observar.

E Frank-N-Furter finalmente poderá anunciar:

⚡ “IT'S ALIVE!”

Enquanto o velho programador COBOL, sentado discretamente no fundo do laboratório, acrescentará:

“Muito bonito. Agora vamos ver se fecha o batch antes das seis.” ☕👄⚡



 

quinta-feira, 9 de julho de 2026

Capítulo 9 — O Que Realmente Aconteceu

Bellacosa Mainframe o Mainframe como uma Phoenix renasce e obtem protagonismo

☕ Um Café no Bellacosa Mainframe

Capítulo 9 — O Que Realmente Aconteceu

Trinta Anos de Evolução Enquanto o Mercado Ainda Esperava o Funeral

Uma viagem pela evolução real do IBM Mainframe, do Parallel Sysplex e dos processadores CMOS ao Linux on Z, Java, APIs, DevOps, OpenShift, watsonx e IBM z17.

Por

Trinta anos de evolução do IBM Mainframe até o IBM z17
Enquanto o mercado esperava o funeral do mainframe, a plataforma incorporava virtualização, Linux, APIs, DevOps, cloud híbrida, OpenShift e Inteligência Artificial.

“Enquanto alguns discutiam se o mainframe sobreviveria à próxima década, os engenheiros da IBM já estavam projetando a década seguinte.”

— Bellacosa Mainframe

A evolução que aconteceu longe das manchetes

As previsões sobre o fim do mainframe concentravam-se no preço dos servidores distribuídos e no crescimento do modelo Client/Server. Enquanto isso, a IBM continuava modernizando processadores, virtualização, armazenamento, canais de entrada e saída, segurança, disponibilidade e gerenciamento de workloads.

Principais marcos tecnológicos

  • Parallel Sysplex e alta disponibilidade.
  • Processadores CMOS e redução do consumo energético.
  • Linux on IBM Z e consolidação de servidores.
  • Java, Web Services, APIs REST e integração moderna.
  • zAAP, zIIP, IFL e processadores especializados.
  • Git, Jenkins, DBB, BOB, Zowe e pipelines DevOps.
  • Ansible, OpenShift, containers e cloud híbrida.
  • watsonx, aceleração de IA e IBM z17.

A verdadeira lição

O mainframe não sobreviveu por rejeitar novas tecnologias. Ele permaneceu relevante porque incorporou Linux, Java, open source, APIs, automação, cloud híbrida, containers e Inteligência Artificial sem abandonar compatibilidade, segurança e continuidade operacional.


O funeral foi cancelado. O trabalho continuou.

Depois de acompanhar as manchetes da Forbes, do New York Times, da InfoWorld e da Business Week, um Padawan COBOL inevitavelmente faz a seguinte pergunta:

"Afinal... o que realmente aconteceu?"

A resposta curta é simples.

O mundo mudou profundamente.

Os computadores pessoais venceram.

A Internet revolucionou a sociedade.

O Linux conquistou os datacenters.

O Cloud Computing transformou a infraestrutura.

A Inteligência Artificial iniciou uma nova revolução.

Tudo isso aconteceu.

Mas existe uma segunda resposta.

Muito mais interessante.

O IBM Mainframe não ficou parado assistindo a essas mudanças.

Ele participou de todas elas.


O maior erro das previsões

As reportagens da década de 1990 tinham algo em comum.

Quase todas analisavam apenas um componente da equação.

Hardware.

Velocidade do processador.

Preço.

Memória.

Arquitetura.

Quantidade de servidores.

Pouquíssimas perguntavam:

  • Quanto custa parar um banco por uma hora?

  • Quanto custa perder uma transação financeira?

  • Quanto custa reescrever cinquenta milhões de linhas de COBOL?

  • Quanto custa validar novamente décadas de regras de negócio?

Porque, na computação corporativa, o computador representa apenas uma pequena parte do patrimônio.

O verdadeiro patrimônio sempre foi o conhecimento.


Bellacosa Mainframe e o ibm highlander

A IBM respondeu... trabalhando

Existe uma característica interessante da IBM.

Ela raramente responde a previsões por meio de campanhas publicitárias.

Ela responde lançando produtos.

Enquanto a indústria discutia o "fim do mainframe"...

A IBM continuava investindo bilhões de dólares em pesquisa e desenvolvimento.

Sem alarde.

Sem discursos dramáticos.

Apenas engenharia.

Vamos percorrer rapidamente essa jornada.


Anos 90 — Parallel Sysplex

Em vez de aceitar a limitação tradicional de um único grande computador, a IBM apresentou uma ideia revolucionária.

Parallel Sysplex.

Vários mainframes trabalhando juntos como um único sistema lógico.

Compartilhando dados.

Compartilhando carga.

Compartilhando disponibilidade.

Na prática, significava algo extraordinário.

Se um sistema apresentasse problemas...

Outro assumiria imediatamente.

Hoje chamamos isso de alta disponibilidade.

Na época...

Era engenharia de altíssimo nível.

Enquanto muitos ainda discutiam Client/Server...

A IBM discutia continuidade de negócios.


CMOS muda tudo

Outro marco foi a adoção da tecnologia CMOS.

Durante anos existia o argumento de que mainframes consumiam energia demais.

Os novos processadores CMOS reduziram consumo elétrico, dissipação térmica e custos operacionais, ao mesmo tempo em que aumentavam o desempenho.

Era uma resposta elegante.

Sem debates.

Sem marketing agressivo.

Apenas evolução tecnológica.


O Linux chega ao IBM Z

Talvez uma das maiores ironias da história.

Durante anos disseram:

"O futuro é Linux."

A IBM respondeu:

"Ótimo. Então vamos executar Linux no mainframe."

E foi exatamente isso que aconteceu.

No início dos anos 2000 nasceu o Linux on IBM Z.

Muitos especialistas ficaram surpresos.

Outros ficaram confusos.

Mas o mercado adorou a ideia.

Agora era possível consolidar centenas ou milhares de servidores Linux dentro de uma única plataforma altamente confiável.

Em vez de combater o Linux...

O IBM Z o abraçou.


Java também chegou

Outra previsão famosa dizia:

"Java acabará com o legado."

Pouco tempo depois...

Java passou a executar no próprio IBM Z.

Mais uma vez a IBM fez algo curioso.

Ela não brigou contra a novidade.

Ela a incorporou.

Essa estratégia se repetiria diversas vezes ao longo das décadas.


Virtualização muito antes da moda

Hoje qualquer profissional conhece máquinas virtuais.

VMware.

Hyper-V.

KVM.

Cloud.

Mas existe um detalhe histórico importante.

O IBM Mainframe trabalhava com virtualização muito antes de ela se tornar um assunto popular.

LPARs.

PR/SM.

z/VM.

Essas tecnologias permitiam executar múltiplos ambientes isolados com eficiência extraordinária.

Enquanto muitos acreditavam ter inventado a virtualização...

Os profissionais de IBM Z apenas sorriam discretamente.


Specialty Engines

Outro passo inteligente foi a criação dos processadores especializados.

Vieram:

  • zAAP;

  • zIIP;

  • IFL;

  • SAP;

  • ICF.

Cada um otimizado para determinados tipos de carga.

Isso permitiu reduzir custos de licenciamento, melhorar desempenho e ampliar a flexibilidade da plataforma.

Era mais uma demonstração de que o "dinossauro" continuava evoluindo.


SOA, Web Services e APIs

Depois surgiu outro buzzword.

SOA — Service-Oriented Architecture.

Muitos acreditavam que seria o fim definitivo dos sistemas tradicionais.

A IBM respondeu expondo aplicações COBOL e CICS como Web Services.

Mais tarde vieram APIs REST.

JSON.

OpenAPI.

Hoje uma aplicação escrita em React pode conversar naturalmente com um programa COBOL criado décadas atrás.

Não porque alguém reescreveu tudo.

Mas porque a arquitetura evoluiu.


Open Source no IBM Z

Outro mito dizia:

"O mundo open source nunca funcionará em mainframe."

Então chegaram:

Git.

Python.

Node.js.

Go.

Zowe.

Ansible.

VS Code.

OpenShift.

Red Hat Enterprise Linux.

Containers.

Kubernetes.

Hoje o desenvolvedor pode utilizar praticamente as mesmas ferramentas modernas tanto em ambientes distribuídos quanto no IBM Z.

A fronteira ficou cada vez menor.


O COBOL também evoluiu

Existe outro mito que merece aposentadoria.

"COBOL parou no tempo."

Não.

O COBOL de 2026 é muito diferente daquele de 1989.

Hoje encontramos recursos como:

  • UTF-8;

  • JSON PARSE e JSON GENERATE;

  • XML PARSE;

  • tipos modernos de dados;

  • desempenho otimizado;

  • integração com C e Java;

  • compiladores altamente inteligentes;

  • diagnósticos avançados;

  • otimizações automáticas.

O objetivo nunca foi transformar COBOL em outra linguagem.

Foi permitir que continuasse excelente naquilo que sempre fez.

Processamento de negócios.


Db2, CICS e z/OS também cresceram

O mesmo aconteceu com todo o ecossistema.

O Db2 ganhou novos otimizadores, compressão avançada, inteligência analítica e integração com aplicações modernas.

O CICS tornou-se uma plataforma completa para APIs REST, microsserviços e aplicações híbridas.

O z/OS recebeu automação, segurança reforçada, integração com cloud híbrida, ferramentas modernas de desenvolvimento e gerenciamento simplificado.

Nada ficou parado.


DevOps chegou ao IBM Z

Outro capítulo interessante.

Durante anos muita gente dizia:

"Mainframe não combina com DevOps."

Então apareceram:

  • Git;

  • Jenkins;

  • IBM Dependency Based Build (DBB);

  • IBM Build Open Builder (BOB);

  • UrbanCode Deploy;

  • Zowe CLI;

  • VS Code;

  • GitHub Actions;

  • Ansible.

Hoje pipelines CI/CD podem compilar COBOL, executar testes automatizados, realizar análise estática, promover artefatos e implantar aplicações no IBM Z com a mesma filosofia utilizada em outras plataformas.

O DevOps não substituiu o mainframe.

Ele passou a fazer parte dele.


Chegamos à Inteligência Artificial

E então chegamos a 2026.

Talvez a maior revolução desde a Internet.

A Inteligência Artificial.

Novamente surgiram manchetes dramáticas.

"Os programadores acabarão."

"O código será totalmente gerado por IA."

"O legado desaparecerá."

Curiosamente...

Já ouvimos esse roteiro antes.

Enquanto isso...

A IBM faz o que costuma fazer.

Integra a novidade.

O IBM z17 incorpora aceleração para Inteligência Artificial diretamente na plataforma.

O watsonx fornece um ambiente corporativo para IA generativa, governança e modelos especializados.

A IA deixa de ser apenas um chatbot.

Passa a fazer parte do processamento corporativo.

Fraudes.

Análise de risco.

Observabilidade.

Automação operacional.

Tudo integrado ao ambiente transacional.


O Padawan encontra o velho Jedi

Nosso Padawan pergunta ao Mestre:

— Mestre... afinal quem venceu?

O velho engenheiro sorri.

Aponta para um smartphone.

Depois para um cluster Kubernetes.

Depois para uma API REST.

Depois para um programa COBOL.

Depois para um IBM z17.

E responde:

Todos.

Porque a computação nunca foi uma competição para decidir quem elimina quem.

Ela sempre foi uma longa história de integração.


O maior vencedor foi o cliente

No final das contas...

O usuário nunca perguntou:

  • O banco roda em COBOL?

  • O servidor utiliza Linux?

  • Existe um CICS por trás?

  • O Db2 está em Data Sharing?

  • A API foi escrita em Java ou Python?

O cliente pergunta apenas:

"Funciona?"

E continua funcionando.

Há décadas.

Essa talvez seja a maior vitória da engenharia.


A quinta grande lição

Ao olhar para a linha do tempo entre 1989 e 2026 percebemos algo extraordinário.

Quase todas as tecnologias que surgiram nesses anos permaneceram.

PCs.

Internet.

Linux.

Java.

Cloud.

Containers.

Kubernetes.

DevOps.

Open Source.

Inteligência Artificial.

E o IBM Mainframe.

A história da computação nunca foi sobre substituição absoluta.

Foi sobre evolução contínua.

A plataforma IBM Z sobreviveu porque nunca tentou impedir o futuro.

Ela fez algo muito mais inteligente.

Aprendeu a fazer parte dele.

E talvez essa seja a maior diferença entre uma moda tecnológica e uma plataforma de engenharia.

A moda tenta convencer você de que tudo precisa mudar imediatamente.

A engenharia pergunta:

"Como podemos evoluir sem interromper aquilo que já funciona?"

É exatamente essa pergunta que o IBM Z vem respondendo há mais de sessenta anos.

E, observando o z17, o watsonx, o BOB, o OpenShift, o Zowe e todo o ecossistema moderno da plataforma, fica difícil imaginar um desfecho mais elegante para uma tecnologia que tantos insistiram em declarar morta.

O "dinossauro" não apenas sobreviveu.

Ele aprendeu a conversar com a Inteligência Artificial.

Bellacosa Mainframe e o Funeral que nunca aconteceu


C:\BELLACOSA\COBOL\FUNERAL_QUE_NUNCA_ACONTECEU.HTML
★ BELLACOSA MAINFRAME APRESENTA ★

A MORTE DO COBOL

O Funeral que Nunca Aconteceu

Uma investigação histórica em 14 capítulos sobre as previsões, reportagens, buzzwords e profetas que anunciaram repetidamente o fim do COBOL — enquanto bilhões de transações continuavam sendo processadas silenciosamente.

SISTEMA ONLINE — 14 CAPÍTULOS DISPONÍVEIS
DIRETÓRIO DE CAPÍTULOS

README.TXT

Esta série investiga uma das narrativas mais repetidas da história da tecnologia: a suposta morte do COBOL. Durante décadas, revistas, jornais, consultorias e especialistas anunciaram seu desaparecimento. Entretanto, o COBOL permaneceu processando bancos, seguradoras, governos, cartões, pagamentos e sistemas críticos.

Os títulos e links acima são elementos HTML reais, permitindo que mecanismos de busca encontrem e rastreiem todos os capítulos. Os iframes funcionam apenas como previews visuais.

C:\> RUN BELLACOSA.EXE /COBOL /HISTORY /NO-FUNERAL _

★ BELLACOSA MAINFRAME ★ COBOL ★ IBM Z ★ HISTÓRIA DA COMPUTAÇÃO ★

Melhor visualizado em qualquer navegador com café disponível.

quarta-feira, 1 de julho de 2026

Java na Stack Mainframe: O Roteiro Definitivo para um Programador COBOL Padawan Entrar no Mundo Java, IA, Cloud e Modernização do IBM Z

 

Bellacosa Mainframe e o Java na Stack Mainframe

☕ Um Café no Bellacosa Mainframe

Java na Stack Mainframe: O Roteiro Definitivo para um Programador COBOL Padawan Entrar no Mundo Java, IA, Cloud e Modernização do IBM Z

Imagine que você acabou de entrar em um grande banco.

Você conhece COBOL.

Sabe fazer um PERFORM UNTIL.

Entende JCL.

Já escreveu programas para CICS.

Conhece Db2, VSAM e talvez IMS.

Mas, em uma reunião, alguém diz:

"Vamos desenvolver essa nova API em Java, publicar pelo z/OS Connect, automatizar o deploy com Ansible e integrar um agente de IA."

Você pensa:

"Será que vou precisar esquecer tudo o que aprendi em Mainframe?"

A resposta é uma das melhores notícias que um profissional IBM Z pode receber:

Não.

Na verdade, tudo o que você aprendeu continua extremamente valioso.

O Java não veio substituir o COBOL.

Ele veio conversar com ele.

Hoje, o IBM Z é uma plataforma híbrida, onde aplicações COBOL escritas há décadas convivem com microsserviços Java, APIs REST, containers, LinuxONE, automação, inteligência artificial e cloud híbrida.

Neste artigo vamos construir um roteiro completo para que um COBOL Padawan evolua para um desenvolvedor Java dentro da Stack Mainframe.


O maior mito sobre Java no Mainframe

O erro mais comum é procurar um curso chamado:

  • Java para Mainframe

  • Java para z/OS

  • Java para COBOL

antes mesmo de aprender Java.

Isso é equivalente a querer aprender CICS antes de entender COBOL.

Primeiro aprendemos a linguagem.

Depois aprendemos onde ela roda.

Essa é exatamente a recomendação feita por Ian Burnett, engenheiro da equipe de desenvolvimento do IBM CICS:

"Java continua sendo Java. Salvo quando você utiliza recursos específicos do IBM Z, o mesmo código roda em diversas plataformas."

Essa frase resume toda a filosofia da plataforma Java.


Esqueça a ideia de "Java Mainframe"

Não existe uma linguagem chamada Java Mainframe.

Existe apenas Java.

O mesmo Java roda em:

  • Windows

  • Linux

  • macOS

  • LinuxONE

  • z/OS UNIX System Services (USS)

  • OpenShift

  • Cloud

A mágica acontece graças à JVM.


O que é a JVM?

JVM significa:

Java Virtual Machine

Ela é responsável por executar o bytecode produzido pelo compilador Java.

O processo funciona assim:

Código Java (.java)

        │

      javac

        │

Bytecode (.class)

        │

        JVM

        │

Sistema Operacional

No mundo IBM Z acontece exatamente a mesma coisa.

A diferença é que existe uma JVM otimizada para o processador IBM Z.

Hoje a IBM utiliza principalmente o IBM Semeru Runtime, baseado no OpenJDK, otimizado para z/OS e LinuxONE.

Isso significa que o mesmo programa Java pode executar em:

  • LinuxONE

  • USS

  • Open Liberty

  • CICS JVM Server

  • Batch Java

sem precisar ser reescrito.

É o famoso conceito:

Write Once, Run Anywhere.


O COBOL continua vivo?

Mais vivo do que nunca.

Os maiores bancos do mundo ainda executam bilhões de linhas de COBOL.

Esses programas representam décadas de regras de negócio.

Por exemplo:

  • cálculo de juros

  • empréstimos

  • cartões

  • PIX

  • investimentos

  • seguros

  • previdência

O Java não veio substituir essas aplicações.

Ele veio criar novas formas de utilizá-las.


O legado não é o problema

Existe uma frase muito repetida no Bellacosa Mainframe:

O legado não é um peso. É um patrimônio.

Imagine um programa COBOL que calcula crédito há trinta anos.

Ele funciona.

Foi testado milhões de vezes.

Então surge um aplicativo Android.

O aplicativo não precisa reescrever a lógica.

Ele apenas precisa conversar com esse programa.

É aí que entra a modernização.


Java como ponte entre o mundo moderno e o legado

Hoje uma aplicação bancária pode seguir este fluxo:

Aplicativo Android

↓

REST API

↓

Java Spring Boot

↓

z/OS Connect

↓

CICS

↓

Programa COBOL

↓

Db2

Observe quem está no meio da conversa.

O Java.

Ele conecta o mundo digital ao legado corporativo.


O papel do z/OS Connect

O z/OS Connect EE é uma das tecnologias mais importantes da modernização IBM Z.

Sua missão é simples.

Transformar programas COBOL em APIs REST.

Imagine um programa CICS chamado:

CONSULTA_CLIENTE

Antes, somente aplicações CICS conseguiam chamá-lo.

Com o z/OS Connect:

GET

/clientes/12345

vira automaticamente:

Programa COBOL

↓

COMMAREA

↓

Resposta JSON

Sem reescrever o COBOL.

Sem alterar décadas de negócio.

Essa talvez seja a maior revolução do IBM Z nos últimos anos.


JSON substituiu a COMMAREA?

Não.

Cada um possui sua função.

Dentro do CICS continua existindo:

  • COMMAREA

  • Containers

  • Channels

Fora do Mainframe:

  • JSON

  • REST

  • OpenAPI

O z/OS Connect faz a tradução entre esses mundos.


Java conversa naturalmente com o Db2

Outro ponto importante.

O Java utiliza JDBC.

Java

↓

JDBC

↓

Db2 for z/OS

Para quem conhece SQL em COBOL, aprender JDBC costuma ser bastante natural.


LinuxONE: onde o Java brilha

Quando falamos de Java no IBM Z, é impossível não falar do LinuxONE.

O LinuxONE é uma plataforma Linux construída sobre a mesma arquitetura IBM Z.

Ele oferece:

  • alta disponibilidade

  • criptografia

  • escalabilidade

  • virtualização

  • containers

  • Kubernetes

  • OpenShift

Para aplicações Java, é um ambiente extremamente eficiente.

Muitos microsserviços modernos executam em LinuxONE enquanto continuam acessando o legado z/OS.


Open Liberty

Outro componente importante é o Open Liberty.

Ele é um servidor Java moderno, extremamente leve e compatível com Jakarta EE e MicroProfile.

Nele podemos executar:

  • APIs REST

  • aplicações corporativas

  • microsserviços

  • autenticação

  • integração

Tudo isso podendo acessar COBOL via z/OS Connect ou IBM MQ.


IBM MQ

Nem toda integração precisa ser REST.

Muitos bancos utilizam filas.

Java

↓

IBM MQ

↓

COBOL

As mensagens ficam armazenadas até serem processadas.

Isso aumenta confiabilidade e desacopla sistemas.


Ansible no mundo Mainframe

Durante muitos anos administrar Mainframe significava executar comandos manualmente.

Hoje isso mudou.

O Ansible automatiza tarefas como:

  • criação de ambientes

  • deploy

  • configuração

  • instalação

  • atualização

  • coleta de informações

  • execução de scripts

Imagine precisar atualizar cinquenta servidores.

Em vez de acessar um por um, basta executar um Playbook.

Exemplo simplificado:

- Atualizar Open Liberty
- Reiniciar serviço
- Validar aplicação

Tudo automaticamente.

No IBM Z existem coleções específicas para:

  • z/OS

  • USS

  • CICS

  • RACF

  • datasets

  • JCL

  • operações administrativas

O DevOps chegou definitivamente ao Mainframe.


Cloud no mundo Mainframe

Quando falamos em Cloud, muitas pessoas imaginam abandonar o Mainframe.

A realidade é outra.

Hoje predominam arquiteturas híbridas.

Um exemplo:

Cloud

↓

API Gateway

↓

Java

↓

z/OS Connect

↓

COBOL

Parte da aplicação roda na nuvem.

Parte continua no IBM Z.

Cada ambiente faz aquilo em que é melhor.


Inteligência Artificial no IBM Z

Outro tema que deixou de ser futuro.

Hoje encontramos IA aplicada em:

  • detecção de fraudes

  • análise de crédito

  • observabilidade

  • automação operacional

  • atendimento inteligente

  • copilotos de desenvolvimento

  • geração de código

  • documentação

  • análise de logs

Modelos como IBM Granite e watsonx podem trabalhar lado a lado com aplicações Java e COBOL.

O objetivo não é substituir o programador.

É aumentar sua produtividade.


O roteiro Bellacosa para aprender Java

Fase 1 — Pensar como programador Java

Aprenda:

  • variáveis

  • classes

  • objetos

  • métodos

  • encapsulamento

  • herança

  • interfaces

  • exceções

  • Collections

  • Generics

Ainda não pense em Mainframe.


Fase 2 — Ferramentas modernas

Aprenda:

  • Git

  • Maven

  • Gradle

  • JUnit

  • Mockito

  • VS Code

  • IntelliJ IDEA


Fase 3 — Desenvolvimento Web

Estude:

  • HTTP

  • REST

  • JSON

  • XML

  • Servlets

  • APIs


Fase 4 — Spring Boot

Aprenda a criar:

  • microsserviços

  • APIs REST

  • autenticação

  • integração com bancos de dados


Fase 5 — Java Enterprise

Conheça:

  • Open Liberty

  • Jakarta EE

  • MicroProfile


Fase 6 — Java na Stack Mainframe

Agora sim, entre no universo IBM Z:

  • JVM no z/OS

  • USS

  • LinuxONE

  • JDBC para Db2

  • IBM MQ

  • CICS JVM Server

  • JCICS

  • JZOS

  • z/OS Connect EE

  • RACF

  • Open Liberty

  • Batch Java

  • OpenShift


O maior diferencial do programador COBOL

Muitos desenvolvedores Java sabem criar APIs.

Poucos entendem regras de negócio bancárias.

Você já conhece:

  • consistência transacional

  • processamento em lote

  • auditoria

  • integridade

  • alta disponibilidade

  • segurança

Esses conhecimentos não desaparecem.

Eles tornam você um profissional muito mais completo.


Recursos para continuar estudando

Além dos fundamentos de Java, vale explorar materiais específicos sobre Java no ecossistema IBM Z.

Java no CICS

Artigos técnicos

Open Liberty

IBM Semeru Runtime

IBM z/OS Connect

LinuxONE

Automação

IA para IBM Z


Um café antes de partir...

Se existe uma mensagem que todo Padawan COBOL deve levar deste artigo, é esta:

Você não está mudando de profissão. Está ampliando sua stack.

O COBOL continua sendo o coração de milhares de sistemas críticos. O Java tornou-se a ponte que conecta esse legado ao mundo das APIs, aplicativos móveis, microsserviços, cloud híbrida e inteligência artificial. Tecnologias como z/OS Connect, LinuxONE, Open Liberty, Ansible e watsonx não substituem décadas de conhecimento acumulado; elas o potencializam.

O profissional mais disputado da próxima década não será apenas o especialista em COBOL nem apenas o especialista em Java. Será aquele capaz de unir os dois mundos, preservando a confiabilidade do legado enquanto entrega inovação com velocidade. Esse é o verdadeiro espírito da Stack Mainframe: tradição e modernização trabalhando lado a lado. E essa jornada começa aprendendo Java, mas nunca esquecendo as lições que o Mainframe ensinou.

sexta-feira, 6 de março de 2026

Você usa React todos os dias… e talvez esteja falando com um programa COBOL de 60 anos.

 

Bellacosa Mainframe apresenta o casamento improvavel React + Cobol

☕ Um Café no Bellacosa Mainframe

☕ React conversa com COBOL?

A arquitetura invisível que conecta Web Apps modernos ao Mainframe

Se você usa internet banking, aplicativo de seguros ou sistemas corporativos modernos, existe uma chance enorme de que, por trás daquela interface elegante construída em React, esteja rodando um programa COBOL em um mainframe.

Sim.

JavaScript moderno conversando com uma tecnologia criada nos anos 1950.

E isso não é exceção — está se tornando arquitetura padrão em grandes empresas.


🧭 O mito da substituição do mainframe

Durante décadas surgiu uma narrativa repetida no mercado:

“O mainframe será substituído.”

Mas o que realmente aconteceu foi algo diferente.

O que mudou não foi o core, mas sim a interface.

Hoje, a arquitetura moderna segue um padrão cada vez mais comum:

Frontend moderno (React / Angular / Mobile)

API Gateway / Microservices

z/OS Connect / MQ / APIs

CICS / COBOL / DB2 no Mainframe

Ou seja:

React não substitui o mainframe.
React expõe o mainframe.


⚙️ A ponte tecnológica: APIs no z/OS

Ferramentas modernas permitem transformar transações tradicionais em APIs REST.

Entre elas:

  • IBM z/OS Connect

  • IBM API Connect

  • MQ / Event Streaming

  • OpenLegacy

  • GraphQL gateways

Com isso, um programa COBOL pode virar algo como:

GET /api/account/12345

Que internamente chama:

CICS PROGRAM GETACCT01

Tudo sem reescrever décadas de lógica de negócio.


🧩 Onde o React entra na arquitetura

O React se tornou uma escolha popular porque oferece:

  • UI altamente responsiva

  • arquitetura baseada em componentes

  • integração simples com APIs REST

  • enorme ecossistema

Uma stack moderna típica pode ser:

React
Node.js / BFF
API Gateway
z/OS Connect
CICS / COBOL
DB2

Resultado:

  • UX moderna

  • core estável

  • risco reduzido


📊 Curiosidade pouco conhecida

Estudos frequentemente citados no mercado indicam que:

  • cerca de 90% das transações financeiras globais passam por mainframes

  • grande parte dessas aplicações hoje é acessada via interfaces web modernas

Ou seja:

Quando você abre um portal moderno em React, pode estar falando com um COBOL rodando há décadas.


🥚 Easter eggs do mundo React + Mainframe

🥚 O padrão “Strangler Fig”

Arquitetos chamam essa estratégia de:

Strangler Fig Pattern

A ideia é:

  • manter o sistema legado

  • expor APIs

  • construir novas interfaces ao redor.

Gradualmente, o sistema evolui sem reescrita massiva.


🥚 JavaScript rodando dentro do mainframe

Muita gente não sabe, mas hoje existem runtimes de:

  • Node.js para z/OS

  • Python para z/OS

Ou seja, JavaScript pode rodar dentro do próprio mainframe.


🥚 React no ecossistema mainframe

Projetos como Zowe utilizam tecnologias modernas como:

  • React

  • TypeScript

  • APIs REST

para criar interfaces modernas para administração de ambientes z/OS.


☕ Comentário Bellacosa

Um erro comum é pensar que modernização significa:

substituir tudo.

Mas a realidade da engenharia de sistemas críticos é outra.

O que vemos hoje é uma arquitetura híbrida:

Interface moderna
+
Core extremamente confiável

E poucas plataformas oferecem um core tão confiável quanto o mainframe.


🚀 Conclusão

React e Mainframe não são concorrentes.

São camadas diferentes da mesma arquitetura.

Enquanto React cuida da experiência do usuário, o mainframe continua sendo o motor de processamento que sustenta o negócio.

Talvez o maior segredo da tecnologia corporativa moderna seja exatamente este:

O futuro da web muitas vezes roda em um computador criado há mais de meio século.

E isso diz muito sobre a engenharia por trás do Mainframe.



https://www.linkedin.com/posts/vagnerbellacosa_ibm-mainframe-cobol-activity-7436178528905248768-G-Al?utm_source=share&utm_medium=member_desktop&rcm=ACoAAAF2qx0B5Ef0IGUpO8f7SxDHV-EQ5-EMG54

https://dio.me/articles/voce-usa-react-todos-os-dias-e-talvez-esteja-falando-com-um-programa-cobol-de-60-anos-f1cdaa899115?utm_source=link&utm_campaign=mgm-voce-usa-react-todos-os-dias-e-talvez-esteja-falando-com-um-programa-cobol-de-60-anos-f1cdaa899115&utm_medium=article

 

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