Translate

Mostrar mensagens com a etiqueta Arquitetura Corporativa. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Arquitetura Corporativa. Mostrar todas as mensagens

segunda-feira, 15 de junho de 2026

☕🚀 Azure + IBM MQ + CICS + COBOL: Quando a Nuvem Descobre Que Ainda Precisa do Mainframe

Bellacosa Mainframe e uma visão da integração mainframe + nuvem


☕🚀 Azure + IBM MQ + CICS + COBOL: Quando a Nuvem Descobre Que Ainda Precisa do Mainframe

A arquitetura híbrida que responde em milissegundos e movimenta bilhões sem que ninguém perceba

Existe uma frase que escuto há mais de trinta e cinco anos:

"O Mainframe está morrendo."

A primeira vez que ouvi isso foi quando ainda existiam fitas magnéticas por todos os lados, terminais 3270 ocupavam salas inteiras e a internet comercial engatinhava.

Depois ouvi novamente quando surgiram os ERPs.

Depois quando surgiram os Data Centers distribuídos.

Depois quando vieram os smartphones.

Depois quando chegaram os containers.

Depois quando Kubernetes virou moda.

Depois quando a nuvem se tornou o assunto do momento.

E agora escuto novamente com a Inteligência Artificial.

Curiosamente, enquanto todos anunciavam o funeral do Mainframe, ele continuava processando cartões de crédito, transações bancárias, reservas aéreas, operações de seguradoras, sistemas governamentais e bilhões de dólares diariamente.

Talvez o erro nunca tenha sido tecnológico.

Talvez o erro tenha sido imaginar que inovação significa substituir tudo o que existe.

Na prática, a verdadeira inovação costuma acontecer quando conseguimos conectar mundos aparentemente incompatíveis.

E poucas arquiteturas representam isso melhor do que a integração entre Microsoft Azure e IBM Mainframe utilizando IBM MQ, CICS e COBOL.

Estamos falando de uma arquitetura capaz de unir o melhor dos dois universos:

  • Agilidade da nuvem

  • Robustez do Mainframe

  • Escalabilidade dos microsserviços

  • Consistência transacional do CICS

  • Segurança do IBM MQ

  • Décadas de regras de negócio escritas em COBOL

Tudo funcionando como uma única plataforma.


O Grande Equívoco Sobre Modernização

Quando alguém fala em modernização, muitas pessoas imaginam algo parecido com isto:

Sistema Antigo
      ↓
Apagar Tudo
      ↓
Reescrever Tudo
      ↓
Sistema Novo

Na teoria parece simples.

Na prática costuma ser um desastre.

Imagine um banco que possui:

  • 40 milhões de clientes

  • 30 anos de regras de negócio

  • milhares de programas COBOL

  • dezenas de sistemas satélites

  • integrações desconhecidas

Reescrever tudo pode levar anos.

Custar centenas de milhões.

E ainda introduzir novos erros.

Por isso os grandes bancos do mundo adotaram outro caminho.

Em vez de substituir o Mainframe, passaram a conectá-lo ao ecossistema digital.

É exatamente isso que esta arquitetura faz.


O Cliente Nem Imagina o Que Está Acontecendo

Imagine um cliente consultando saldo pelo aplicativo.

Ele toca um botão.

Em menos de um segundo recebe a resposta.

Para ele parece algo simples.

Mas nos bastidores ocorre uma verdadeira orquestra tecnológica.

O aplicativo chama uma API hospedada no Azure.

A API gera uma mensagem JSON.

Essa mensagem atravessa a rede.

Chega ao IBM MQ.

O MQ desperta uma transação CICS.

O CICS chama um programa COBOL.

O COBOL consulta DB2.

A resposta retorna pelo mesmo caminho.

Tudo isso em poucos milissegundos.

O usuário jamais perceberá.

E essa é justamente a beleza da arquitetura.


IBM MQ: O Carteiro Mais Confiável do Mundo Corporativo

Muitos profissionais mais jovens cresceram utilizando APIs REST.

Naturalmente surge a pergunta:

Por que usar MQ?

Porque sistemas críticos exigem garantias que HTTP sozinho não consegue fornecer.

Quando uma mensagem entra em uma fila MQ, ela não desaparece.

Ela permanece armazenada até ser processada.

Mesmo que:

  • um servidor caia

  • a rede falhe

  • uma aplicação seja reiniciada

a mensagem continua lá.

Imagine uma transferência financeira de cem mil reais.

Você gostaria que ela dependesse exclusivamente de uma conexão HTTP momentânea?

Provavelmente não.

É por isso que bancos continuam apaixonados pelo MQ.

Ele foi criado para ambientes onde perder uma única mensagem pode significar prejuízo milionário.


Request-Reply: O Casamento Entre Dois Mundos

Existe um detalhe fascinante nessa arquitetura.

O mundo web é síncrono.

O mundo MQ é assíncrono.

São filosofias diferentes.

Quando um navegador faz uma requisição HTTP, ele espera uma resposta.

Quando uma aplicação grava uma mensagem em uma fila MQ, ela normalmente segue seu caminho.

Mas o usuário quer uma resposta imediata.

Surge então o padrão Request-Reply.

Funciona assim:

A aplicação envia uma mensagem para a fila REQUEST.

O Mainframe processa.

Depois envia uma resposta para uma fila REPLY.

A aplicação recupera a resposta e devolve ao usuário.

Parece simples.

Mas essa simplicidade esconde décadas de evolução arquitetural.


O Poder dos Identificadores

Aqui encontramos um dos elementos mais importantes de toda a solução.

O MsgId.

Cada mensagem recebe um identificador único.

Por exemplo:

A1B2C3D4E5

Quando a resposta é gerada, esse valor reaparece como CorrelId.

Dessa forma:

Request
MsgId = A1B2C3D4E5

Reply
CorrelId = A1B2C3D4E5

A aplicação consegue saber exatamente qual resposta pertence a qual requisição.

Sem isso seria impossível processar milhares de mensagens simultaneamente.

É como o número de protocolo de uma ligação para suporte.

Sem ele tudo viraria uma enorme confusão.


MQ Trigger: O Despertador do Mainframe

Uma das partes mais elegantes dessa arquitetura é o Trigger.

Imagine um operador sentado observando uma fila.

Sempre que chegasse uma mensagem ele iniciaria um programa.

Seria absurdo.

O MQ faz isso automaticamente.

Quando uma mensagem chega:

QUEUE DEPTH = 1

o Trigger entra em ação.

Instantaneamente ele inicia uma transação CICS.

Sem polling.

Sem scripts.

Sem agendadores.

Sem desperdício de CPU.

É uma solução extremamente elegante criada décadas antes do conceito moderno de eventos ganhar popularidade.

Na verdade, muitos sistemas chamados hoje de Event-Driven Architecture fazem algo conceitualmente muito parecido com o que MQ e CICS realizam há anos.


O Router Program: O Maestro da Orquestra

Após a ativação do Trigger entra em cena o Router Program.

Se eu tivesse que apontar o cérebro da arquitetura, seria ele.

Sua função é simples:

Receber.

Analisar.

Decidir.

Encaminhar.

Ele lê o payload.

Consulta tabelas de roteamento.

Avalia parâmetros.

E escolhe qual backend deverá executar o processamento.

Por exemplo:

CONSULTA_CLIENTE → CUST0001
PIX → PIX0001
CARTAO → CARD0001

Isso oferece enorme flexibilidade.

Novos serviços podem ser adicionados sem alterar toda a arquitetura.

Basta cadastrar uma nova regra.

É o equivalente corporativo de um controlador de tráfego aéreo.


Quando COBOL Encontra JSON

Muitos profissionais ainda acreditam que COBOL vive preso a arquivos sequenciais e layouts de 80 colunas.

A realidade atual é muito diferente.

O CICS moderno possui recursos nativos para trabalhar com JSON.

Isso significa que uma estrutura como:

{
  "cliente":"VAGNER",
  "saldo":1500
}

pode ser transformada diretamente em estruturas COBOL.

Sem parsers complexos.

Sem centenas de linhas de manipulação de texto.

Sem gambiarras.

Durante décadas, integrar COBOL com formatos modernos exigia muito esforço.

Hoje o próprio CICS faz grande parte desse trabalho.

Essa é uma das transformações menos conhecidas fora do universo Mainframe.


O Segredo da Performance

Quando alguém vê Azure, JSON e microsserviços, normalmente imagina dezenas de chamadas distribuídas.

Mas o processamento principal acontece dentro do CICS.

