Translate

Mostrar mensagens com a etiqueta DDD. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta DDD. Mostrar todas as mensagens

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." ☕💣🚨

sábado, 29 de agosto de 2020

Conway's Law Rules : Quando um Programador COBOL Descobriu que a Matrix Não Era Apenas um Software… Era o Espelho de Quem a Construiu

 

Bellacosa Mainframe e a conways law rules

☕ Um Café no Bellacosa Mainframe

Conway's Law Rules sem Mistérios

Quando um Programador COBOL Descobriu que a Matrix Não Era Apenas um Software… Era o Espelho de Quem a Construiu

"As organizações desenham sistemas que refletem sua própria forma de comunicação."Melvin Conway (1967)


Prólogo — A Matrix Tinha o Mesmo Formato de Zion

Neo caminhava pelos corredores da Cidade das Máquinas.

Esperava encontrar servidores.

Processadores.

Centrais de controle.

Mas encontrou algo muito mais curioso.

Cada setor da Matrix era administrado por um grupo diferente.

O setor dos Agentes nunca conversava diretamente com o setor do Oráculo.

O setor do Merovíngio possuía seus próprios protocolos.

O Chaveiro trabalhava isolado.

Os Sentinelas recebiam ordens por outro canal.

Neo percebeu algo estranho.

Cada módulo da Matrix parecia exatamente igual ao departamento que o desenvolvia.

Morpheus perguntou:

— O que está vendo?

Neo respondeu:

— Não estou olhando apenas para um software...

Estou olhando para o organograma da empresa.

O Oráculo sorriu.

— Finalmente você encontrou a Lei de Conway.


O que é a Lei de Conway?

A Conway's Law afirma:

"Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations."

Em português:

"As organizações que desenvolvem sistemas acabam produzindo arquiteturas que refletem sua própria estrutura de comunicação."

Ou seja...

O software não nasce apenas das decisões técnicas.

Ele nasce da forma como as pessoas trabalham juntas.


A origem da Lei de Conway

A lei foi proposta em 1967 por Melvin E. Conway, cientista da computação.

Na época, Conway observou algo curioso.

Empresas organizadas em departamentos independentes acabavam criando softwares igualmente divididos.

Não era coincidência.

Era consequência direta da comunicação humana.

Décadas depois, essa observação continua sendo uma das ideias mais influentes da arquitetura de software.


Matrix explica perfeitamente

Imagine que a Matrix fosse construída por quatro equipes.

Equipe A.

Cuida da autenticação.

Equipe B.

Cuida da economia.

Equipe C.

Cuida dos Agentes.

Equipe D.

Cuida dos Sentinelas.

Se essas equipes quase não conversam...

o software também ficará separado.

Cada módulo desenvolverá sua própria visão da realidade.


O nascimento da Lei

Conway percebeu que a arquitetura técnica segue a arquitetura social.

Se duas equipes possuem dificuldades para conversar...

os sistemas também terão dificuldades para se integrar.


O COBOL conhece isso muito bem

Imagine um grande banco.

Departamento de Cartões.

Equipe própria.

Sistema próprio.


Departamento de PIX.

Equipe diferente.

API diferente.


Departamento de Crédito.

Outro time.

Outro banco de dados.


Departamento de Investimentos.

Outro padrão.

Outro framework.

O resultado?

Integrações complexas.

Duplicação de dados.

Interfaces difíceis.

Não porque os desenvolvedores desejavam isso.

Mas porque a organização já funcionava dessa maneira.


Um exemplo simples

Empresa.

Financeiro

RH

Comercial

Software.

Sistema Financeiro

Sistema RH

Sistema Comercial

Parece natural.

Agora imagine.

Cada departamento possui regras próprias de cadastro.

Logo surgem:

  • três cadastros de clientes;

  • quatro cadastros de funcionários;

  • cinco cadastros de endereços.

O software apenas refletiu a organização.


Matrix Reloaded

Observe os personagens.

O Oráculo não faz o trabalho do Arquiteto.

O Merovíngio não administra Zion.

O Chaveiro não controla os Agentes.

Cada grupo possui funções próprias.

