Translate

quarta-feira, 11 de julho de 2018

O Caso da Porta Invisível : Quando um Programador COBOL Descobre que Seu Sistema de 40 Anos Está Conversando com Aplicativos de Celular

 

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

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