E isso muda tudo.

Após chegar ao Mainframe, a execução ocorre dentro de um ambiente extremamente otimizado.

Não existe:

  • startup de container

  • inicialização de JVM

  • criação de novos processos

  • overhead desnecessário

O programa já está carregado.

O ambiente já está pronto.

A transação apenas executa.

É por isso que muitas operações conseguem responder em poucos milissegundos.

Uma característica frequentemente subestimada por quem nunca trabalhou em ambientes de missão crítica.


DB2: O Guardião da Consistência

Toda essa velocidade seria inútil sem consistência.

É aqui que entra o DB2.

Quando o COBOL consulta ou atualiza dados, o DB2 garante:

  • integridade

  • atomicidade

  • isolamento

  • durabilidade

Os famosos princípios ACID.

Em outras palavras:

ou tudo acontece corretamente

ou nada acontece.

Em sistemas financeiros isso não é luxo.

É obrigação.

Ninguém quer descobrir que o débito ocorreu mas o crédito não.


O Valor das Transações

Um aspecto frequentemente ignorado é o gerenciamento transacional.

Quando MQ, CICS e DB2 trabalham juntos, formam um ecossistema extremamente robusto.

Imagine:

  • mensagem recebida

  • atualização realizada

  • resposta enviada

Tudo dentro de uma única unidade lógica de trabalho.

Se qualquer etapa falhar:

rollback.

Como se nada tivesse acontecido.

Esse é um dos motivos pelos quais Mainframes continuam dominando ambientes financeiros.

Confiabilidade não é um recurso opcional.

É parte fundamental do negócio.


Dead Letter Queue: A Sala de Quarentena

Nem toda mensagem nasce perfeita.

Erros acontecem.

Layouts incorretos.

Dados inválidos.

Problemas de roteamento.

Mensagens corrompidas.

Se elas bloqueassem a fila principal, toda a operação sofreria.

A solução é a Dead Letter Queue.

A famosa DLQ.

Ela funciona como uma área de isolamento.

Mensagens problemáticas são removidas do fluxo principal e armazenadas separadamente.

O processamento continua.

Os usuários continuam trabalhando.

A equipe técnica pode investigar posteriormente.

É um conceito simples.

Mas extremamente poderoso.


O Que os Jovens Arquitetos Podem Aprender Com Isso

Existe uma tendência atual de acreditar que tudo começou com APIs, Kubernetes e microsserviços.

Arquiteturas como esta mostram que muitos conceitos modernos possuem raízes muito mais antigas.

Observe:

Eventos.

Mensageria.

Roteamento dinâmico.

Processamento assíncrono.

Alta disponibilidade.

Escalabilidade.

Observabilidade.

Resiliência.

Tudo isso já existia em ambientes Mainframe décadas atrás.

A diferença é que hoje utilizamos novos nomes para ideias antigas.


O Futuro Não É Cloud ou Mainframe

A pergunta correta não é:

Cloud ou Mainframe?

A pergunta correta é:

Como combinar Cloud e Mainframe?

A resposta está justamente nesta arquitetura.

O Azure fornece velocidade para inovação.

O Mainframe fornece estabilidade para execução.

O MQ conecta os dois mundos.

O CICS orquestra as transações.

O COBOL preserva o conhecimento acumulado.

O DB2 protege os dados.

Juntos, eles formam uma plataforma capaz de atender milhões de usuários simultaneamente.


Considerações Finais

Ao observar esta arquitetura, não vejo apenas filas MQ, programas COBOL ou serviços Azure.

Vejo algo muito mais interessante.

Vejo a prova de que tecnologia não é uma disputa entre velho e novo.

É uma construção contínua.

Os sistemas que realmente movem o mundo raramente são os mais barulhentos.

São os mais confiáveis.

Enquanto muitos discutem tendências, frameworks e modismos passageiros, arquiteturas híbridas como esta continuam processando pagamentos, movimentando recursos financeiros, autorizando cartões, executando operações críticas e sustentando economias inteiras.

Talvez essa seja a maior lição de todas.

O futuro não pertence exclusivamente à nuvem.

O futuro pertence às arquiteturas capazes de unir inovação e legado sem sacrificar desempenho, segurança ou confiabilidade.

E poucas combinações fazem isso tão bem quanto Azure, IBM MQ, CICS, COBOL e DB2 trabalhando em perfeita harmonia.

Porque, no final das contas, modernizar não significa destruir o passado.

Significa construir pontes entre o que já funciona e aquilo que ainda está por vir.

E essa arquitetura é uma dessas pontes.


sexta-feira, 12 de junho de 2026

☕🚀 COBOL FORA DO MAINFRAME: POR QUE ELE NÃO CONQUISTOU O MUNDO COMO JAVA, C# E PYTHON?


Bellacosa Mainframe e tenta entender a razao do Cobol nao existir fora do Mainframe

☕🚀 COBOL FORA DO MAINFRAME: POR QUE ELE NÃO CONQUISTOU O MUNDO COMO JAVA, C# E PYTHON?

Quando alguém fala em COBOL, a maioria das pessoas imediatamente imagina um enorme IBM Z, salas refrigeradas, bancos, seguradoras e sistemas que movimentam bilhões de dólares por dia.

Mas existe uma curiosidade que poucos conhecem:

O COBOL nunca foi exclusivo do Mainframe.

Durante décadas existiram versões para:

  • MS-DOS

  • Windows

  • Linux

  • Unix

  • AIX

  • HP-UX

  • Solaris

  • AS/400

  • VMS

  • até mesmo Raspberry Pi atualmente

Empresas como Micro Focus, Fujitsu, RM/COBOL, Acucobol, GNUCobol e outras investiram milhões tentando popularizar o COBOL fora do universo IBM.

Mesmo assim, quando ouvimos a palavra COBOL em 2026, quase todo mundo associa imediatamente ao Mainframe.

A pergunta é inevitável:

Por que isso aconteceu?

Por que Java virou universal?

Por que C conquistou sistemas operacionais?

Por que Python dominou a automação?

E por que COBOL permaneceu praticamente "preso" ao Mainframe?

A resposta envolve tecnologia, mercado, marketing, história, cultura corporativa e até psicologia.

Pegue seu café.

Hoje vamos mergulhar em uma das maiores curiosidades da história da computação.


O MAIOR MITO SOBRE COBOL

Existe uma crença popular:

"COBOL só funciona em Mainframe."

Isso nunca foi verdade.

Desde os anos 70 já existiam compiladores COBOL para minicomputadores.

Nos anos 80 surgiram versões para:

  • DOS

  • Unix

  • VAX/VMS

Nos anos 90:

  • Windows

  • OS/2

  • Linux

Nos anos 2000:

  • .NET

  • JVM

  • Web Services

Tecnicamente falando, o COBOL poderia ter seguido praticamente qualquer caminho.

Mas não seguiu.


O PROBLEMA NUNCA FOI A LINGUAGEM

Essa é a primeira coisa que surpreende muita gente.

O COBOL não fracassou fora do Mainframe porque era ruim.

Na verdade ele possuía diversas vantagens.

Extremamente legível

Exemplo:

IF SALDO-CONTA IS GREATER THAN LIMITE-CREDITO
   DISPLAY "LIMITE EXCEDIDO"
END-IF

Até alguém sem conhecimento profundo consegue entender.


Excelente para regras de negócio

Bancos adoram COBOL porque ele descreve regras empresariais com clareza.

Por exemplo:

COMPUTE JUROS =
    VALOR * TAXA / 100

Não existe mistério.


Forte manipulação de registros

Antes dos bancos relacionais se popularizarem, isso era ouro.


Precisão decimal

Enquanto várias linguagens sofriam com arredondamentos, COBOL nasceu para dinheiro.

E dinheiro não aceita erro.


O VERDADEIRO PROBLEMA: O COBOL NASCEU PARA NEGÓCIOS

A palavra COBOL significa:

Common Business Oriented Language

Observe:

Não é:

  • Common Game Language

  • Common Scientific Language

  • Common Internet Language

É:

Business.

Negócios.

Empresas.

Contabilidade.

Folha de pagamento.

Seguros.

Finanças.

Faturamento.

Desde o nascimento, ele tinha um propósito extremamente específico.


ENQUANTO ISSO, O MUNDO MUDOU

Na década de 1960 isso era perfeito.

Mas nas décadas seguintes surgiram novos mercados.


Computação científica

FORTRAN dominou.


Sistemas operacionais

C dominou.


Inteligência Artificial