Agora imagine.

Nenhum deles conversa.

A Matrix rapidamente se fragmentaria.


O efeito psicológico

As pessoas tendem a conversar mais com quem está próximo.

Mesmo dentro da mesma empresa.

Logo.

Os sistemas acompanham essa divisão.


O Programador COBOL Padawan

Imagine que você trabalhe no time de CICS.

Nunca conversa com o pessoal de APIs.

Nem conhece a equipe de Open Finance.

Depois de dois anos...

as integrações começam a falhar.

Não por culpa do COBOL.

Mas porque a comunicação humana falhou antes da comunicação entre sistemas.


O Agente Smith adora isso

Smith sabe que basta dividir as pessoas.

O restante acontece sozinho.

Cada equipe cria:

  • padrões próprios;

  • nomenclaturas próprias;

  • APIs próprias;

  • documentação própria.

Pouco tempo depois.

Os sistemas deixam de conversar.


Um exemplo inspirado na Matrix

Neo pergunta.

— Quem controla o cadastro dos humanos?

Resposta.

— Depende.

A equipe dos Agentes possui um.

O Merovíngio outro.

O Oráculo outro.

Zion outro.

Neo pergunta.

— Por que existem quatro?

O Arquiteto responde.

— Porque existiam quatro departamentos.


Como reconhecer?

Existem sinais muito claros.

APIs incompatíveis

Cada área cria seu padrão.


Bancos duplicados

Mesma informação.

Vários lugares.


Nomenclaturas diferentes

CPF.

CPF_NUM.

DOCUMENTO.

CLIENT_ID.

Tudo significa a mesma coisa.


Integrações difíceis

Equipes precisam negociar constantemente.


Regras repetidas

Cada departamento implementa novamente.


O impacto no Mainframe

Grandes ambientes IBM Z frequentemente atendem diversas áreas de negócio.

Se cada área evolui isoladamente.

Logo aparecem:

  • duplicação de COPYBOOKs;

  • layouts diferentes;

  • APIs redundantes;

  • programas semelhantes;

  • tabelas quase idênticas.

Tudo consequência da estrutura organizacional.


Curiosidade

Existe um conceito moderno chamado:

Reverse Conway Maneuver

A ideia é justamente o contrário.

Em vez de deixar a arquitetura seguir a organização...

a empresa reorganiza as equipes para produzir a arquitetura desejada.

Se deseja microsserviços independentes.

Cria equipes independentes.

Se deseja plataforma integrada.

Organiza equipes integradas.


Atenção!

Conway's Law não é uma crítica.

Ela é uma observação.

Toda organização sofre sua influência.

O importante é reconhecê-la.


O custo invisível

Quando departamentos não conversam.

Surgem:

  • retrabalho;

  • integrações caras;

  • conflitos de requisitos;

  • inconsistências.

Tudo isso custa tempo.

Dinheiro.

CPU.

Produtividade.


O papel do Arquiteto

Arquitetos não desenham apenas software.

Eles aproximam equipes.

Porque sabem.

Sem comunicação.

Não existe boa arquitetura.


Matrix e Zion

Imagine Zion dividida.

Cada setor constrói um pedaço da cidade.

Sem conversar.

Resultado.

Canos que não se conectam.

Cabos incompatíveis.

Portas que não levam a lugar nenhum.

Software funciona exatamente assim.


Ferramentas ajudam

Hoje usamos:

  • Enterprise Architecture.

  • Event Storming.

  • Domain Driven Design.

  • IBM ADDI.

  • OpenAPI.

  • AsyncAPI.

  • Catálogos corporativos.

Mas nenhuma ferramenta substitui comunicação humana.


O papel da IA

A IA pode:

  • documentar APIs;

  • comparar contratos;

  • identificar duplicações;

  • sugerir padronizações.

Mas não resolve conflitos organizacionais.


Os riscos

Sistemas duplicados


APIs redundantes


Custos maiores


Integrações frágeis


Visão fragmentada do negócio


Arquitetura inconsistente


