| Bellacosa Mainframe e o caso da porta invisivel |
☕ Um Café no Bellacosa Mainframe
O Caso da Porta Invisível
Quando um Programador COBOL Descobre que Seu Sistema de 40 Anos Está Conversando com Aplicativos de Celular
"Naquela madrugada chuvosa, enquanto a luz verde do terminal 3270 iluminava fracamente a sala do CPD, uma pergunta ecoava entre os corredores silenciosos do datacenter: como um programa COBOL escrito quando a Internet sequer existia consegue responder, em poucos milissegundos, à consulta de saldo feita por um smartphone do outro lado do planeta?"
Peguei minha xícara de café, observei as luzes do IBM Z piscando como estrelas artificiais e sorri. O mistério estava apenas começando.
Hoje investigaremos uma das maiores mágicas da computação moderna.
Ou melhor...
Uma das maiores ilusões.
Porque nada ali é magia.
É engenharia.
E ela atende pelo nome de CICS Web Services.
Capítulo 1 — O Fantasma que Nunca Saiu do Mainframe
Existe um boato que circula pela Internet há quase vinte anos.
Dizem que o COBOL morreu.
Curiosamente...
Toda vez que alguém consulta o saldo bancário, compra uma passagem aérea, paga um boleto, faz um PIX, reserva um hotel ou utiliza um cartão de crédito...
Lá está ele.
Respirando.
Processando.
Calculando.
Respondendo.
A verdade é que o COBOL nunca precisou aparecer.
Ele apenas trabalha.
Enquanto linguagens modernas brigam por popularidade, frameworks entram e saem de moda e novas arquiteturas surgem a cada ano, milhões de linhas de COBOL continuam executando regras de negócio escritas décadas atrás.
O problema nunca foi o COBOL.
O problema sempre foi a porta de entrada.
Capítulo 2 — O Antigo Castelo
Imagine um enorme castelo medieval.
Dentro dele vivem milhares de escribas.
Eles conhecem absolutamente todas as regras do reino.
Quem pode receber dinheiro.
Quem pode sacar.
Quem está inadimplente.
Quem pode fazer um empréstimo.
Quem possui limite.
Esses escribas representam os programas COBOL.
Durante muitos anos, quem desejava conversar com eles precisava entrar pela porta principal.
Essa porta chamava-se:
Terminal 3270.
Mais tarde surgiram outras entradas.
MQ.
APPC.
Sockets.
CTG.
LU6.2.
Cada uma exigia uma chave diferente.
Era como um castelo cheio de entradas secretas.
Até que alguém teve uma ideia genial.
"E se fizermos uma porta universal?"
Nasciam os Web Services.
Capítulo 3 — A Porta Invisível
A beleza dos CICS Web Services está justamente no fato de que eles quase não alteram o castelo.
Eles não reescrevem o COBOL.
Não mudam o Db2.
Não substituem o VSAM.
Eles apenas constroem uma nova entrada.
Uma entrada que fala a língua do mundo moderno.
Enquanto o aplicativo do banco acredita estar conversando com uma API sofisticada...
Na realidade existe um programa COBOL executando:
EXEC SQL
SELECT SALDO
INTO :WS-SALDO
FROM CONTAS
WHERE NUMERO = :WS-CONTA
END-EXEC.
Nada mudou.
Mudou apenas quem bate à porta.
Capítulo 4 — O Tradutor Universal
Imagine dois diplomatas.
Um fala apenas português.
Outro apenas japonês.
Sem intérprete, ambos passam horas sorrindo sem entender absolutamente nada.
O CICS Web Service funciona exatamente como esse intérprete.
Ele recebe:
JSON
↓
XML
↓
HTTP
↓
REST
↓
SOAP
E traduz tudo para algo que o programa COBOL compreende.
Da mesma forma, quando o COBOL responde usando uma COMMAREA ou um CHANNEL, o CICS converte a resposta novamente para JSON ou XML.
É como se houvesse um tradutor simultâneo trabalhando o tempo inteiro.
Capítulo 5 — O Caminho Percorrido por uma Consulta de Saldo
Vamos acompanhar uma simples consulta de saldo.
Você abre o aplicativo.
Digita sua senha.
Pressiona "Consultar Saldo".
A partir desse instante começa uma viagem fascinante.
Celular
↓
Internet
↓
HTTPS
↓
Firewall
↓
API Gateway
↓
Load Balancer
↓
Servidor HTTP
↓
CICS
↓
Programa COBOL
↓
Db2
↓
Resposta
↓
Celular
Tudo isso costuma acontecer em menos de um segundo.
Na maioria das vezes, em poucos milissegundos.
O usuário nunca imagina que seu smartphone acabou de conversar com um computador cuja arquitetura tem raízes na década de 1960.
Capítulo 6 — REST e SOAP: Dois Detetives, Dois Métodos
Se este fosse um romance policial, REST e SOAP seriam investigadores completamente diferentes.
Inspetor REST
Chega de camisa dobrada.
Pouca burocracia.
Fala pouco.
Resolve rápido.
Transporta informações em JSON.
Adorado por desenvolvedores Web.
Exemplo:
GET /api/clientes/12345
Resposta:
{
"saldo":2450.75
}
Simples.
Elegante.
Rápido.
Detetive SOAP
Sempre de terno.
Gravata impecável.
Maleta cheia de documentos.
Tudo precisa estar assinado.
Validado.
Carimbado.
Registrado.
Utiliza XML.
Possui contratos (WSDL).
É extremamente rigoroso.
Por isso continua muito presente em bancos, seguradoras, governos e grandes empresas.
Curiosidade Bellacosa nº 1
SOAP costuma ser criticado por ser "pesado".
Entretanto, em ambientes financeiros, sua estrutura rígida é justamente uma vantagem.
A previsibilidade reduz erros de integração.
Capítulo 7 — Os Personagens Secretos do CICS
Quando alguém fala apenas "CICS Web Services", parece algo simples.
Mas existe uma verdadeira equipe trabalhando nos bastidores.
Entre eles:
PIPELINE
Imagine uma esteira industrial.
Cada estação faz uma tarefa.
Validação.
Conversão.
Segurança.
Encaminhamento.
Resposta.
Tudo organizado.
URIMAP
É o GPS.
Quando chega uma URL:
/api/saldo
Ele sabe exatamente qual programa deve ser chamado.
WEBSERVICE
É a ficha técnica.
Define como funciona o serviço.
Quais dados entram.
Quais dados saem.
TCPIPSERVICE
É quem abre a porta da rede.
Sem ele...
Ninguém entra.
WSBIND
Aqui mora um dos maiores segredos.
Ele conhece o idioma dos dois lados.
XML.
JSON.
COMMAREA.
CHANNEL.
CONTAINERS.
Ele sabe exatamente como converter cada campo.
Easter Egg nº 1 🥚
Os nomes DFHLS2WS e DFHWS2LS parecem códigos secretos encontrados em um filme de espionagem.
Na verdade, escondem uma lógica elegante:
LS → Language Structure
WS → Web Service
Logo:
Language Structure → Web Service
e
Web Service → Language Structure
Depois que você percebe isso, nunca mais esquece.
Capítulo 8 — DFHLS2WS: O Alquimista
Imagine entregar um copybook COBOL.
01 CLIENTE.
05 NOME.
05 SALDO.
Poucos instantes depois aparecem:
WSDL
WSBIND
Quase como um passe de mágica.
Na realidade é o utilitário DFHLS2WS trabalhando.
Ele pega uma estrutura COBOL e cria toda a descrição necessária para transformá-la em Web Service.
Capítulo 9 — DFHWS2LS: O Caminho Inverso
Agora imagine que outra equipe desenvolveu um Web Service.
Você recebe apenas o WSDL.
Como escrever o copybook?
Simples.
O DFHWS2LS faz isso automaticamente.
É como um tradutor que trabalha nos dois sentidos.
Curiosidade Bellacosa nº 2
Esses utilitários economizam centenas de horas de desenvolvimento manual.
Antes deles, muitos mapeamentos XML eram escritos praticamente "na mão".
Hoje isso é automatizado.
Capítulo 10 — COMMAREA ou CHANNEL?
Aqui está uma dúvida clássica de entrevistas.
COMMAREA foi durante décadas a forma padrão de troca de dados.
Ela funciona.
Muito bem.
Mas possui um limite famoso.
32 KB.
Quando as integrações começaram a crescer, surgiu uma necessidade.
Mais espaço.
Mais flexibilidade.
Nasciam:
CHANNEL
+
CONTAINERS
Cada Container funciona como uma pequena caixa.
Você pode possuir dezenas delas.
Cada uma armazenando informações diferentes.
Muito mais elegante.
Capítulo 11 — Segurança: O Porteiro Nunca Dorme
Outro mito bastante comum.
"Se o CICS virou Web Service, qualquer pessoa consegue acessá-lo."
Errado.
Na verdade, normalmente o caminho possui diversas camadas.
HTTPS
↓
TLS
↓
Firewall
↓
API Gateway
↓
RACF
↓
SAF
↓
CICS
↓
Programa
Ou seja...
Mesmo que alguém encontre a URL correta...
Ainda terá de atravessar diversos mecanismos de autenticação e autorização.
Easter Egg nº 2 🥚
Observe os filmes noir dos anos 1950.
Quase sempre existe um porteiro discreto.
Poucos prestam atenção nele.
Mas absolutamente ninguém entra sem passar por ele.
No IBM Z esse porteiro atende por vários nomes:
RACF.
SAF.
TLS.
API Gateway.
Todos silenciosos.
Todos eficientes.
Capítulo 12 — O Grande Equívoco da Modernização
Muitas pessoas acreditam que modernizar significa apagar tudo.
Nada poderia estar mais distante da realidade.
Imagine um prédio histórico.
Você troca:
elevadores
iluminação
rede elétrica
ar-condicionado
Mas preserva sua estrutura.
É exatamente isso que acontece no CICS.
O COBOL permanece.
As regras continuam.
O que muda é a forma de acesso.
Capítulo 13 — O Aplicativo Nunca Saberá
Quando um aplicativo Android faz uma chamada REST:
GET /saldo
Ele imagina estar conversando com uma API escrita em Java.
Talvez Node.js.
Quem sabe Python.
Na verdade...
Existe uma enorme possibilidade de existir um programa COBOL executando no final da cadeia.
Essa é uma das maiores demonstrações da longevidade da engenharia de software.
Capítulo 14 — O Verdadeiro Valor Está nas Regras de Negócio
Código pode ser reescrito.
Interfaces podem ser substituídas.
Protocolos evoluem.
Mas regras de negócio acumuladas durante quarenta anos representam um patrimônio imenso.
Ali estão milhares de decisões tomadas por especialistas do mercado financeiro, seguros, saúde, governo e logística.
Os CICS Web Services preservam esse conhecimento.
Eles não reinventam a lógica.
Eles a tornam acessível ao mundo moderno.
Dicas para o Programador COBOL Iniciante
✔ Aprenda primeiro o fluxo tradicional do CICS antes de estudar Web Services.
✔ Domine COMMAREA e depois CHANNEL/CONTAINER.
✔ Entenda HTTP, HTTPS e métodos REST.
✔ Saiba a diferença entre JSON e XML.
✔ Estude o papel de WSDL e WSBIND.
✔ Pratique a leitura de copybooks e compreenda como eles representam contratos de dados.
✔ Familiarize-se com utilitários como DFHLS2WS e DFHWS2LS.
✔ Conheça conceitos de segurança como TLS, RACF, autenticação e autorização.
✔ Entenda que a performance de uma API raramente depende apenas do protocolo; consultas Db2, acesso a VSAM e regras de negócio geralmente têm impacto muito maior.
✔ Nunca pense no COBOL como uma tecnologia isolada. Hoje ele faz parte de arquiteturas distribuídas, APIs, microsserviços e soluções em nuvem.
Curiosidades que Impressionam em Entrevistas
Muitos aplicativos bancários utilizam APIs REST que terminam em programas COBOL executando em CICS.
O mesmo programa COBOL pode atender simultaneamente terminais 3270, filas MQ e Web Services.
SOAP continua sendo amplamente utilizado em integrações corporativas críticas devido aos seus contratos formais e padrões de segurança.
O uso de APIs permitiu que aplicações escritas há décadas participassem de iniciativas como Open Banking, Open Finance e ecossistemas digitais sem a necessidade de reescrita completa.
Em muitos ambientes, um único IBM Z processa milhares de requisições simultâneas com tempos de resposta medidos em milissegundos.
O Arquivo Confidencial Bellacosa 📁
Os velhos investigadores das revistas pulp dos anos 1950 costumavam encerrar seus casos dizendo que "o verdadeiro culpado nunca era quem parecia ser".
Neste caso, o culpado também não é.
Durante anos, disseram que o COBOL era o obstáculo para a inovação. No entanto, a investigação revela outro cenário: o COBOL nunca impediu a transformação digital. O verdadeiro desafio sempre foi criar uma ponte segura entre um patrimônio tecnológico consolidado e as novas formas de consumo de serviços.
Essa ponte recebeu muitos nomes ao longo da história, mas no universo do CICS ela se materializa nos Web Services. Eles permitem que um programa escrito há décadas continue executando exatamente a mesma lógica de negócio, enquanto atende aplicativos móveis, portais Web, plataformas em nuvem e arquiteturas baseadas em APIs.
Da próxima vez que você consultar o saldo pelo celular, comprar uma passagem aérea ou realizar uma transferência bancária, lembre-se deste caso. Em algum lugar, atrás de uma API elegante, de um JSON aparentemente simples e de uma interface moderna, talvez exista um veterano programa COBOL respondendo com a precisão de sempre.
E, se você escutar atentamente o suave zumbido do datacenter em uma madrugada silenciosa, talvez perceba que o maior mistério nunca foi descobrir como o mainframe conversa com o mundo moderno.
O verdadeiro mistério é que ele faz isso tão bem que quase ninguém percebe que ele continua lá, trabalhando incansavelmente, como um detetive das sombras que resolve milhões de casos por dia sem jamais assinar o próprio nome.
Sem comentários:
Enviar um comentário