LISP dominou inicialmente.


Aplicações gráficas

C++


Internet

Java

PHP

Perl

JavaScript


Ciência de Dados

Python

R


O mundo começou a exigir coisas que nunca foram prioridade para o COBOL.


O COBOL NÃO FOI FEITO PARA SER "COOL"

Aqui existe um fator psicológico interessantíssimo.

Pense nos heróis da programação:

  • Linus Torvalds → C

  • Guido van Rossum → Python

  • Bjarne Stroustrup → C++

  • James Gosling → Java

Agora pense em COBOL.

A maioria das pessoas nem sabe quem foi Grace Hopper.

Grace Hopper ajudou a criar conceitos fundamentais que levariam ao COBOL.

Mas a linguagem nunca foi vendida como algo revolucionário.

Ela foi vendida como algo:

  • estável

  • corporativo

  • burocrático

E isso afasta jovens desenvolvedores.


O EFEITO "BANCO"

Imagine dois anúncios.

Linguagem A

"Crie jogos incríveis!"

Linguagem B

"Automatize cálculos atuariais."

Qual parece mais divertida?

Foi exatamente isso que aconteceu.

COBOL ficou associado a:

  • bancos

  • seguradoras

  • governos

  • sistemas legados

Enquanto outras linguagens ficaram associadas à inovação.


O ERRO DE MARKETING MAIS CARO DA HISTÓRIA

Durante os anos 80 e 90, universidades começaram a ensinar:

  • C

  • Pascal

  • C++

  • Java

COBOL desapareceu dos cursos.

A consequência foi devastadora.

Menos estudantes.

Menos projetos.

Menos comunidade.

Menos livros.

Menos ferramentas.

Menos conteúdo.

Menos adoção.

Criou-se um círculo vicioso.


O PROBLEMA DAS FERRAMENTAS

Vamos ser honestos.

Nos anos 90 era muito mais divertido programar Visual Basic do que COBOL.

Visual Basic tinha:

  • botões

  • janelas

  • eventos

Você arrastava componentes.

Tudo aparecia na tela.

COBOL continuava focado em:

OPEN INPUT CLIENTES
READ CLIENTES

O apelo visual era praticamente zero.


O MUNDO APAIXONOU-SE POR INTERFACES GRÁFICAS

Quando o Windows explodiu, surgiu uma nova geração de desenvolvedores.

Eles queriam construir:

  • telas

  • jogos

  • multimídia

COBOL não era o candidato natural.


O MAINFRAME PROTEGEU O COBOL

Aqui está a maior ironia.

O Mainframe foi simultaneamente:

  • a maior força do COBOL

  • e sua maior prisão

Sem Mainframe talvez COBOL tivesse desaparecido.

Mas graças ao Mainframe ele sobreviveu.

Por outro lado, o sucesso no Mainframe reduziu o incentivo para conquistar outros mercados.

Os bancos já estavam satisfeitos.

Por que mudar?


O FATOR ECONÔMICO

Imagine um banco.

Você possui:

  • 50 milhões de linhas COBOL

  • 40 anos de história

  • bilhões movimentados diariamente

Qual decisão é mais segura?

Opção A

Migrar tudo.

Opção B

Continuar usando COBOL.

A resposta é óbvia.


O EFEITO "SE ESTÁ FUNCIONANDO, NÃO MEXA"

Poucas linguagens tiveram a sorte de trabalhar em ambientes tão conservadores.

Um sistema bancário precisa:

  • estabilidade

  • previsibilidade

  • auditoria

Não precisa ser moderno.

Precisa funcionar.

E COBOL funciona.

Muito bem.


A CHEGADA DA INTERNET

Nos anos 90 surgiu a Web.

Foi uma nova corrida do ouro.

Linguagens correram para conquistar esse território.

  • Java

  • PHP

  • Perl

  • ASP

COBOL chegou depois.

Muito depois.

Quando chegou, o mercado já tinha donos.


O PROBLEMA DA COMUNIDADE

Uma linguagem vive ou morre pela comunidade.

Python possui:

  • milhões de usuários

  • milhares de bibliotecas

  • eventos globais

Java possui ecossistema gigantesco.

COBOL sempre teve uma comunidade menor.

Extremamente qualificada.

Mas menor.


O FATOR OPEN SOURCE

Outro golpe importante.

O movimento Open Source impulsionou:

  • Linux

  • Python

  • PHP

  • Perl

COBOL permaneceu muito ligado ao mundo corporativo.

Licenças caras.

Compiladores pagos.

Ferramentas empresariais.

Isso limitou sua expansão.


MAS EXISTE COBOL OPEN SOURCE

Hoje existe o fantástico:

GNUCobol

GnuCOBOL Official Project

Ele compila COBOL para C e roda em:

  • Linux

  • Windows

  • macOS

Mostrando que o COBOL continua vivo fora do Mainframe.


O COBOL É LENTO?

Outro mito.

Na verdade, muitas implementações COBOL são extremamente rápidas.

Especialmente em processamento transacional.

O problema nunca foi desempenho.


O COBOL É ANTIGO DEMAIS?

Também não.

Veja a ironia.

Hoje temos:

  • APIs REST

  • JSON

  • XML

  • Kafka

  • Containers

  • Docker

E o COBOL já conversa com tudo isso.

Inclusive o usuário Bellacosa Mainframe frequentemente explora integrações modernas entre COBOL, JSON, CICS Web Services e z/OS Connect.

O problema não é tecnológico.

É percepção de mercado.


O PARADOXO DO SUCESSO

O COBOL sofreu do mesmo problema que o DB2 Mainframe.

Ele ficou tão bom no que fazia que nunca precisou mudar radicalmente.

Enquanto outras linguagens lutavam para sobreviver, o COBOL já tinha conquistado o setor financeiro.


O QUE ACONTECERIA SE O COBOL FOSSE CRIADO HOJE?

Imagine uma linguagem com:

  • sintaxe legível

  • precisão decimal nativa

  • foco em regras de negócio

  • forte tipagem

  • excelente auditoria

Provavelmente seria vendida como:

  • FinTech Language

  • Banking Language

  • Enterprise Language

E talvez fosse considerada revolucionária.


O COBOL PERDEU A GUERRA?

Não.

Na verdade, ele venceu uma guerra diferente.

Enquanto milhares de linguagens nasceram e morreram, COBOL continua executando sistemas críticos após mais de seis décadas.

Poucas tecnologias na história conseguiram isso.


A VERDADE QUE POUCOS ADMITEM

Quando um programador Python cria um sistema hoje, ninguém sabe se ele existirá daqui a 30 anos.

Quando um programador COBOL cria um sistema bancário, existe uma boa chance de alguém ainda estar executando aquele código décadas depois.

Isso muda completamente a forma de projetar software.


A GRANDE LIÇÃO PARA OS PADAWANS

A pergunta correta não é:

"Por que COBOL ficou nichado no Mainframe?"

A pergunta correta é:

"Por que o Mainframe continuou sendo o melhor lugar para executar aquilo que o COBOL foi criado para fazer?"

Porque o COBOL nasceu para resolver problemas empresariais gigantescos.

E o Mainframe continua sendo a plataforma mais eficiente para executar esses processos com:

  • confiabilidade

  • segurança

  • disponibilidade

  • escalabilidade

  • integridade transacional

O COBOL não ficou preso ao Mainframe.

Na realidade, ele encontrou seu habitat natural.

As versões para DOS, Windows e Linux sempre existiram, continuam existindo e funcionam muito bem.

Mas fora do Mainframe ele precisava competir com centenas de linguagens.

Dentro do Mainframe ele se tornou rei.

E existe uma enorme diferença entre participar de uma competição e dominar um reino.

Mais de 65 anos depois de seu nascimento, o COBOL continua processando salários, aposentadorias, seguros, cartões de crédito, transferências bancárias e operações financeiras que sustentam boa parte da economia mundial.

Poucas linguagens podem dizer isso.

E talvez esse seja o maior paradoxo da computação:

O COBOL não conquistou todas as plataformas porque nunca precisou.

Ele já estava ocupado movendo o mundo. ☕🚀



quinta-feira, 4 de junho de 2026

A DÍVIDA TÉCNICA QUASE PAROU OS BANCOS — A COVID APERTOU ENTER E O SISTEMA REVELOU 40 ANOS DE PROBLEMAS ESCONDIDOS

 

Bellacosa Mainframe e o covid expondo problemas da divida tecnica