Erros clássicos

  • Criar sistemas sem envolver outras áreas.

  • Duplicar cadastros.

  • Não compartilhar padrões.

  • Cada equipe inventar sua arquitetura.

  • Ignorar governança.


Boas práticas

  • Comunicação frequente.

  • Arquitetura corporativa.

  • Catálogo de APIs.

  • Padrões comuns.

  • Revisões interequipes.

  • Compartilhamento de conhecimento.

  • Domínios bem definidos.


Aplicabilidade

A Lei de Conway aparece em:

  • COBOL.

  • Java.

  • Cloud.

  • Microsserviços.

  • ERP.

  • APIs.

  • DevOps.

  • Bancos.

  • Governo.

  • Telecom.

Ela independe da tecnologia.


Um exemplo COBOL

Imagine.

Equipe A.

Cria COPYBOOK:

CLIENTE.

Equipe B.

Cria outro.

CLIENTE-NEW.

Equipe C.

Outro.

CLIENTE-V2.

Nenhum é compatível.

O problema começou muito antes do compilador.


O ensinamento do Oráculo

O Oráculo leva Neo até um enorme espelho.

Cada equipe da Matrix aparece refletida.

Depois o espelho se transforma.

Agora revela o software.

Neo percebe algo impressionante.

As divisões eram exatamente iguais.

Ela pergunta:

— O que mudou?

Neo responde.

— Nada.

O software apenas copiou as pessoas.

Ela sorri.

"É exatamente isso que Conway descobriu."


Lições para um Programador COBOL Padawan

Ao iniciar sua carreira em um ambiente corporativo, você perceberá que muitos desafios técnicos têm origem muito antes do código ser escrito.

Às vezes o problema não está no COBOL, no CICS ou no Db2.

Está no fato de que:

  • as equipes não compartilham conhecimento;

  • cada área cria suas próprias definições;

  • os requisitos chegam incompletos;

  • não existe uma linguagem comum entre negócio e tecnologia.

Por isso, desenvolva não apenas habilidades técnicas.

Aprenda também a:

  • comunicar-se claramente;

  • participar de revisões arquiteturais;

  • documentar decisões;

  • compreender o domínio de negócio;

  • construir pontes entre equipes.

Grandes arquitetos de software são, antes de tudo, excelentes comunicadores.


Curiosidades

A influência da Lei de Conway é tão grande que ela aparece indiretamente em diversos movimentos modernos:

  • Domain-Driven Design (DDD) incentiva equipes alinhadas aos domínios de negócio.

  • Team Topologies propõe estruturas organizacionais que favorecem fluxos de software saudáveis.

  • Microservices funcionam melhor quando as equipes possuem autonomia compatível com os serviços que mantêm.

  • DevOps surgiu justamente para reduzir barreiras entre desenvolvimento e operações.

Todos esses movimentos reconhecem, de alguma forma, a observação feita por Melvin Conway em 1967.


Conclusão — A Matrix Refletia Quem a Construía

No universo Matrix, Neo descobriu que a simulação não era apenas um conjunto de programas.

Ela refletia as decisões, os conflitos e a forma como seus criadores trabalhavam.

Na Engenharia de Software acontece exatamente o mesmo.

A Lei de Conway nos lembra que sistemas não são produzidos apenas por compiladores ou linguagens de programação.

Eles são produzidos por pessoas.

Se as equipes colaboram, o software tende a ser integrado.

Se as equipes vivem isoladas, o software também se fragmenta.

Para um Programador COBOL que atua em ambientes IBM Z, essa é uma lição valiosa. O sucesso de um sistema bancário depende tanto da qualidade do código quanto da qualidade da comunicação entre analistas de negócio, arquitetos, desenvolvedores, DBAs, administradores CICS, especialistas em segurança e operações.

No universo Bellacosa Mainframe existe uma máxima que certamente poderia estar gravada na entrada de Zion:

"Antes de desenhar a arquitetura do software, observe a arquitetura da empresa. Muito provavelmente uma será o reflexo da outra."

Porque, no fim, a Matrix nunca foi apenas feita de linhas de código.

Ela sempre foi feita das pessoas que aprenderam — ou deixaram de aprender — a trabalhar juntas.

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