☕💣📋 A DÍVIDA TÉCNICA QUASE PAROU OS BANCOS — A COVID APERTOU ENTER E O SISTEMA REVELOU 40 ANOS DE PROBLEMAS ESCONDIDOS


O DIA EM QUE UM PROGRAMADOR COBOL JÚNIOR DESCOBRIU QUE O MAIOR BUG DO BANCO NÃO ESTAVA NO CÓDIGO

Imagine a seguinte situação.

Você acabou de entrar em um grande banco.

Recebe seu primeiro programa COBOL para manutenção.

Abre o membro no ISPF.

O programa possui:

  • 28.000 linhas

  • 134 COPYBOOKS

  • 742 parágrafos

  • Comentários da época do Plano Real

  • Um PERFORM THRU que ninguém entende

  • Um campo chamado WK-AREA1

  • Outro chamado WK-AREA2

  • Outro chamado WK-AREA3

E você pensa:

"Quem foi o maluco que escreveu isso?"

Então um analista veterano olha para você e responde:

— Eu.

E completa:

— Em 1998 aquilo era considerado moderno.

Nesse momento você acabou de conhecer um dos conceitos mais importantes da engenharia de software:

Dívida Técnica


O QUE É DÍVIDA TÉCNICA?

A melhor definição é simples.

Dívida técnica é quando uma decisão que economiza tempo hoje gera custos maiores amanhã.

Funciona exatamente como um empréstimo bancário.

Você pega dinheiro hoje.

Mas depois paga:

  • principal

  • juros

  • correção

  • multas

No software acontece a mesma coisa.

Você ganha velocidade agora.

Mas perde produtividade no futuro.


EXEMPLO COBOL CLÁSSICO

Imagine que em 1998 alguém criou:

IF AGENCIA = 1234
   MOVE 'SANTOS' TO CIDADE
END-IF

Parecia inofensivo.

Hoje existem:

  • 3.000 agências

  • dezenas de fusões

  • múltiplas marcas

Agora o código virou:

IF AGENCIA = 1234
...
ELSE IF AGENCIA = 2345
...
ELSE IF AGENCIA = 3456
...

O que era uma solução virou um problema.


COMO A DÍVIDA TÉCNICA NASCE?

Normalmente através de frases famosas.

Frase 1

"Depois a gente melhora."

Mentira.

Ninguém melhora.


Frase 2

"É só uma correção rápida."

Nunca é.


Frase 3

"O projeto fecha sexta-feira."

A dívida nasce quinta.


Frase 4

"Não mexe porque funciona."

O terror dos bancos.


OS TIPOS DE DÍVIDA TÉCNICA

1. Código

Programas difíceis de entender.

Exemplos:

  • GOTO excessivo

  • PERFORM THRU gigantes

  • variáveis sem significado

  • duplicação


2. Arquitetura

Problemas maiores.

Exemplos:

  • sistemas monolíticos

  • dependências excessivas

  • integrações frágeis


3. Dados

Muito comum em bancos.

Exemplos:

  • arquivos VSAM redundantes

  • tabelas DB2 duplicadas

  • dados inconsistentes


4. Processos

Pouco discutida.

Mas extremamente perigosa.

Exemplos:

  • deploy manual

  • testes manuais

  • documentação inexistente


COMO IDENTIFICAR DÍVIDA TÉCNICA?

Um júnior costuma perguntar:

"Como sei que existe dívida?"

Observe sintomas.


Sintoma 1

Mudanças simples levam semanas.


Sintoma 2

Toda alteração gera incidente.


Sintoma 3

Poucas pessoas entendem o sistema.


Sintoma 4

Ninguém quer mexer.


Sintoma 5

A frase mais perigosa:

"Esse programa é do fulano."

Quando o sistema tem dono humano, existe dívida.


MÉTRICAS IMPORTANTES

Agora entramos em uma área que diferencia profissionais comuns de profissionais de elite.

Você não gerencia aquilo que não mede.


1. COMPLEXIDADE CICLOMÁTICA

Criada por Thomas McCabe.

Mede quantos caminhos lógicos existem.

Exemplo:

IF A
   ...
ELSE
   ...
END-IF

Complexidade = 2

Agora imagine 300 IFs.

O número explode.

Quanto maior:

  • mais difícil testar

  • mais difícil manter

  • maior risco

Meta saudável:

  • abaixo de 10 excelente

  • até 20 aceitável

  • acima de 30 perigoso


2. LINHAS DE CÓDIGO

LOC (Lines of Code)

Não mede qualidade.

Mas mede tamanho.

Programa COBOL:

  • 500 linhas → simples

  • 5.000 linhas → atenção

  • 20.000 linhas → investigação


3. DUPLICAÇÃO DE CÓDIGO

Quanto código está repetido?

Exemplo:

Mesma regra de cálculo em:

  • cadastro

  • empréstimo

  • cartão

  • investimentos

Quando muda uma regra:

quatro programas precisam mudar.


4. COBERTURA DE TESTES

Quanto do sistema é validado?

Métrica:

Cobertura = código testado / código total

Quanto maior, melhor.


5. TEMPO MÉDIO DE CORREÇÃO

MTTR

Mean Time To Repair.

Quanto tempo leva para corrigir problemas.

Quanto menor:

melhor maturidade.


6. DEFEITOS POR RELEASE

Muito utilizada em bancos.

Pergunta simples:

Quantos incidentes surgem após implantação?


FERRAMENTAS QUE AJUDAM

Vamos ao arsenal.


IBM APPLICATION DISCOVERY

Conhecida como AD.

Excelente para:

  • dependências

  • impacto

  • análise de código

Mostra relacionamentos invisíveis.


IBM APPLICATION DELIVERY FOUNDATION

Ajuda em:

  • DevOps

  • testes

  • integração


SONARQUBE

Uma das mais famosas.

Analisa:

  • complexidade

  • duplicação

  • vulnerabilidades

Possui suporte para COBOL.


TOPAZ

Muito utilizada em ambientes Compuware/BMC.

Excelente para:

  • visualização

  • debugging

  • análise


ENDEVOR

Ajuda no controle de versões.

Embora não seja ferramenta de dívida técnica, ajuda a evitar que ela cresça.


GIT

Sim.

Programadores COBOL modernos usam Git.

O mundo mudou.


COMO REDUZIR DÍVIDA TÉCNICA?

Agora chegamos à parte prática.


PASSO 1

MAPEAR

Nunca saia corrigindo.

Primeiro descubra:

  • onde está

  • quanto existe

  • qual impacto


PASSO 2

CLASSIFICAR

Separe em:

Alta prioridade

Afeta negócio.

Média prioridade

Afeta produtividade.

Baixa prioridade

Apenas estética.


PASSO 3

ATACAR O TOPO

Use a regra 80/20.

Normalmente:

20% dos programas geram 80% dos problemas.

Comece por eles.


PASSO 4

REFATORAR

Refatorar significa:

melhorar sem alterar comportamento.

Exemplo:

Antes

MOVE 'S' TO WS-FLAG1

Depois

MOVE 'S' TO WS-CLIENTE-ATIVO

Mesmo resultado.

Melhor compreensão.


PASSO 5

REMOVER DUPLICAÇÃO

Regra de ouro.

Se existe em cinco lugares.

Transforme em um.


PASSO 6

DOCUMENTAR

A documentação mais barata é aquela escrita hoje.

A mais cara é aquela que será escrita daqui cinco anos.


PASSO 7

CRIAR APIs

Aqui entra a modernização.

Não destrua o COBOL.

Encapsule.

Exemplo:

Mobile
   |
API
   |
CICS
   |
COBOL
   |
DB2

O COBOL continua funcionando.

Mas agora conversa com o mundo moderno.


O PAPEL DA CLOUD

Muitos profissionais acreditam:

"Cloud substitui Mainframe."

Não.

A realidade é:

Cloud complementa Mainframe.

O mercado está migrando para:

Mainframe + APIs + Cloud + IA

Não:

Mainframe versus Cloud

EASTER EGG DA INDÚSTRIA

Você sabia?

Grande parte dos sistemas bancários mais críticos do planeta possui código executando há décadas.

Alguns módulos possuem mais idade que muitos programadores que fazem manutenção neles.


CURIOSIDADE

Em muitos bancos existem programas COBOL executados diariamente há mais de 30 anos sem interrupção significativa.

Pouquíssimas tecnologias no mundo podem afirmar isso.


A REGRA DOS ESCOTEIROS

Uma das melhores técnicas contra dívida técnica.

Conhecida como:

Boy Scout Rule

"Deixe o código mais limpo do que encontrou."

Você corrige um bug.

Aproveite para:

  • melhorar nomes

  • remover comentários obsoletos

  • eliminar duplicações

Pequenas melhorias acumulam enormes resultados.


O ERRO QUE TODO JÚNIOR COMETE

Querer reescrever tudo.

Não faça isso.

Sistemas bancários existem para:

  • processar pagamentos

  • movimentar bilhões

  • atender clientes

Não para serem bonitos.

Primeiro entenda.

Depois melhore.

Por último modernize.


O CAMINHO DE EVOLUÇÃO PROFISSIONAL

Júnior:

"Como funciona?"

Pleno:

"Como melhorar?"

Sênior:

"Como evitar que o problema volte?"

Arquiteto:

"Como impedir que o problema exista?"


☕🦠💣 QUANDO A COVID FEZ O IPL DO PLANETA E REVELOU TODOS OS ABENDS ESCONDIDOS DOS BANCOS

Até 2020 muitos bancos acreditavam que estavam preparados para o futuro.

Possuíam:

  • Internet Banking

  • Aplicativos móveis

  • Chatbots

  • APIs

  • Transformação Digital nos PowerPoints

Então chegou a COVID.

E a realidade apareceu.


O TESTE DE STRESS QUE NINGUÉM PLANEJOU

Durante décadas os bancos planejavam crescimento gradual.

De repente aconteceu:

Milhões de clientes
tentando acessar
os sistemas ao mesmo tempo

O equivalente em mainframe seria:

100.000 jobs
entrando na fila
simultaneamente

O QUEBROU?

Curiosamente, muitas vezes não foi o COBOL.

Nem o CICS.

Nem o DB2.

Foi a camada moderna.

Por exemplo:

  • Portais Web

  • Gateways API

  • Aplicativos móveis

  • Centrais de atendimento

Os sistemas core continuavam funcionando.

Mas os canais de acesso colapsaram.


O DIA EM QUE O BANCO DESCOBRIU SUA DÍVIDA TÉCNICA

Muitas instituições descobriram:

  • Processos manuais escondidos

  • Dependência excessiva de funcionários específicos

  • Sistemas sem escalabilidade

  • Arquiteturas ultrapassadas

A pandemia funcionou como um scanner de vulnerabilidades em escala mundial.


☁️ A NUVEM NÃO É UMA MÁQUINA. É UMA ESTRATÉGIA.

Um dos maiores erros dos iniciantes é pensar:

Cloud = Servidor em outro lugar

Não.

Cloud é uma mudança de modelo operacional.


O QUE A NUVEM OFERECE?

Imagine que amanhã o banco precise processar:

10 vezes mais transações

No modelo tradicional:

  • Comprar servidores

  • Instalar servidores

  • Configurar servidores

Meses de trabalho.


NA NUVEM

Precisa de mais capacidade?

Adiciona.

Precisa de menos?

Remove.


A NUVEM REDUZ DÍVIDA TÉCNICA?

Resposta curta:

Não.


RESPOSTA LONGA

A nuvem não elimina dívida técnica.

Mas torna muito mais fácil combatê-la.

Exemplo:

Antes:

Sistema monolítico
30.000 programas

Depois:

Microserviços
APIs
Containers

Agora você consegue modernizar partes isoladas.


O PADRÃO QUE ESTÁ DOMINANDO OS BANCOS

O mercado financeiro está migrando para:

Cloud
    |
APIs
    |
Mainframe
    |
DB2

Não:

Cloud substituindo Mainframe

Mas:

Cloud consumindo Mainframe

Essa diferença é gigantesca.


O STRANGLER PATTERN

Um dos segredos da modernização bancária.

Ao invés de destruir:

Sistema COBOL

Você faz:

Nova API

Depois:

Novo serviço

Depois:

Novo canal digital

E o legado vai sendo cercado gradualmente.


👨‍💼 O PROBLEMA QUE NINGUÉM GOSTA DE DISCUTIR: RH

A parte mais interessante da entrevista da IBM talvez seja esta:

A maior dívida técnica não é financeira.

É humana.


O PROGRAMA COBOL QUE APOSENTOU O FUNCIONÁRIO

Imagine:

Programa:

PAGBOL01

Criado em:

1994

Quem entende?

Uma pessoa.


O DIA DO DESASTRE

Essa pessoa:

  • aposenta

  • muda de empresa

  • entra em férias

Pronto.

Agora existe um risco operacional.


O FATOR ÔNIBUS

Métrica famosa.

Pergunta:

Quantas pessoas precisam desaparecer para que o projeto pare?

Se a resposta for:

1

Você possui um problema grave.


O QUE OS JOVENS DESENVOLVEDORES PROCURAM?

A nova geração busca:

  • Git

  • APIs

  • DevOps

  • Cloud

  • Automação

  • CI/CD

Não necessariamente porque são modismos.

Mas porque aumentam produtividade.


O ERRO DOS GESTORES

Muitos acreditam:

"Os jovens não querem aprender COBOL."

Errado.

O que eles não querem é:

Trabalhar em caos.

Existe uma enorme diferença.


UM COBOL MODERNO É ATRAENTE

Imagine um ambiente com:

  • Git

  • VS Code

  • Zowe

  • APIs REST

  • Jenkins

  • SonarQube

E atrás disso:

COBOL
CICS
DB2

O profissional moderno trabalha feliz.


UM COBOL ANTIGO É REPELENTE

Agora imagine:

  • documentação inexistente

  • deploy manual

  • FTP

  • planilhas Excel

  • mudanças sem controle

O problema não é COBOL.

É a cultura.


O CUSTO INVISÍVEL DA DÍVIDA TÉCNICA

Os gestores normalmente medem:

  • hardware

  • software

  • licenças

Mas esquecem:

  • turnover

  • treinamento

  • conhecimento perdido

Esses custos podem superar os custos tecnológicos.


O CICLO VICIOSO

A dívida técnica cria:

Sistema ruim
      ↓
Pouca produtividade
      ↓
Mais pressão
      ↓
Mais atalhos
      ↓
Mais dívida técnica
      ↓
Mais pessoas saem
      ↓
Menos conhecimento
      ↓
Mais dívida técnica

É um círculo destrutivo.


O CICLO VIRTUOSO

A modernização cria:

Melhor arquitetura
       ↓
Mais produtividade
       ↓
Menos incidentes
       ↓
Mais inovação
       ↓
Mais satisfação
       ↓
Melhor retenção
       ↓
Mais conhecimento
       ↓
Menos dívida técnica

A GRANDE LIÇÃO PARA O PROGRAMADOR COBOL JÚNIOR

Quando você ouvir a expressão:

"Precisamos migrar para a nuvem."

Não pense em servidores.

Pense em:

  • agilidade

  • automação

  • integração

  • APIs

  • escalabilidade

  • experiência do desenvolvedor

Quando ouvir:

"Precisamos reduzir dívida técnica."

Não pense apenas em código.

Pense em:

  • pessoas

  • conhecimento

  • processos

  • documentação

  • cultura

E quando ouvir:

"Precisamos modernizar o mainframe."

Lembre-se:

Os maiores bancos do mundo não estão abandonando COBOL.

Eles estão cercando COBOL com tecnologias modernas para que ele continue entregando valor pelos próximos 30 anos.


CONCLUSÃO

A maior lição sobre dívida técnica é surpreendente.

O problema raramente é COBOL.

O problema quase sempre é falta de gestão.

Um programa COBOL de 1985 pode ser extremamente moderno se possuir:

  • documentação

  • testes

  • APIs

  • observabilidade

  • versionamento

  • arquitetura bem definida

Da mesma forma, uma aplicação criada ontem pode nascer cheia de dívida técnica.

Lembre-se sempre:

Dívida técnica não é idade.

Dívida técnica é descuido acumulado.

E existe uma enorme diferença entre um sistema antigo e um sistema mal cuidado.

O programador COBOL que entender essa diferença deixa de ser apenas um mantenedor de código legado e passa a ser um verdadeiro engenheiro responsável por preservar, modernizar e evoluir alguns dos sistemas mais importantes do planeta.


segunda-feira, 20 de outubro de 2025

A Maior Mentira da Modernização Mainframe: Por Que Transformar COBOL em Java Não Resolve Quase Nada

Bellacosa Mainframe o cobol nao é o problema



☕💣🚨 PADAWAN, O COBOL NÃO É O PROBLEMA! O VERDADEIRO MONSTRO ESTÁ ESCONDIDO DENTRO DO SISTEMA

A Maior Mentira da Modernização Mainframe: Por Que Transformar COBOL em Java Não Resolve Quase Nada



A Guerra Contra o COBOL

Existe uma frase que se repete há mais de 30 anos:

"Precisamos eliminar o COBOL."

O curioso é que enquanto essa frase era repetida por consultorias, vendors, CIOs e arquitetos corporativos, o COBOL continuava fazendo aquilo que sempre fez:

  • pagando aposentadorias;

  • processando cartões;

  • calculando seguros;

  • movimentando bilhões em transações;

  • sustentando governos inteiros.

O COBOL nunca foi o problema.

O problema sempre foi outro:

ninguém mais sabia exatamente o que estava escondido dentro dele.


O Dia em Que a Empresa Descobriu Que Ninguém Entendia o Sistema

Imagine um banco.

Ele possui:

  • 18 milhões de linhas COBOL;

  • 4.000 jobs batch;

  • 1.500 copybooks;

  • centenas de tabelas DB2;

  • regras de negócio escritas desde 1987.

Um consultor chega e diz:

"Vamos converter tudo para Java."

A diretoria aprova.

O projeto custa dezenas de milhões.

Três anos depois...

O sistema agora roda em Java.

E o problema continua exatamente igual.

Porque ninguém entendeu o negócio.

Apenas trocaram a sintaxe.


O Efeito "Jobol"

O artigo menciona um termo fantástico:

JOBOL

Java + COBOL

Código Java que continua pensando como COBOL.

Exemplo:

COBOL

IF CLIENTE-ATIVO = 'S'
   COMPUTE DESCONTO = VALOR * 0.10
END-IF

Convertido automaticamente:

if(clienteAtivo.equals("S")){
    desconto = valor * 0.10;
}

Parece moderno.

Mas pergunte:

  • Por que 10%?

  • Desde quando?

  • Existe legislação envolvida?

  • Existe exceção?

Ninguém sabe.

A lógica foi transportada.

O conhecimento não.


O Easter Egg Mais Perigoso do Mainframe

Todo sistema antigo possui algo parecido.

Um trecho de código aparentemente absurdo:

IF DATA = '31121999'
   MOVE ZERO TO TAXA
END-IF

O programador novo pergunta:

"Quem colocou isso?"

Ninguém sabe.

Remove.

Produção explode.

Meses depois descobrem:

Aquilo corrigia um problema de cálculo criado por uma mudança tributária em 1999.

O código era feio.

Mas carregava uma regra de negócio invisível.


O Mainframe Guarda Mais Conhecimento Que os Documentos

Muitas empresas acreditam que possuem documentação.

Não possuem.

Possuem:

  • manuais desatualizados;

  • diagramas antigos;

  • apresentações esquecidas.

O verdadeiro conhecimento está em:

  • COBOL;

  • PL/I;

  • Natural;

  • JCL;

  • PROC;

  • CICS;

  • IMS;

  • DB2;

  • VSAM.

O código virou documentação viva.


Laboratório Bellacosa

Descobrindo Conhecimento Escondido

Imagine um programa de cálculo de seguro.

Passo 1

Procure constantes misteriosas.

MOVE 0.732 TO FATOR-AJUSTE

Pergunta:

Por que 0.732?


Passo 2

Procure datas mágicas.

IF DATA > '01012015'

Pergunta:

O que aconteceu em 2015?


Passo 3

Procure exceções.

IF UF = 'SP'

Pergunta:

Por que somente São Paulo?


Passo 4

Converse com usuários antigos.

Muitas vezes eles sabem mais que a documentação.


Resultado

Você começa a reconstruir o domínio do negócio.

Exatamente o que o DDD propõe.


Domain Driven Design Explicado Para Mainframeiros

Muita gente acha que DDD é moda.

Na verdade, o mainframe fazia DDD sem saber.


Exemplo

Sistema de seguros.

Temos:

Domínio

Seguros

Subdomínio

Sinistros

Contexto delimitado

Regulação

Linguagem ubíqua

Termos que o negócio entende:

  • apólice;

  • prêmio;

  • segurado;

  • franquia;

  • indenização.


O Erro Clássico

Código moderno:

processEntity()

Código orientado ao domínio:

aprovarIndenizacao()

Qual transmite melhor o negócio?


O Grande Segredo dos Batchs

Existe uma verdade inconveniente.

Muitas regras de negócio não estão nos programas.

Estão na sequência dos jobs.


Exemplo:

JOB001 - IMPORTA CLIENTES
JOB002 - CALCULA JUROS
JOB003 - EMITE FATURAS
JOB004 - GERA ARQUIVO BACEN

Troque a ordem.

O banco para.

O fluxo batch também é conhecimento corporativo.


O Perigo da Reescrita Total

Todo arquiteto sonha com:

"Vamos reescrever tudo."

Na prática:

Forças

  • arquitetura limpa;

  • tecnologias novas;

  • documentação moderna.

Fraquezas

  • altíssimo risco;

  • anos de projeto;

  • perda de regras escondidas.

Perigos

  • divergência de cálculo;

  • problemas regulatórios;

  • inconsistências financeiras.


A Estratégia Que Mais Funciona

O artigo cita o conceito mais inteligente da modernização moderna.

Strangler Fig

A Figueira Estranguladora.

Ela cresce ao redor da árvore antiga.

Até substituí-la.


No Mainframe

Fase 1

COBOL continua funcionando.

Fase 2

Criamos APIs.

Fase 3

Novos sistemas consomem APIs.

Fase 4

Partes são substituídas.

Fase 5

O legado diminui gradualmente.

Sem Big Bang.

Sem suicídio corporativo.


Raincode: O Que Muita Gente Não Entendeu

Muitos acreditam que Raincode é uma ferramenta de migração.

Na verdade:

É uma ferramenta de sobrevivência.

Ela permite:

  • retirar carga do Z;

  • migrar gradualmente;

  • reduzir custos;

  • ganhar tempo.

Mas atenção:

Ela não resolve:

  • arquitetura ruim;

  • regras escondidas;

  • documentação ausente.


A Nova Função do Especialista COBOL

Aqui está a maior mudança dos próximos anos.

O programador COBOL deixa de ser:

  • mantenedor;

  • bombeiro de produção;

  • operador de emergência.

E passa a ser:

Arqueólogo Digital

A pessoa capaz de responder:

"Por que o sistema faz isso?"

Essa resposta vale mais que escrever código.


Curiosidade Histórica

Muitas regras de negócio existentes hoje foram criadas por programadores que já faleceram ou estão aposentados há décadas.

Mesmo assim:

  • seus algoritmos continuam rodando;

  • suas decisões continuam afetando clientes;

  • suas validações continuam protegendo empresas.

Em alguns casos, o código virou literalmente um patrimônio intelectual da organização.


O Verdadeiro Inimigo

Não é COBOL.

Não é JCL.

Não é CICS.

Não é IMS.

Não é DB2.

O verdadeiro inimigo é:

🚨 conhecimento implícito.

Aquilo que ninguém documentou.

Aquilo que ninguém explica.

Aquilo que só existe dentro do código.


Conclusão Bellacosa Mainframe

O mercado passou décadas tentando responder à pergunta errada.

Perguntavam:

"Como eliminamos o COBOL?"

Quando deveriam perguntar:

"Como preservamos o conhecimento do negócio?"

Porque uma empresa pode trocar:

  • COBOL por Java;

  • Java por C#;

  • C# por Rust;

  • Rust por IA Generativa.

Mas se perder o conhecimento embutido em 40 anos de operação...

não estará modernizando.

Estará apenas reconstruindo um problema antigo com ferramentas novas.

E como todo velho operador sabe:

"Trocar a cor do terminal não muda o que acontece quando você aperta ENTER." ☕💣🚨

quinta-feira, 28 de janeiro de 2021

☕💣 O DIA EM QUE O MAINFRAME GANHOU UM "SERVIDOR DE APLICAÇÕES GIGANTE": COMO WEB SERVICES CONECTAM z/OS E LINUXONE AO MUNDO MODERNO

Bellacosa Mainframe e uma visão do servidor LinuxOne no Mainframe


☕💣 O DIA EM QUE O MAINFRAME GANHOU UM "SERVIDOR DE APLICAÇÕES GIGANTE": COMO WEB SERVICES CONECTAM z/OS E LINUXONE AO MUNDO MODERNO

Introdução

Durante décadas, o Mainframe foi visto como uma fortaleza isolada. Enquanto servidores Unix, Windows e Linux dominavam o mundo da internet, o z/OS continuava processando milhões de transações bancárias, governamentais e corporativas sem precisar aparecer para o usuário final.

Mas o mundo mudou.

Aplicativos móveis precisavam consultar saldos bancários.

Sites de e-commerce precisavam verificar estoques.

APIs precisavam conversar com programas COBOL.

Microsserviços precisavam acessar dados armazenados em DB2.

Foi nesse momento que surgiu uma das arquiteturas mais interessantes da computação corporativa moderna:

LinuxONE executando aplicações web e APIs enquanto o z/OS continua processando o negócio.

Na prática, o LinuxONE tornou-se uma espécie de "porta de entrada" para o Mainframe.

Hoje vamos entender como tudo isso funciona.


A Origem do Problema

Imagine um programa COBOL criado em 1985.

Ele processa contas correntes.

Funciona perfeitamente.

Executa milhares de transações por segundo.

Mas existe um problema:

Ele não fala HTTP.

Não entende JSON.

Não sabe o que é REST.

Não conhece APIs.

O programa espera receber informações através de:

  • CICS

  • MQ

  • Arquivos VSAM

  • DB2

  • Transações 3270

Enquanto isso, um aplicativo Android espera algo como:

{
   "conta":"12345",
   "saldo":2500.50
}

Era necessário criar uma ponte.


Surge o LinuxONE

LinuxONE é uma plataforma Linux executando diretamente sobre hardware IBM Z.

Fisicamente ele utiliza o mesmo equipamento do Mainframe.

Porém logicamente é outro ambiente.

Podemos ter:

IBM Z

├── LPAR z/OS
│   ├── CICS
│   ├── DB2
│   ├── IMS
│   └── COBOL
│
└── LPAR LinuxONE
    ├── Apache
    ├── NGINX
    ├── Java
    ├── Spring Boot
    ├── Node.js
    └── Python

Os dois ambientes compartilham o mesmo hardware.

A comunicação ocorre internamente.

Sem sair do datacenter.

Sem atravessar a internet.

Com latência extremamente baixa.


Arquitetura Moderna

Visualmente temos:

Internet
    │
    ▼
Load Balancer
    │
    ▼
NGINX / Apache
(LinuxONE)
    │
    ▼
API REST
(Spring Boot)
    │
    ▼
IBM MQ
    │
    ▼
CICS
(z/OS)
    │
    ▼
COBOL
    │
    ▼
DB2

Observe que:

O usuário nunca acessa o COBOL diretamente.

Ele conversa com uma API.

A API conversa com o Mainframe.

O Mainframe responde.

A API devolve JSON.


O Papel do Servidor de Páginas

Normalmente utilizamos:

  • Apache HTTP Server

  • NGINX

  • IBM HTTP Server

Exemplo:

Cliente
   │
   ▼
Apache
   │
   ▼
Spring Boot
   │
   ▼
MQ
   │
   ▼
COBOL

O Apache recebe:

GET /clientes/123

E encaminha para a aplicação Java.


Criando uma API no LinuxONE

Suponha que queremos consultar saldo bancário.

Endpoint:

GET /saldo/12345

Aplicação Spring Boot:

@RestController
public class SaldoController {

   @GetMapping("/saldo/{conta}")
   public Saldo obterSaldo(
      @PathVariable String conta) {

      return servico.consultar(conta);
   }
}

Quando a chamada chega:

GET /saldo/12345

o Spring Boot inicia o fluxo.


Como o LinuxONE Conversa com o z/OS

Existem várias opções.

1. IBM MQ

Mais utilizada.

Fluxo:

API
 │
 ▼
MQ REQUEST
 │
 ▼
z/OS
 │
 ▼
COBOL
 │
 ▼
MQ RESPONSE
 │
 ▼
API

O Java envia mensagem.

O COBOL processa.

A resposta retorna.


Exemplo de Mensagem MQ

JSON enviado:

{
  "conta":"12345"
}

Fila:

REQ.SALDO

Resposta:

{
   "saldo":2500.50
}

Fila:

RESP.SALDO

Exemplo COBOL Consumindo MQ

Pseudo código:

CALL 'MQGET'

MOVE CONTA TO WS-CONTA

EXEC SQL
   SELECT SALDO
   INTO :WS-SALDO
   FROM CONTAS
   WHERE NUMERO = :WS-CONTA
END-EXEC

CALL 'MQPUT'

Comunicação Via CICS Web Services

Outra possibilidade.

O CICS pode expor serviços diretamente.

Arquitetura:

LinuxONE
   │
HTTP
   │
CICS
   │
COBOL

Nesse caso não usamos MQ.

A API chama o próprio CICS.


Exemplo de Chamada

Java:

RestTemplate rest =
    new RestTemplate();

String resposta =
    rest.getForObject(
       url,
       String.class
    );

Chamando:

https://cics.banco.com/saldo

Comunicação Via z/OS Connect

Hoje é uma das soluções mais elegantes.

Arquitetura:

Aplicativo
    │
    ▼
API REST
    │
    ▼
z/OS Connect
    │
    ▼
CICS
IMS
DB2
COBOL

O z/OS Connect converte:

JSON ↔ COBOL

automaticamente.


Exemplo

Cliente envia:

{
   "conta":"12345"
}

z/OS Connect converte para:

01 REQUISICAO.
   05 CONTA PIC X(10).

Sem programação manual.


Configurando Apache no LinuxONE

Instalação:

sudo yum install httpd

Iniciar:

systemctl start httpd

Habilitar:

systemctl enable httpd

Teste:

curl localhost

Configurando Proxy para API

Arquivo:

/etc/httpd/conf/httpd.conf

Exemplo:

ProxyPass /api http://localhost:8080

ProxyPassReverse /api
http://localhost:8080

Fluxo:

Apache
    │
    ▼
Spring Boot

Configurando Spring Boot

Aplicação:

server.port=8080

Executar:

java -jar banco.jar

Teste:

curl http://localhost:8080/saldo/12345

Configurando IBM MQ

Criar Queue Manager:

crtmqm QM1

Iniciar:

strmqm QM1

Criar fila:

DEFINE QLOCAL(REQ.SALDO)

Criar fila resposta:

DEFINE QLOCAL(RESP.SALDO)

Fluxo Completo da Transação

Passo 1

Usuário abre aplicativo.

Android

Passo 2

Aplicativo envia:

GET /saldo/12345

Passo 3

Apache recebe.

Passo 4

Apache encaminha para Spring Boot.

Passo 5

Spring Boot envia mensagem MQ.

Passo 6

MQ entrega ao z/OS.

Passo 7

COBOL processa.

Passo 8

DB2 retorna saldo.

Passo 9

COBOL responde MQ.

Passo 10

Spring Boot recebe.

Passo 11

Spring Boot gera JSON.

Passo 12

Apache devolve ao cliente.

Resultado:

{
   "conta":"12345",
   "saldo":2500.50
}

Segurança da Arquitetura

Normalmente utilizamos:

RACF

Controla acesso no z/OS.

TLS

Criptografia HTTPS.

JWT

Autenticação moderna.

OAuth2

Integração com aplicações externas.

Fluxo:

Cliente
   │
JWT
   ▼
API
   │
MQ
   ▼
COBOL

Vantagens do LinuxONE

Não altera o COBOL

O sistema continua funcionando.

Escalabilidade

Mais APIs podem ser criadas.

Segurança

Tudo permanece dentro do IBM Z.

Menor latência

Comunicação interna.

Modernização gradual

Não exige reescrever aplicações.


Caso Real de Banco

Muitos bancos utilizam:

App Mobile
      │
      ▼
Kubernetes
(LinuxONE)
      │
      ▼
APIs Java
      │
      ▼
MQ
      │
      ▼
CICS
      │
      ▼
COBOL
      │
      ▼
DB2

O cliente acredita estar falando com uma aplicação moderna.

Mas no fundo uma rotina COBOL criada décadas atrás continua executando a lógica principal do negócio.


O Futuro

Hoje vemos LinuxONE executando:

  • Docker

  • Kubernetes

  • OpenShift

  • Python

  • Java

  • Node.js

  • IA Generativa

  • APIs REST

  • Microsserviços

Enquanto o z/OS continua executando:

  • COBOL

  • CICS

  • IMS

  • DB2

  • Batch

Os dois mundos coexistem.

Não existe substituição.

Existe integração.


Conclusão

O LinuxONE transformou a forma como o Mainframe conversa com o mundo moderno. Em vez de expor diretamente aplicações COBOL, as organizações passaram a utilizar APIs REST, servidores web, microsserviços e containers executando lado a lado com o z/OS no mesmo hardware IBM Z.

Na prática, o LinuxONE atua como uma camada de apresentação e integração, enquanto o z/OS continua sendo o coração do processamento transacional. O resultado é uma arquitetura capaz de unir décadas de investimento em aplicações COBOL com tecnologias modernas como Spring Boot, Kubernetes, OpenShift, APIs REST, JSON e autenticação OAuth.

É por isso que muitos especialistas afirmam que o futuro do Mainframe não está em substituir sistemas legados, mas em conectá-los ao ecossistema digital. E nessa missão, LinuxONE e z/OS formam uma das parcerias mais poderosas já criadas dentro da computação corporativa.

 

segunda-feira, 25 de janeiro de 2021

🧠 A verdade incômoda: a IA precisa mais do Mainframe do que o Mainframe precisa da IA

Bellacosa Mainframe observa a IA na Stack Mainframe


🧠 A verdade incômoda: a IA precisa mais do Mainframe do que o Mainframe precisa da IA

A relação entre Inteligência Artificial e Mainframe é de continuidade, não de substituição. Enquanto a IA ganha destaque nas estratégias corporativas, os dados mais críticos, históricos e confiáveis das grandes organizações continuam armazenados e processados em sistemas mainframe. 

Profissionais experientes em COBOL, z/OS e arquitetura corporativa possuem competências essenciais em governança, segurança, integridade transacional e gestão de risco — exatamente os pilares necessários para implementar IA de forma segura e escalável. 

Tecnologias como IA generativa, RAG e analytics avançado dependem diretamente da qualidade e disponibilidade desses dados legados. 

Por isso, a integração entre Mainframe e IA tornou-se um diferencial competitivo para bancos, seguradoras, governos e grandes empresas.

Em vez de obsolescência, o legado assume papel central na transformação digital, servindo como base confiável para sistemas inteligentes. 

Entender essa convergência é fundamental para profissionais que desejam liderar a próxima fase da computação corporativa orientada por dados e automação inteligente.

🔥 Do Mainframe à IA — Continuidade, não Ruptura

O guia não-oficial para quem mantém o mundo rodando… e agora vai ensinar as máquinas a pensar

Artigo especial para o Blog El Jefe — estilo Bellacosa Mainframe ☕💾🤖

Se você sobreviveu a JES2 às 3h da manhã, migração de versão de DB2 em feriado prolongado e aquele “pequeno” abend que derrubou um banco inteiro… então prepare-se:

👉 A Inteligência Artificial não é o oposto do Mainframe.


Ela é o próximo capítulo da mesma história.


🏛️ A grande mentira da década: “IA vai substituir o legado”

Não vai.

Porque:

💰 O dinheiro real ainda passa pelo core banking
📊 Os dados mais valiosos continuam no z/OS
🔐 A governança mais madura nasceu no Mainframe
⏱️ E uptime de 99,999% não se improvisa com hype

Easter egg histórico:
O conceito de “processamento inteligente de dados” já existia nos anos 60 — só não chamávamos de IA. Chamávamos de:

👉 “Sistema corporativo”.


🧠 O Mainframe já era “IA-ready” antes da IA existir

Pense no que você aprendeu no legado:

✔ Integridade ACID
✔ Auditoria completa
✔ Monitoramento contínuo
✔ Controle transacional rigoroso
✔ Segurança por design
✔ Engenharia disciplinada

Agora compare com requisitos modernos de IA corporativa:

✔ Data governance
✔ Model governance
✔ Explainability
✔ Observability
✔ Risk management

Coincidência? Nenhuma.

👉 O Mainframe não é velho.
👉 Ele é maduro demais para modinhas.


🤖 O que é IA de verdade (sem marketing)

IA moderna = estatística + computação + dados em escala absurda

Machine Learning não “entende”. Ele:

👉 Detecta padrões
👉 Ajusta parâmetros
👉 Minimiza erro

Deep Learning só faz isso… em muitas camadas.

LLMs fazem isso… em escala planetária.


🧩 Neural Networks explicadas para quem conhece batch

Uma rede neural é basicamente:

📥 Entrada → 🔁 Processamento → 📤 Saída

Pense como:

👉 INPUT FILE → JOB STEPS → OUTPUT DATASET

Só que os “steps” são matemáticos e treináveis.


🌊 CNN, RNN, Transformers — tradução mainframe-friendly

🖼️ CNN → processamento de padrões visuais
📜 RNN → processamento sequencial (logs, séries)
🧠 Transformers → atenção contextual massiva

Se quiser uma analogia brutal:

👉 Transformer é um “JCL” que olha TODOS os datasets ao mesmo tempo.


💥 O que realmente mudou na IA moderna

Não foi a teoria.

Foi:

🔥 Escala computacional
🔥 Dados massivos
🔥 GPUs
🔥 Infraestrutura distribuída
🔥 Cloud hyperscale

Ou seja:

👉 Não é magia. É engenharia em escala industrial.


🧠 Generative AI — a parte que assusta executivos

Agora as máquinas:

✍️ Escrevem
💻 Programam
📊 Analisam
🎨 Criam
🗣️ Conversam

Mas atenção:

👉 Elas não sabem o que é verdade.
👉 Elas sabem o que é provável.


⚠️ Hallucination: o novo “S0C7” da IA

Todo mainframer sabe:

👉 Garbage in, garbage out.

LLMs apenas sofisticaram isso.

Sem contexto confiável:

➡️ Inventam
➡️ Confabulam
➡️ Parecem confiantes
➡️ Podem estar errados


🧠 RAG — o “DB2 lookup” da IA moderna

Retrieval-Augmented Generation =

👉 LLM + base de conhecimento real

Fluxo:

Pergunta → busca documentos → injeta contexto → gera resposta fundamentada

Tradução corporativa:

👉 “IA com COPYBOOK de verdade”


🏦 Aplicações reais no mundo Mainframe

Não futurismo. Agora.

🔥 Assistente de JCL
🔥 Diagnóstico automático de abend
🔥 Runbooks inteligentes
🔥 Análise de logs SMF
🔥 Documentação viva
🔥 Modernização guiada por IA

Imagine perguntar:

“Por que este job falhou?”

E receber:

✔ causa provável
✔ histórico semelhante
✔ procedimento oficial
✔ correção sugerida

Isso não é ficção.


🏢 IA como vantagem competitiva

Empresas não adotam IA por hype.

Adotam por:

💰 Eficiência operacional
📉 Redução de risco
⚡ Velocidade de decisão
📈 Escalabilidade

Dynamic pricing, supply chain, fraude, manufatura inteligente…

Tudo depende de dados.

E onde estão os dados críticos?

👉 Você já sabe.


⚖️ Ética e Governança — território familiar para mainframers

Bias, data leakage, model drift…

Nada disso é novo para quem viveu auditorias SOX ou Basel.

O novo é:

👉 A velocidade do impacto.

Frameworks como NIST AI RMF e EU AI Act basicamente dizem:

👉 “Seja disciplinado.”

Exatamente como sempre foi no Mainframe.


🧠 Human-in-the-loop = operador autorizado

Nenhuma empresa séria deixa IA tomar decisões críticas sozinha.

Sempre existe:

👤 Supervisão humana
📋 Procedimentos
🔐 Controles
🧾 Auditoria

Ou seja:

👉 O operador não morreu. Evoluiu.


🚀 Carreira — o verdadeiro ouro

O mercado não quer apenas especialistas em IA.

Quer:

👉 Pessoas que entendam sistemas críticos
👉 Dados sensíveis
👉 Arquitetura corporativa
👉 Risco operacional

Em outras palavras:

💥 Mainframe + IA = perfil raríssimo e valiosíssimo


🧭 Novos papéis emergentes

🔥 AI Strategist
🔥 AI Governance Lead
🔥 AI Product Manager
🔥 Architect of Intelligent Systems

Mas o mais poderoso é invisível:

👉 O tradutor entre legado e futuro.


🏆 A grande conclusão que ninguém diz claramente

IA não é revolução contra o Mainframe.

É:

👉 A camada cognitiva sobre o sistema nervoso da economia

COBOL mantém o mundo funcionando.
IA tenta entender o mundo que está funcionando.


☕ Frase para a sala de guerra

Quem dominou sistemas críticos no passado
tem todas as ferramentas para liderar a era da IA.

Porque no fim:

👉 Tecnologia muda.
👉 Engenharia sólida permanece.