☕ Um Café no Bellacosa Mainframe
Gostou do conteúdo? Ajude a manter o café quente, o COBOL compilando e o mainframe acordado. 😄
☕ Pague um café ao Bellacosa

Translate

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

quinta-feira, 23 de novembro de 2023

APIs sem Mistérios : O Guia Definitivo do Programador COBOL Padawan para Entender Como o IBM Z Conversa com o Mundo Moderno

 

Bellacosa Mainframe em apis sem misterios

☕ Um Café no Bellacosa Mainframe

APIs sem Mistérios

O Guia Definitivo do Programador COBOL Padawan para Entender Como o IBM Z Conversa com o Mundo Moderno

"A comunicação é a essência da cooperação. Uma tecnologia isolada possui pouco valor. Sistemas que conversam mudam o mundo."

— Dr. Spock (adaptado ao universo Bellacosa Mainframe)


Introdução – Quando o Padawan Descobre que o Mundo Não Vive Apenas de Arquivos Sequenciais

Existe um momento curioso na vida de praticamente todo programador COBOL.

Durante meses ele aprende:

  • JCL

  • VSAM

  • Db2

  • CICS

  • IMS

  • SORT

  • IDCAMS

  • MQ

  • TSO

  • ISPF

Tudo parece fazer sentido.

Até que um dia alguém chega perto de sua mesa e diz:

"Precisamos expor esse programa COBOL como uma API REST."

Logo em seguida aparece outra pessoa:

"O aplicativo mobile quer consumir via GraphQL."

Cinco minutos depois:

"O pessoal da IoT vai mandar dados usando MQTT."

Mais tarde:

"O pessoal da arquitetura decidiu migrar tudo para Event Driven Architecture."

Nesse momento, o Padawan olha para sua tela 3270, respira fundo e pensa:

"Será que entrei na nave errada?"

A resposta é simples.

Não.

Na verdade, você acabou de descobrir que o IBM Z nunca deixou de evoluir.

O COBOL continua processando bilhões de transações diariamente.

O que mudou foi a maneira como o restante do mundo conversa com ele.

Hoje não basta apenas executar um programa.

É preciso fazê-lo conversar com:

  • aplicativos móveis;

  • sistemas web;

  • microsserviços;

  • inteligência artificial;

  • sensores industriais;

  • plataformas em nuvem;

  • robôs;

  • bancos;

  • marketplaces;

  • parceiros comerciais.

E tudo isso acontece através das famosas APIs e protocolos de integração.

Pegue sua caneca de café.

Hoje faremos uma viagem digna da USS Enterprise para descobrir como todos esses mundos se conectam.


Antes de tudo…

API não é protocolo.

Essa é uma das maiores confusões da computação.

Muitas pessoas dizem:

"Qual protocolo de API você usa?"

Na realidade, misturam três conceitos diferentes.

Protocolos

São as regras de comunicação.

Exemplos:

  • HTTP

  • MQTT

  • AMQP

  • CoAP

  • XMPP

  • OPC-UA


Arquiteturas

Definem como organizar os sistemas.

Exemplos:

  • REST

  • Event Driven Architecture (EDA)


Linguagens

Definem como fazer consultas.

Exemplo:

  • GraphQL


Frameworks RPC

Automatizam chamadas remotas.

Exemplos:

  • gRPC

  • Apache Thrift


Padrões

Definem maneiras de integração.

Exemplos:

  • Webhooks

  • EDI

Essa distinção é extremamente importante.

Um arquiteto de software sabe exatamente qual dessas ferramentas resolve determinado problema.


A História da Comunicação Entre Sistemas

Vamos voltar algumas décadas.

Imagine um grande CPD IBM.

Tudo era assim.

Programa COBOL

↓

Arquivo Sequencial

↓

Outro programa COBOL

↓

Relatório

Não existia internet.

Não existia JSON.

Não existia XML.

Muito menos APIs.

Os sistemas trocavam informações através de:

  • fitas magnéticas;

  • cartões perfurados;

  • arquivos VSAM;

  • arquivos QSAM;

  • EDI;

  • filas MQ (mais tarde).

Era extremamente eficiente.

Até hoje muitos bancos funcionam exatamente assim.


A Primeira Grande Revolução

Com o surgimento da Internet nasceu uma nova necessidade.

Ao invés de trocar arquivos uma vez por dia…

…os sistemas precisavam conversar em segundos.

Assim nasceu o modelo Request/Response.

Cliente

↓

Servidor

↓

Resposta

Esse paradigma mudou completamente a computação.


REST — O Idioma Universal das APIs

REST significa:

Representational State Transfer.

Criado por Roy Fielding em sua tese de doutorado em 2000.

Curiosamente…

REST não é um protocolo.

Ele apenas utiliza HTTP.

Imagine um restaurante.

Você faz um pedido.

Cliente

↓

Garçom

↓

Cozinha

↓

Resposta

É exatamente isso que acontece.

GET /clientes/100

Resposta

{
 "id":100,
 "nome":"Maria"
}

Tudo extremamente simples.


Métodos HTTP

O Padawan precisa decorar apenas cinco verbos.

GET

Buscar.

POST

Criar.

PUT

Atualizar tudo.

PATCH

Atualizar parcialmente.

DELETE

Excluir.


No mundo Mainframe

Hoje um programa COBOL pode virar uma API REST utilizando:

  • z/OS Connect EE

  • CICS

  • IMS

  • Java

  • Liberty

Sem alterar praticamente nada da lógica de negócio.

Essa talvez seja uma das maiores revoluções do IBM Z.


SOAP — O Cavaleiro Jedi Corporativo

Antes do REST dominar o planeta…

SOAP reinava absoluto.

Tudo era XML.

Exemplo.

<Envelope>

<Body>

<GetCustomer/>

</Body>

</Envelope>

Parece enorme.

E realmente é.

Mas SOAP possui poderes que REST não possui naturalmente.

Entre eles:

  • assinatura digital;

  • segurança WS-Security;

  • transações;

  • confiabilidade;

  • contratos extremamente rígidos.

Por isso bancos ainda utilizam SOAP em larga escala.


GraphQL — O Cliente Decide

Imagine pedir uma pizza.

REST entrega:

  • pizza

  • refrigerante

  • sobremesa

  • talheres

  • guardanapos

Mesmo que você só queira uma pizza.

GraphQL muda completamente isso.

Você pede exatamente aquilo que deseja.

{
 cliente{

nome

telefone

}
}

Recebe apenas isso.

Nada mais.

Muito eficiente para aplicações móveis.


WebSockets — A Conversa Nunca Termina

HTTP tradicional funciona assim.

Pergunta

↓

Resposta

↓

Fim.

WebSocket funciona assim.

Cliente

⇅

Servidor

⇅

Cliente

A conexão permanece aberta.

Excelente para:

  • bolsa de valores;

  • chats;

  • videogames;

  • monitoramento;

  • dashboards.


Server Sent Events (SSE)

Muito parecido.

Mas existe uma diferença importante.

Apenas o servidor fala.

Servidor

↓↓↓↓↓↓↓↓

Cliente

Ideal para notificações.

Exemplo.

Seu dashboard do z/OS mostra:

CPU.

Fila JES.

Espaço em disco.

Tudo atualizado automaticamente.


gRPC — A Fórmula 1 das APIs

Criado pelo Google.

Enquanto REST utiliza texto…

gRPC utiliza Protocol Buffers.

Muito menores.

Muito mais rápidos.

Imagine enviar um livro.

REST envia tudo em papel.

gRPC envia tudo compactado.

É por isso que grandes empresas utilizam gRPC entre microsserviços.


Apache Thrift

Criado pelo Facebook.

Possui a mesma filosofia.

Você descreve uma interface.

O framework gera automaticamente clientes para diversas linguagens.

Java.

Python.

Go.

C#.

C++.

COBOL?

Ainda não…

Mas pode conversar através de gateways.


MQTT — O Mestre da IoT

Imagine um sensor de temperatura.

Ele possui:

  • pouca memória;

  • bateria;

  • internet lenta.

Não faz sentido transmitir XML gigantesco.

MQTT resolve isso.

Publica mensagens extremamente pequenas.

temperatura

↓

25°C

Pronto.

Perfeito.


Publicador e Assinante

MQTT funciona como um jornal.

Alguém publica.

Publisher

Outro recebe.

Subscriber

No meio existe o Broker.

Sensor

↓

Broker

↓

Aplicativos

Muito elegante.


AMQP — O Carteiro Corporativo

Se MQTT é uma bicicleta…

AMQP é um caminhão blindado.

Possui:

  • filas;

  • persistência;

  • confirmação;

  • roteamento;

  • entrega garantida.

Ideal para:

  • bancos;

  • seguradoras;

  • ERP;

  • processamento financeiro.


Onde entra o IBM MQ?

Curiosamente…

O IBM MQ possui protocolo próprio (MQI).

Mas também suporta integrações usando AMQP em determinados cenários.

É uma das tecnologias mais importantes do mundo corporativo.


Event Driven Architecture (EDA)

Aqui acontece uma mudança de mentalidade.

Ao invés de perguntar:

Pedido foi pago?

O sistema anuncia.

Pagamento realizado.

Todos os interessados recebem.

Financeiro

Estoque

CRM

Analytics

IA

Data Lake

Tudo automaticamente.


Webhooks

Webhooks parecem mágicos.

Mas são extremamente simples.

Imagine o GitHub.

Você faz um Push.

Instantaneamente.

GitHub

↓

HTTP POST

↓

Jenkins

↓

Deploy

Ninguém ficou perguntando.

O GitHub avisou.


EDI — Muito Antes da Internet

Muitos acreditam que integração nasceu com REST.

Na verdade…

EDI existe desde os anos 60.

Ele padronizou documentos empresariais.

Como:

  • pedidos;

  • notas fiscais;

  • faturas;

  • ordens de compra.

Até hoje movimenta trilhões de dólares.


CoAP

Pense nele como:

"O HTTP para sensores."

Funciona sobre UDP.

Muito leve.

Ideal para dispositivos extremamente limitados.


XMPP

Muito famoso no começo da internet.

Utilizado por:

  • chats;

  • mensagens;

  • presença online.

Google Talk utilizava XMPP.


DDS

Aqui entramos no mundo militar.

DDS é utilizado em:

  • submarinos;

  • satélites;

  • aviões;

  • radares;

  • defesa.

Latência extremamente baixa.

Comunicação quase instantânea.


OPC-UA

Esse protocolo merece respeito.

É praticamente o idioma universal das fábricas.

Imagine uma linha de produção.

Robôs.

CLPs.

Esteiras.

Sensores.

Todos conversam usando OPC-UA.

Hoje ele é um dos pilares da Indústria 4.0.


Como Tudo Isso Conversa com o IBM Z?

Agora vem a pergunta que todo Padawan faz.

"O COBOL participa disso tudo?"

A resposta é:

Sim.

Muito mais do que imaginamos.

Exemplo.

Aplicativo Android

↓

REST

↓

API Gateway

↓

z/OS Connect

↓

CICS

↓

Programa COBOL

↓

Db2

↓

Resposta

Outro cenário.

Sensor MQTT

↓

Broker

↓

Kafka

↓

IBM MQ

↓

Programa COBOL

Outro.

Marketplace

↓

Webhook

↓

Microserviço

↓

MQ

↓

Batch COBOL

Perceba.

O COBOL não precisa conhecer MQTT.

Nem GraphQL.

Nem WebSocket.

Existe uma camada responsável por traduzir esses protocolos e entregar os dados ao programa de forma transparente.

Essa separação de responsabilidades é uma das razões pelas quais sistemas IBM Z conseguem evoluir durante décadas sem reescrever milhões de linhas de código.


Comparando Cada Tecnologia

TecnologiaMelhor para
RESTAPIs Web
SOAPIntegrações corporativas
GraphQLAplicações móveis
WebSocketTempo real
SSENotificações
gRPCMicrosserviços
MQTTIoT
AMQPFilas corporativas
EDIB2B
WebhooksIntegração instantânea
CoAPDispositivos restritos
OPC-UAAutomação industrial
DDSSistemas críticos
XMPPMensageria
ThriftRPC multiplataforma

Passo a Passo para o Padawan Aprender APIs

Uma boa jornada de estudos pode seguir esta sequência:

  1. Domine HTTP (GET, POST, PUT, PATCH e DELETE) e compreenda códigos de status como 200, 201, 400, 401, 404 e 500.

  2. Aprenda JSON e XML, pois são os formatos de dados mais comuns em integrações.

  3. Estude REST e pratique com ferramentas como Postman ou Insomnia.

  4. Entenda autenticação com API Keys, OAuth 2.0 e JWT.

  5. Conheça SOAP e WSDL para compreender integrações corporativas legadas.

  6. Explore IBM MQ e conceitos de mensageria assíncrona.

  7. Aprenda os fundamentos de EDA e publicação/assinatura de eventos.

  8. Estude GraphQL e gRPC para arquiteturas modernas.

  9. Descubra como o z/OS Connect EE expõe programas COBOL como APIs REST sem alterar a lógica de negócio.

  10. Finalmente, aprofunde-se em observabilidade, segurança, governança e versionamento de APIs.


Erros Comuns dos Iniciantes

  • Achar que REST é um protocolo.

  • Imaginar que GraphQL substitui REST em todos os cenários.

  • Pensar que SOAP está "morto". Em ambientes corporativos críticos ele continua extremamente relevante.

  • Usar WebSockets quando uma API REST seria suficiente.

  • Escolher MQTT para aplicações que exigem garantias complexas de entrega, onde AMQP pode ser mais adequado.

  • Ignorar autenticação, autorização e criptografia nas APIs.

  • Expor diretamente programas COBOL sem uma camada de gerenciamento, segurança e monitoramento.


Easter Eggs do Bellacosa Mainframe

🔹 Star Trek: o computador da USS Enterprise conversa com sensores, consoles, replicadores e sistemas de navegação usando diferentes protocolos internos. Nenhum tripulante percebe essa complexidade porque existe uma arquitetura de integração por trás. O IBM Z faz exatamente isso nas empresas modernas.

🔹 A Torre de Babel da Computação: REST, SOAP, MQTT, AMQP e GraphQL parecem idiomas diferentes. O papel das plataformas de integração, gateways de API e barramentos de mensagens é funcionar como "tradutores universais", lembrando o Tradutor Universal de Star Trek.

🔹 O COBOL como o Capitão da Nave: enquanto novas tecnologias entram e saem de moda, o COBOL permanece tomando as decisões críticas do negócio. As APIs são os oficiais de comunicações que levam e trazem informações para o capitão.

🔹 Curiosidade Histórica: antes de JSON, XML e APIs, muitos bancos trocavam informações usando arquivos EBCDIC em fitas magnéticas e conexões SNA. Em muitos casos, esses processos ainda coexistem com APIs REST e microsserviços em arquiteturas híbridas.


Conclusão — O Verdadeiro Poder Está na Integração

Existe uma tendência no mercado de apresentar cada nova tecnologia como uma substituta definitiva da anterior. A história da computação mostra exatamente o contrário.

REST não eliminou SOAP.

GraphQL não eliminou REST.

MQTT não eliminou AMQP.

EDI continua movimentando cadeias globais de suprimentos.

IBM MQ permanece essencial para integração corporativa.

E o COBOL continua executando algumas das transações mais importantes do planeta.

O segredo não está em escolher um único protocolo, mas em compreender quando e por que utilizar cada um deles.

Para o programador COBOL Padawan, essa é uma lição valiosa: o IBM Z não vive isolado em uma sala com luzes piscando e terminais 3270. Ele é o coração de um ecossistema conectado por APIs, filas, eventos, microsserviços, sensores industriais, aplicações móveis, inteligência artificial e serviços em nuvem.

Como diria o Dr. Spock ao observar um datacenter moderno:

"A lógica indica que nenhuma tecnologia vence sozinha. As maiores realizações surgem quando sistemas diferentes aprendem a cooperar."

E talvez essa seja a maior lição desta jornada: o futuro da computação não pertence a uma linguagem, a um protocolo ou a uma plataforma. Ele pertence à integração inteligente entre todos eles.


segunda-feira, 2 de novembro de 2020

CICS Conversacional e Pseudo-Conversacional - Parte III

 

Bellacosa Mainframe e a conversação em cics parte III

☕ Um Café no Bellacosa Mainframe

CICS Conversacional e Pseudo-Conversacional

Parte 3 — Channels, Containers, BMS Avançado, APIs, Observabilidade e o Futuro do CICS

"Salve novamente, jovem Padawan Mainframe! Já entendemos por que a pseudo-conversação venceu, como a COMMAREA funciona e como o CICS se integrou ao mundo REST. Agora vamos explorar o lado mais moderno do CICS, descobrir como ele conversa com aplicações em nuvem, conhecer boas práticas utilizadas em bancos e seguradoras e entender por que muitos engenheiros consideram o CICS uma das obras-primas da engenharia de software."

Pegue seu terceiro café, deixe o CEDF ligado, abra uma aba do OMEGAMON, outra do SDSF e vamos continuar.


O problema da COMMAREA

Durante décadas a COMMAREA foi suficiente.

64 KB.

Poucos campos.

Poucos estados.

Poucos dados.

Era perfeito.

Mas o mundo mudou.

Hoje temos:

JSON

JWT

XML

SOAP

REST

Objetos complexos

Payloads gigantes


A chegada dos Channels

A IBM precisava resolver isso.

E resolveu.

CICS TS 3.1

Introduziu:

Channels

Containers


O que é um Channel?

Pense em um diretório.

CLIENTE
│
├── CPF
├── ENDERECO
├── LIMITE
├── HISTORICO
└── TOKEN

O Channel funciona exatamente assim.

Um agrupador.

Pode conter vários Containers.


O que é um Container?

Container é um objeto.

Armazena informações.

Pode conter:

Texto

XML

JSON

Estruturas COBOL

Blobs

Imagens

Arquivos


Comparativo

TecnologiaCapacidade
COMMAREA64 KB
TSQMB
ContainerGB
DB2TB

Exemplo COBOL

Criando.


EXEC CICS PUT CONTAINER

CONTAINER('CLIENTE')

CHANNEL('CADASTRO')

FROM(WS-DADOS)

FLENGTH(WS-TAM)

END-EXEC.



Recuperando.


EXEC CICS GET CONTAINER

CONTAINER('CLIENTE')

CHANNEL('CADASTRO')

INTO(WS-DADOS)

END-EXEC.



BMS continua vivo?

Muito.

Talvez mais vivo do que muita gente imagina.


Grandes bancos.

Seguradoras.

Cartões.

Previdência.

Companhias aéreas.

Utilities.

Governo.


BMS avançado

Poucos desenvolvedores usam.


SEND MAP ACCUM

Acumula telas.

Exemplo


EXEC CICS SEND MAP

ACCUM

END-EXEC



SEND PAGE

Paginação.


SEND CONTROL

Controle terminal.


ERASEAUP

Limpa apenas campos editáveis.


CURSOR

Posicionamento dinâmico.


Exemplo

Cursor no CPF.



MOVE -1 TO CPFL



EXEC CICS SEND

MAP('TELA1')

CURSOR

END-EXEC




APIs no CICS

Aqui muita gente se surpreende.

O CICS é praticamente um Application Server.


Suporta.

HTTP

HTTPS

SOAP

REST

MQ

TCP/IP

JMS

JSON

XML


Exemplo moderno

Aplicativo Android.

API Gateway

z/OS Connect

CICS

COBOL

DB2


z/OS Connect

Talvez uma das melhores ideias da IBM.

Transforma.

COBOL

em

API REST.


Sem reescrever.

Sem Java.

Sem Node.

Sem Python.


Exemplo.

Cliente faz:

GET /clientes/123

Internamente.

CICS chama.


PERFORM CONSULTA-DB2


Retorna.

{

"id":123,

"nome":"Bellacosa"

}


Web Open Interface

WOI.

Pouco conhecido.

Muito poderoso.

Permite integração.

HTTP.

TCP.

Sockets.


Event Processing

Outro recurso fantástico.

CICS captura eventos.

Exemplo.

Cliente alterou endereço.


Evento.

Publica MQ.


Outro sistema consome.


Observabilidade

Década de 80.

Console.

Dump.

IPCS.


Hoje.

OpenTelemetry.

Prometheus.

Grafana.

OMEGAMON.

Instana.

Elastic.


Métricas interessantes

Task Time.

CPU.

Response.

DB2.

MQ.

VSAM.


O CICS morreu?

Pergunta clássica.

Resposta curta.

Não.


Resposta longa.

Muito pelo contrário.


Ele evoluiu.

Muito.


Anos 70

3270

Anos 80

BMS

Anos 90

MQ

2000

SOAP

2010

REST

2020

Containers

2025

OpenTelemetry

IA

APIs

Cloud híbrida


Problemas comuns

COMMAREA gigante

Erro clássico.


Não usar pseudo

Aplicação lenta.


Múltiplos SEND

Desnecessário.


Não verificar RESP

Perigoso.


MDT ligado em tudo

Tráfego excessivo.


Dicas Bellacosa Mainframe

Utilize sempre

DATAONLY.


Sempre valide

RESP.


Use CEDF


Use CECI


Use Channels

Projetos novos.


Mantenha COMMAREA pequena


Nomeie MAPSET adequadamente

Exemplo.


CLI001


CLI002


CLI003



Easter Eggs Mainframe

Programadores antigos adoravam esconder mensagens.

Exemplo.



* MAY THE COBOL BE WITH YOU




Outro clássico.



* IF IT WORKS



* DON'T TOUCH




Mais um.



* WRITTEN 1987



* STILL RUNNING




Curiosidade

Diversos sistemas escritos em 1986.

Rodam hoje.

No z16.

No z17.

Praticamente sem alterações.

Trocaram.

CPU.

Storage.

Rede.

Interface.

Mas o COBOL.

Continua.

O CICS.

Continua.

O DB2.

Continua.

E milhões de transações continuam acontecendo diariamente.


Considerações finais

Aprender CICS conversacional e pseudo-conversacional é muito mais do que aprender comandos.

É entender como a IBM resolveu problemas de escalabilidade décadas antes da popularização da computação em nuvem.

É descobrir que conceitos como:

Stateless

Session Management

API Gateway

Observabilidade

Microserviços

Persistência de contexto

Já estavam presentes, de certa forma, em arquiteturas concebidas nos anos 70.

Talvez seja por isso que o CICS continue sendo uma das tecnologias mais fascinantes do IBM Z.

Porque ele não apenas sobreviveu ao tempo.

Ele evoluiu com ele.

E provavelmente continuará executando aplicações críticas quando muitos frameworks modernos já forem apenas uma nota de rodapé na história da computação.

No IBM Z, cada transação conta uma história. Cada COMMAREA guarda uma memória. E cada RETURN é apenas uma promessa de que a próxima task continuará exatamente de onde paramos.

Até o próximo café no Bellacosa Mainframe.


sexta-feira, 4 de setembro de 2020

CICS Conversacional e Pseudo-Conversacional - Parte II

 

Bellacosa Mainframe e a conversação em cics parte II

☕ Um Café no Bellacosa Mainframe

CICS Conversacional e Pseudo-Conversacional

Parte 2 — Escalabilidade, COMMAREA, Channels, Web Services e Boas Práticas

"Na primeira parte aprendemos que programas conversacionais gostam de ficar esperando o usuário pensar, enquanto programas pseudo-conversacionais executam como ninjas do IBM Z: aparecem, trabalham, desaparecem e retornam apenas quando necessários. Agora vamos entender por que a IBM praticamente transformou a pseudo-conversação em padrão de mercado."

Pegue mais um café, abra o CEDF, deixe o CEMT pronto e vamos continuar nossa jornada.


Os problemas do modelo Conversacional

O modelo conversacional é elegante.

É simples.

É intuitivo.

Mas infelizmente é extremamente caro.

Vamos imaginar um banco.

Cenário

50.000 usuários.

Cada usuário demora:

20 segundos

para preencher uma tela.


Aplicação Conversacional

Programa fica ativo.

Task permanece viva.

TCB permanece associado.

TCA permanece ocupada.

Storage continua reservado.

EIB continua residente.

Tudo isso...

Durante vinte segundos.


Resultado

Pouca escalabilidade.

Maior uso de CPU.

Maior consumo de memória.

Possibilidade de gargalos.


O fenômeno Think Time

Um dos maiores inimigos do CICS.

Think Time.

Tempo em que o usuário está apenas pensando.

Exemplos:

Lendo uma tela.

Pegando um documento.

Atendendo telefone.

Procurando CPF.

Conversando com cliente.


Conversacional

Think Time = recursos desperdiçados


Pseudo

Think Time = recursos liberados


A IBM fez uma escolha inteligente

Ao invés de esperar.

Finaliza a task.

Salva contexto.

Cria nova task depois.


Visualmente:

Task 1

Mostra tela

RETURN


=================


Usuário pensa


=================


Task 2


Recebe dados


Processa


RETURN

Múltiplas telas

Poucos desenvolvedores COBOL iniciantes percebem.

Uma pseudo-conversação pode navegar por dezenas de telas.

Exemplo:

Menu

Consulta

Inclusão

Alteração

Confirmação

Resumo

Help

Paginação


Exemplo

MENU

PF5

CONSULTA

ENTER

DETALHE

PF3

MENU


Tudo utilizando.

COMMAREA.


COMMAREA

Provavelmente um dos conceitos mais importantes do CICS.

Ela guarda estado.

Entre uma task.

E outra.


Exemplo:


01 WS-COMM.

   05 WS-MODO PIC X.

   05 WS-PAGINA PIC 99.

   05 WS-CPF PIC 9(11).

   05 WS-NOME PIC X(30).


Limitação

COMMAREA possui limite.

64 KB.


Antigamente

Era suficiente.


Hoje.

JSON.

REST.

SOAP.

XML.

JWT.

Podem ultrapassar facilmente.

64 KB.


Surge Channels e Containers

Introduzidos para resolver isso.


COMMAREA

64 KB


Container

Gigabytes.


Exemplo


EXEC CICS PUT CONTAINER

CONTAINER('CLIENTE')

FROM(WS-DADOS)

END-EXEC



Recuperando.


EXEC CICS GET CONTAINER

CONTAINER('CLIENTE')

INTO(WS-DADOS)

END-EXEC



Qual utilizar?

Sistemas antigos

COMMAREA


Novos projetos

Channels

Containers


EIBCALEN

Nos projetos antigos.

Era rei.




IF EIBCALEN = ZERO


PERFORM PRIMEIRA-VEZ


ELSE


PERFORM RETORNO


END-IF



Pseudo-Conversação com BMS

Fluxo típico.


SEND MAP

RETURN

Usuário ENTER

Nova Task

RECEIVE

DB2

SEND

RETURN


Web Services no CICS

Muitos acreditam.

Que CICS é apenas 3270.

Isso está muito longe da realidade.


CICS suporta.

SOAP.

REST.

JSON.

XML.

MQ.

JMS.

TCP/IP.

HTTP.

HTTPS.


Exemplo

Angular

API

zOS Connect

CICS

COBOL

DB2


Visualmente



Browser


   │


REST API


   │


zOS Connect


   │


CICS


   │


COBOL


   │


DB2



O COBOL muda?

Quase nada.


Exemplo


PERFORM VALIDA


PERFORM CONSULTA-DB2


PERFORM RETORNA-DADOS




Interface muda.

Negócio permanece.


SOAP

Muito usado.

Seguradoras.

Governo.

ERP.


REST

Dominante.

OpenAPI.

Swagger.

JSON.


BMS ainda é importante?

Sim.

Muito.


Milhares de aplicações.

Continuam em produção.


Além disso.

BMS ensina.

Arquitetura.

Separação de responsabilidades.

Persistência de contexto.

Gerenciamento de estado.


Problemas comuns

MAPFAIL

Usuário apertou PF3.

Sem alterar dados.


INVREQ

Sequência incorreta.


LENGERR

Área pequena.


ASRA

S0C7.

S0C4.

S0CB.


Como debugar?

CEDF.

Excelente.



CEDF ON



Programa para.

Comando por comando.


CECI

Muito útil.


Exemplo


CECI RECEIVE MAP



CEMT

Consultar recursos.



CEMT I TASK




CEMT I PROG




CEMT I TRAN



Boas práticas

Sempre usar pseudo-conversação


Utilizar COMMAREA pequena


Preferir Containers

Projetos novos.


Não salvar tabelas grandes

Na COMMAREA.


Usar MDT apenas quando necessário


Utilizar DATAONLY

Reduz tráfego.


Evitar múltiplos SEND

Na mesma task.


Validar EIBRESP

Sempre.


Exemplo



IF EIBRESP NOT = DFHRESP(NORMAL)

PERFORM TRATA-ERRO


END-IF



Curiosidade Bellacosa Mainframe

Alguns bancos possuem aplicações pseudo-conversacionais escritas em 1986.

Elas foram migradas.

De 3090.

Para 9672.

Para z900.

Para z990.

Para z9.

Para z10.

Para z14.

Para z16.

E continuam praticamente inalteradas.


Easter Egg Mainframe

Nos anos 80.

Muitos desenvolvedores colocavam comentários curiosos.

Exemplo.



* MAY THE COBOL BE WITH YOU


Ou.



* DO NOT TOUCH


* WORKS SINCE 1987


Ou o clássico.



* IF YOU CHANGE THIS


* BUY COFFEE FOR THE TEAM



Continua...

Na Parte 3 veremos:

✔ Web Open Interface (WOI);

✔ CICS Event Processing;

✔ Programas COBOL completos;

✔ Pseudo-conversação com múltiplos MAPSETs;

✔ BMS avançado;

✔ Channels versus TSQ;

✔ Segurança RACF;

✔ Web Services SOAP e REST detalhados;

✔ Observabilidade moderna;

✔ OpenTelemetry;

✔ Curiosidades e easter eggs pouco conhecidos do universo CICS.

segunda-feira, 29 de julho de 2019

☕🔥 APIs NO IBM MAINFRAME — O MUNDO MODERNO DESCOBRIU AGORA O QUE O z/OS JÁ FAZIA HÁ DÉCADAS

 

Bellacosa Mainframe e o uso de APIs em Mainframe

☕🔥 APIs NO IBM MAINFRAME — O MUNDO MODERNO DESCOBRIU AGORA O QUE O z/OS JÁ FAZIA HÁ DÉCADAS

Hoje o mercado fala sem parar sobre:

  • APIs

  • REST

  • GraphQL

  • gRPC

  • Event Streaming

  • Webhooks

  • Tempo real

  • Microsserviços

E muita gente imagina que isso nasceu:

  • na nuvem

  • no Kubernetes

  • no Node.js

  • no mundo cloud-native

Mas existe uma realidade histórica quase escondida:

O Mainframe sempre foi uma máquina de integração.

Muito antes do termo “API Economy” virar moda…

o IBM Mainframe já fazia:

  • comunicação distribuída

  • transações remotas

  • integração entre sistemas

  • troca de mensagens

  • processamento assíncrono

  • request/reply

  • eventos

  • streaming de dados

E talvez essa seja a parte mais impressionante:

🔥 O z/OS não apenas sobreviveu à era das APIs…
ele virou um dos pilares dela.


☕ O QUE MUITA GENTE NÃO ENTENDE SOBRE APIs

API não é “modinha web”.

API é:

contrato de comunicação.

O formato muda.

A tecnologia muda.

Mas a ideia é a mesma desde os anos 70:

  • um sistema solicita algo

  • outro sistema responde

  • existe um protocolo

  • existe um padrão

  • existe governança

E o Mainframe foi pioneiro nisso.


☕🔥 GRAPHQL NO MAINFRAME — A VOLTA DO “PEDIR SOMENTE O NECESSÁRIO”

GraphQL virou tendência porque resolve um problema clássico:

👉 excesso de dados.

O cliente pede exatamente o que quer.


☕ Mas olha a ironia…

O Mainframe já tinha essa mentalidade há décadas.


Exemplo clássico no CICS + COBOL

Uma transação antiga:

EXEC CICS LINK
     PROGRAM('CLI0001')
     COMMAREA(WS-AREA)
END-EXEC

A COMMAREA levava apenas:

  • campos específicos

  • estruturas necessárias

  • dados filtrados

Não havia desperdício.


☕ GraphQL + z/OS Connect

Hoje o Mainframe moderno usa:

  • z/OS Connect

  • API Connect

  • Db2 REST Services

para expor:

  • COBOL

  • CICS

  • IMS

  • DB2

como APIs modernas.


Exemplo real

Um app mobile pode pedir:

cliente {
  nome
  saldo
}

E o Mainframe responde apenas isso.

Sem payload gigante.


☕🔥 gRPC — O “NOVO RPC” QUE O MAINFRAME JÁ CONHECIA

Quando o mercado descobriu gRPC…

o profissional mainframe veterano provavelmente sorriu.

Porque:

👉 gRPC é basicamente a evolução moderna do RPC.

E RPC já existia no universo IBM há MUITO tempo.


☕ O que é gRPC?

Comunicação:

  • rápida

  • binária

  • eficiente

  • orientada a contratos

usando Protocol Buffers.


☕ O Mainframe fazia isso como?

APPC/LU6.2

Comunicação transacional remota.


DPL (Distributed Program Link)

Programa chama outro remotamente:

EXEC CICS LINK
     SYSID('PRD1')
END-EXEC

Isso é praticamente:

🔥 “gRPC raiz”.


☕ MQ também antecipou isso

Mensagens compactas.

Baixa latência.

Integração confiável.

Comunicação assíncrona.


☕🔥 SOAP — O REINADO ABSOLUTO DO MAINFRAME CORPORATIVO

Antes do REST dominar o mundo…

SOAP era rei absoluto.

E o Mainframe foi um dos maiores ambientes SOAP do planeta.


☕ Por quê?

Porque SOAP entrega algo que o mundo financeiro AMA:

  • contratos rígidos

  • padronização

  • WS-Security

  • governança

  • transações confiáveis

  • XML estruturado


☕ CICS Web Services

O CICS consegue expor programas COBOL como SOAP services.


Fluxo clássico

SOAP Request
     ↓
CICS Pipeline
     ↓
COBOL
     ↓
DB2 / VSAM
     ↓
SOAP Response

☕ O que pouca gente sabe

Grande parte:

  • bancos

  • seguradoras

  • governos

AINDA usam SOAP no Mainframe.

E sinceramente?

🔥 Em sistemas críticos, SOAP ainda é extremamente poderoso.


☕🔥 REST — O MAINFRAME APRENDEU A FALAR “INTERNET”

REST virou padrão porque simplifica integração.

HTTP + JSON.

Simples.

Leve.

Universal.


☕ E o Mainframe?

O Mainframe se reinventou brutalmente aqui.


☕ Hoje temos:

z/OS Connect

Transforma:

  • COBOL

  • IMS

  • CICS

em APIs REST modernas.


☕ Exemplo

Aplicação mobile faz:

GET /clientes/1001

E no backend:

  • COBOL executa

  • DB2 consulta

  • CICS processa

O usuário nem percebe que existe um z/OS por trás.


☕ O REST ajudou o Mainframe a sobreviver

Essa talvez seja uma das maiores viradas históricas do IBM Z.

REST permitiu:

  • integração com cloud

  • apps mobile

  • fintechs

  • Open Banking

  • microsserviços

  • APIs públicas


☕🔥 WEBHOOKS — O MAINFRAME SEMPRE VIVEU DE EVENTOS

Webhook é:

“me avise quando algo acontecer”.


☕ Parece moderno…

Mas o Mainframe já vivia disso.


☕ Exemplos clássicos

WTO/WTOR

Mensagens do sistema disparam ações.


Automation

NetView e System Automation executam workflows baseados em eventos.


MQ Triggering

Fila recebe mensagem → programa inicia automaticamente.

Isso é Webhook conceitualmente.


☕ Exemplo real

Pagamento aprovado:

MQ Message
   ↓
Trigger
   ↓
COBOL Batch
   ↓
Atualização DB2
   ↓
Notificação externa

Event-driven desde antes do termo existir.


☕🔥 SSE (SERVER-SENT EVENTS) — O MAINFRAME SEMPRE AMOU STREAMING

SSE mantém conexão aberta enviando eventos contínuos.

Hoje isso aparece em:

  • dashboards

  • monitoring

  • fintechs

  • trading

  • observabilidade


☕ Mas o Mainframe já fazia streaming há décadas

SMF

Fluxo contínuo de eventos do sistema.


RMF

Monitoramento em tempo real.


OMEGAMON

Streaming operacional contínuo.


☕ Ambientes financeiros usam isso intensamente

Bolsa de valores.

Cartões.

PIX.

Fraude.

Monitoramento de transações.

Tudo depende de fluxo contínuo.


☕🔥 O GRANDE CHOQUE CULTURAL

O mercado moderno acha que inventou:

  • integração

  • APIs

  • eventos

  • streaming

  • observabilidade

Mas o Mainframe já enfrentava esses problemas:

  • nos anos 70

  • nos anos 80

  • nos anos 90

em escala absurda.


☕ O QUE MUDA É O FORMATO

Ontem:

  • SNA

  • APPC

  • MQ

  • CICS LINK

  • COMMAREA

Hoje:

  • REST

  • GraphQL

  • gRPC

  • Kafka

  • Webhooks

Mas a essência continua a mesma:

🔥 sistemas precisam conversar de forma confiável.


☕🔥 O MAIOR MITO SOBRE O MAINFRAME

“Mainframe não conversa com sistemas modernos.”

Isso está completamente errado.

Hoje o IBM Z conversa com:

  • AWS

  • Azure

  • Kubernetes

  • OpenShift

  • APIs REST

  • Kafka

  • aplicações mobile

  • IA generativa

E faz isso mantendo:

  • segurança absurda

  • disponibilidade 24x7

  • integridade transacional

  • throughput gigantesco


☕🔥 A VERDADE QUE O MERCADO COMEÇA A REDESCOBRIR

Quanto mais o mundo moderno cresce…

mais ele percebe a importância de:

  • resiliência

  • observabilidade

  • governança

  • transação confiável

  • mensageria robusta

  • integração desacoplada

E adivinha?

👉 Esses sempre foram pilares do Mainframe.


☕🔥 CONCLUSÃO — O MAINFRAME NÃO FICOU PARA TRÁS

Ele apenas:

evoluiu antes dos outros.

REST, GraphQL, gRPC e Webhooks não substituíram o Mainframe.

Eles se conectaram a ele.

Porque no fim das contas…

🔥 quase todo sistema moderno ainda acaba conversando com um IBM Z em algum momento da vida.


sexta-feira, 17 de agosto de 2018

O Mistério da Porta Invisível : Quando um Programador COBOL Descobre que Seu Programa Conversa com um Celular sem Nunca Ter Saído do CICS

 

Bellacosa Mainframe e o misterio da porta invisivel

☕ Um Café no Bellacosa Mainframe

O Mistério da Porta Invisível

Quando um Programador COBOL Descobre que Seu Programa Conversa com um Celular sem Nunca Ter Saído do CICS

"Naquela noite chuvosa, os logs estavam silenciosos. Nenhum ABEND. Nenhuma mensagem DFHAC2001. Apenas um estranho pacote HTTP atravessando a rede em direção ao velho mainframe. Algo impossível estava prestes a acontecer..."


Prólogo

O Caso da Máquina que Nunca Aprendeu a Envelhecer

Existe uma velha lenda nos CPDs.

Ela diz que existe uma máquina construída antes da chegada da Internet que, décadas depois, continua respondendo milhões de requisições vindas de smartphones.

Ela nunca viu um navegador moderno.

Nunca executou Android.

Jamais instalou iOS.

Mesmo assim...

Responde diariamente a aplicativos bancários, sistemas de companhias aéreas, plataformas de saúde, seguradoras e bolsas de valores.

Essa máquina atende por um nome conhecido.

IBM Z.

E o grande investigador dessa história é um personagem chamado...

CICS.

Hoje vamos investigar como um programa COBOL escrito talvez antes do seu nascimento consegue conversar com aplicações em nuvem utilizando REST, SOAP, JSON, XML, HTTPS e APIs modernas.

Prepare seu café.

O mistério começa agora.


Capítulo 1

A Cidade Perdida chamada CICS

Imagine uma gigantesca cidade.

Nela existem milhares de edifícios.

Cada prédio possui uma função específica.

Uns recebem visitantes.

Outros executam trabalhos.

Alguns guardam documentos secretos.

Outros armazenam dinheiro.

Essa cidade é o CICS.

Cada prédio representa um programa COBOL.

Milhares deles.

Funcionando simultaneamente.

Sem acidentes.

Sem congestionamentos.

Sem parar.

Enquanto servidores modernos podem precisar ser reiniciados para atualizações, um ambiente CICS pode permanecer em operação por períodos extremamente longos, processando um fluxo contínuo de transações críticas.


O verdadeiro trabalho do CICS

Muitos iniciantes acreditam que o CICS é apenas um ambiente onde o COBOL roda.

Na realidade...

Ele é muito mais.

Ele administra:

  • milhares de usuários

  • memória

  • arquivos

  • filas

  • comunicação

  • segurança

  • recuperação

  • sincronização

  • transações

É praticamente um sistema operacional especializado em transações.


Capítulo 2

O nascimento do problema

Década de 1980.

Tudo era simples.

Terminal 3270

↓

CICS

↓

COBOL

↓

VSAM

Todo mundo falava a mesma língua.

Não existiam aplicativos.

Não existiam APIs.

Não existia JSON.

Tudo era verde.

Tudo era 3270.

Então veio a Internet.

Depois surgiram:

  • Java

  • .NET

  • Smartphones

  • Cloud

  • APIs

  • Microsserviços

De repente surgiu uma pergunta assustadora.

"Como um programa COBOL pode conversar com um celular?"


Capítulo 3

O idioma secreto chamado HTTP

Os aplicativos modernos falam uma língua.

HTTP.

Já o COBOL conversa utilizando estruturas internas como COMMAREA ou Channels.

São idiomas diferentes.

É como colocar Sherlock Holmes para conversar com um samurai do Japão Feudal.

Os dois são inteligentes.

Mas precisam de um tradutor.

Esse tradutor existe.

Ele mora dentro do CICS.


Capítulo 4

A Porta Invisível

Essa porta possui um nome elegante.

CICS Web Services.

Ela funciona como um diplomata.

Quando chega uma mensagem REST:

GET /saldo/12345

Ela traduz para algo que o COBOL entende.

Depois faz o caminho contrário.

Programa COBOL

↓

COMMAREA

↓

Resposta

↓

JSON

↓

HTTP

↓

Celular

O programa COBOL sequer percebe que está atendendo um smartphone.

Para ele...

É apenas mais uma solicitação.

Essa abstração é um dos maiores trunfos do CICS: preservar a lógica de negócio enquanto adapta a forma de comunicação.


Capítulo 5

Os dois detetives: REST e SOAP

Aqui encontramos dois investigadores rivais.

REST

Jovem.

Ágil.

Minimalista.

Prefere JSON.

Exemplo:

{
  "cliente": "Maria",
  "saldo": 18950.44
}

É o queridinho das APIs modernas.


SOAP

Mais velho.

Elegante.

Extremamente organizado.

Utiliza XML.

<Envelope>

<Body>

<GetBalance>

<Account>12345</Account>

</GetBalance>

</Body>

</Envelope>

Embora muitos o considerem "antigo", ele continua sendo amplamente utilizado em integrações corporativas que exigem contratos rígidos, segurança avançada e interoperabilidade.


Curiosidade Noir

REST é como um repórter investigativo.

Faz perguntas curtas.

Recebe respostas rápidas.

SOAP parece um advogado.

Toda conversa vem acompanhada de documentos, assinaturas e formalidades.

Nenhum é melhor.

Cada um resolve um tipo diferente de problema.


Capítulo 6

A viagem de um pacote

Vamos seguir uma requisição.

Cliente

↓

Aplicativo

↓

Internet

↓

HTTPS

↓

Firewall

↓

API Gateway

↓

CICS

↓

Programa COBOL

↓

DB2

↓

Resposta

Tudo isso pode ocorrer em poucos milissegundos.

Enquanto você pisca.

O dinheiro já foi consultado.


Capítulo 7

O tradutor invisível

O COBOL trabalha com registros.

01 CLIENTE.

   05 ID.

   05 NOME.

   05 SALDO.

O celular trabalha com JSON.

{
"id":100
}

Quem converte?

O CICS.

Ele transforma estruturas COBOL em mensagens compreensíveis para aplicações modernas e realiza o caminho inverso quando recebe uma requisição.


Capítulo 8

Onde entram Db2 e VSAM?

Muita gente acredita que a API consulta diretamente o banco.

Não.

Quem faz isso é o programa COBOL.

Fluxo:

REST

↓

CICS

↓

COBOL

↓

EXEC SQL

↓

DB2

Ou

REST

↓

CICS

↓

COBOL

↓

READ

↓

VSAM

O Web Service não substitui a lógica de negócio.

Ele apenas abre uma nova porta de entrada.


Capítulo 9

O Guardião chamado Pipeline

Nos bastidores existe outro personagem.

O Pipeline.

Ele verifica:

  • formato da mensagem

  • conversões

  • validações

  • transformações

  • roteamento

  • preparação da resposta

Imagine uma esteira de fábrica.

Cada estação executa uma tarefa antes que a mensagem chegue ao programa COBOL.


Capítulo 10

Segurança: o Castelo Nunca Dorme

Abrir uma API para a Internet não significa deixar a porta escancarada.

Um ambiente corporativo normalmente utiliza camadas como:

  • HTTPS/TLS para criptografia.

  • RACF para autenticação e autorização.

  • Certificados digitais.

  • API Gateways.

  • OAuth ou JWT, quando apropriado.

  • Auditoria via SMF.

  • Firewalls e balanceadores de carga.

A aplicação COBOL continua concentrada nas regras de negócio; a infraestrutura cuida da proteção da comunicação e do acesso.


Capítulo 11

Modernização sem Destruição

Durante muitos anos acreditou-se que seria necessário jogar fora milhões de linhas de COBOL.

Felizmente...

O mercado descobriu algo importante.

O problema não era o COBOL.

Era a forma de acessá-lo.

Hoje fazemos exatamente o contrário.

Mantemos:

  • COBOL

  • CICS

  • Db2

  • VSAM

E apenas trocamos a fachada.

A casa continua firme.

A porta ficou moderna.


Capítulo 12

O casamento com a Cloud

Uma API publicada pelo CICS pode ser consumida por:

  • Azure

  • AWS

  • Google Cloud

  • Kubernetes

  • OpenShift

  • Microsserviços

  • Aplicativos Android

  • Aplicativos iPhone

  • Inteligência Artificial

  • Agentes autônomos

O mainframe deixa de ser uma "ilha" e passa a integrar um ecossistema distribuído.


Capítulo 13

O Papel do z/OS Connect EE

Em muitas empresas, existe um aliado do CICS chamado z/OS Connect Enterprise Edition.

Ele facilita a publicação de APIs REST, realiza transformações entre JSON e estruturas do CICS, gera documentação OpenAPI e simplifica a integração com plataformas de gerenciamento de APIs.

Pense nele como um elegante recepcionista de um hotel cinco estrelas: ele recebe os visitantes, organiza a documentação e encaminha cada um ao departamento correto — que continua sendo o programa COBOL no CICS.


Passo a passo

Como nasce uma API CICS

  1. Identificar o programa COBOL que já executa a regra de negócio.

  2. Definir quais dados serão recebidos e devolvidos.

  3. Criar ou configurar o Web Service/REST endpoint.

  4. Mapear JSON ou XML para COMMAREA ou Channels.

  5. Configurar Pipeline e recursos do CICS.

  6. Publicar a API.

  7. Testar com ferramentas como Postman ou aplicações cliente.

  8. Monitorar desempenho, segurança e auditoria.

O grande diferencial é que, em muitos casos, a lógica COBOL permanece praticamente inalterada.


Curiosidades do Arquivo Bellacosa 🕵️

🗂 Arquivo Nº 3270

O primeiro navegador do bancário foi um terminal 3270. Ele não exibia imagens nem animações, mas oferecia respostas extremamente rápidas e confiáveis.

🗂 Arquivo Nº DFH

Grande parte dos módulos internos do CICS começa com o prefixo DFH, uma tradição histórica da IBM que aparece em mensagens, componentes e utilitários.

🗂 Arquivo Nº COMMAREA

Antes dos Channels e Containers, a COMMAREA era o principal meio de troca de dados entre programas CICS. Ela ainda é amplamente utilizada em aplicações legadas.

🗂 Arquivo Nº REST

Uma API REST pode estar chamando um programa COBOL escrito há décadas, e o desenvolvedor do aplicativo móvel talvez nunca saiba disso.


Dicas para quem está começando

✔ Aprenda primeiro como funciona uma transação CICS.

✔ Entenda bem COMMAREA e, em seguida, estude Channels e Containers.

✔ Domine JSON e XML; você os verá com frequência em integrações.

✔ Conheça o básico de HTTP: métodos GET, POST, PUT e DELETE, além de códigos de status.

✔ Estude Db2 e VSAM, pois são as principais fontes de dados das aplicações CICS.

✔ Familiarize-se com conceitos de segurança, como TLS, certificados e RACF.

✔ Aprenda a usar ferramentas de teste de APIs, como Postman ou curl.

✔ Entenda que modernização não significa abandonar o legado, mas conectá-lo ao mundo atual.


Perguntas clássicas de entrevista

Por que utilizar CICS Web Services?

Porque eles permitem reutilizar aplicações COBOL consolidadas, expondo-as como APIs modernas sem a necessidade de reescrever toda a lógica de negócio.

REST substitui SOAP?

Não. REST e SOAP atendem necessidades diferentes e convivem em muitas organizações.

O programa COBOL precisa saber que está sendo chamado por um celular?

Normalmente, não. O CICS e sua infraestrutura de integração fazem a tradução entre o protocolo Web e a interface esperada pela aplicação.

O CICS acessa diretamente o Db2?

Quem executa a lógica de acesso normalmente é o programa COBOL, utilizando SQL para Db2 ou comandos CICS para VSAM e outros recursos.


O Easter Egg ☕

Se você observou toda a nossa jornada da série Mainframe Learning with AI, percebeu que existe uma sequência quase detectivesca:

  • TOR foi o porteiro que recebeu os visitantes.

  • AOR era o investigador que resolvia os casos.

  • FOR guardava os arquivos secretos.

  • MRO construiu as estradas entre regiões.

  • ISC atravessou fronteiras entre sistemas.

  • TCP/IP abriu a comunicação com o mundo exterior.

  • Web Services finalmente abriu a porta principal para a Internet.

Cada capítulo parecia isolado. Mas, reunidos, formam um único grande mapa da arquitetura CICS moderna.

Como toda boa revista noir dos anos 1950, o maior mistério nunca esteve escondido na última página.

Ele sempre esteve diante dos nossos olhos.

O velho programa COBOL que muitos julgavam ultrapassado jamais esteve preso ao passado. Ele apenas aguardava que alguém encontrasse a porta certa para conversar com o futuro. E essa porta atende pelo nome de CICS Web Services.

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.

quarta-feira, 25 de abril de 2018

☕🔥 API PROTOCOLS NO IBM MAINFRAME — ENQUANTO O MUNDO DISCUTIA “MICROSSERVIÇOS”, O z/OS JÁ PROCESSAVA O PLANETA EM TEMPO REAL

Bellacosa Mainframe e uma visão das api protocols


☕🔥 API PROTOCOLS NO IBM MAINFRAME — ENQUANTO O MUNDO DISCUTIA “MICROSSERVIÇOS”, O z/OS JÁ PROCESSAVA O PLANETA EM TEMPO REAL

Existe uma frase que resume perfeitamente a história da integração corporativa:

“Toda tecnologia moderna acaba redescobrindo algo que o Mainframe já fazia.”

Hoje o mercado vive cercado de siglas:

  • REST

  • GraphQL

  • SOAP

  • gRPC

  • MQTT

  • WebSockets

  • SSE

  • EDA

  • AMQP

  • Webhooks

E muita gente acredita que isso nasceu:

  • na cloud

  • no Kubernetes

  • nas startups

  • no mundo DevOps

Mas existe uma verdade quase chocante:

🔥 O IBM Mainframe já dominava integração distribuída quando muita dessas tecnologias nem existia.


☕ O MAINFRAME NUNCA FOI “ISOLADO”

Esse talvez seja o maior mito da computação.

Muita gente imagina o Mainframe como:

  • terminal verde

  • sistema fechado

  • ambiente monolítico

  • tecnologia presa ao passado

Só que historicamente o Mainframe SEMPRE foi:

✅ distribuído
✅ integrado
✅ orientado a mensagens
✅ orientado a eventos
✅ transacional
✅ resiliente

Na prática:

👉 o Mainframe foi um dos primeiros grandes “hubs de APIs” corporativas do mundo.


☕🔥 REST — O MAINFRAME APRENDEU A FALAR A LÍNGUA DA INTERNET

REST virou padrão mundial porque simplifica comunicação.

HTTP + JSON.

Simples.

Universal.


☕ Mas veja a ironia…

O Mainframe já fazia integração transacional décadas antes.


☕ Hoje o z/OS usa REST via:

  • z/OS Connect

  • CICS REST APIs

  • Db2 REST Services

  • API Connect

  • OpenShift APIs


☕ Exemplo real

Aplicativo mobile:

GET /contas/1001

☕ O que acontece por trás?

REST API
   ↓
z/OS Connect
   ↓
CICS
   ↓
COBOL
   ↓
DB2

Tudo em milissegundos.


☕ O usuário nem percebe

Ele acha que está falando com:

  • cloud

  • microservice

  • fintech moderna

Mas no fundo:

🔥 existe um COBOL no z/OS processando bilhões com segurança absurda.


☕🔥 GRAPHQL — O MAINFRAME SEMPRE DETESTOU DESPERDÍCIO

GraphQL nasceu para resolver:

  • excesso de dados

  • APIs gigantes

  • múltiplas consultas


☕ O conceito é moderno…

Mas a mentalidade é antiga no Mainframe.


☕ COMMAREA no CICS já fazia isso

EXEC CICS LINK
     PROGRAM('CLI001')
     COMMAREA(WS-AREA)
END-EXEC

Somente os campos necessários eram enviados.

Nada de payload gigantesco.


☕ Hoje com GraphQL + DB2

Apps conseguem pedir:

cliente {
   nome
   saldo
}

E o Mainframe retorna exatamente isso.


☕🔥 SOAP — O IMPÉRIO CORPORATIVO QUE O MAINFRAME AJUDOU A CONSTRUIR

Antes do REST…

SOAP era rei absoluto.

E honestamente?

🔥 Em ambientes críticos ele ainda é extremamente forte.


☕ Por quê?

Porque SOAP entrega:

  • contratos rígidos

  • segurança avançada

  • WS-Security

  • governança

  • auditoria

  • confiabilidade


☕ O Mainframe amava isso

Porque bancos e governos PRECISAM disso.


☕ CICS Web Services

Transforma COBOL em serviço SOAP.


☕ Fluxo clássico

SOAP Request
   ↓
CICS Pipeline
   ↓
COBOL
   ↓
DB2
   ↓
SOAP Response

☕ Muitos sistemas financeiros ainda vivem disso

E continuam funcionando perfeitamente.


☕🔥 gRPC — O “RPC MODERNO” QUE O MAINFRAME JÁ CONHECIA

O mercado moderno descobriu:

  • baixa latência

  • comunicação binária

  • chamadas remotas rápidas

e chamou isso de gRPC.


☕ O Mainframe olha e responde:

“Nós já fazíamos isso.”


☕ APPC/LU6.2

Comunicação remota transacional.


☕ DPL (Distributed Program Link)

EXEC CICS LINK
     SYSID('PRD1')
END-EXEC

Programa remoto chamado como se fosse local.

Isso é praticamente:

🔥 gRPC ancestral.


☕🔥 WEBSOCKET — O MAINFRAME SEMPRE GOSTOU DE CONEXÃO PERSISTENTE

WebSocket permite:

  • comunicação bidirecional

  • conexão contínua

  • baixa latência


☕ Isso é perfeito para:

  • trading

  • PIX

  • monitoramento

  • dashboards

  • antifraude


☕ E o Mainframe?

Sempre viveu de sessões persistentes.


☕ VTAM e sessões SNA

Mantinham conexões contínuas décadas antes do WebSocket.


☕ Hoje o z/OS usa isso com:

  • APIs realtime

  • Open Banking

  • streaming financeiro

  • integração cloud


☕🔥 WEBHOOKS — O MAINFRAME SEMPRE FOI EVENT-DRIVEN

Webhook significa:

“me avise quando algo acontecer”.


☕ Parece moderno.

Mas o Mainframe vive disso desde os anos 70.


☕ MQ Triggering

Mensagem chega na fila:

MQ
 ↓
Trigger
 ↓
Programa COBOL inicia

Isso é praticamente um webhook corporativo.


☕ WTO/WTOR também

Eventos operacionais disparam ações automáticas.


☕🔥 EDA — EVENT DRIVEN ARCHITECTURE

Agora chegamos numa parte fascinante.

O mercado moderno fala de:

  • Kafka

  • Event Bus

  • Streaming

  • Async Systems

como se fosse novidade absoluta.


☕ Mas o Mainframe sempre viveu de eventos

Exemplos clássicos

  • MQ

  • CICS transient data

  • SMF

  • JES2 messages

  • RACF alerts

  • NetView automation

Tudo baseado em eventos.


☕ O Mainframe é naturalmente orientado a eventos

Porque em sistemas críticos:

🔥 reagir rápido é sobrevivência.


☕🔥 SSE — STREAMING CONTÍNUO NO DNA DO z/OS

Server-Sent Events enviam dados continuamente.


☕ O Mainframe já fazia isso há décadas

OMEGAMON

Streaming operacional contínuo.


RMF

Métricas em tempo real.


SMF

Fluxo permanente de eventos do sistema.


☕ Ambientes financeiros usam isso brutalmente

  • monitoramento

  • fraude

  • observabilidade

  • auditoria

  • analytics em tempo real


☕🔥 MQTT — O MAINFRAME ENCONTROU A IoT

MQTT domina:

  • sensores

  • IoT

  • dispositivos leves


☕ E o Mainframe?

Hoje ele processa eventos vindos de:

  • caixas eletrônicos

  • POS

  • sensores industriais

  • dispositivos bancários

  • telemetria


☕ IBM MQ facilita isso

MQTT → MQ → z/OS.


☕ O Mainframe virou cérebro central de IoT corporativa

Sim.

Isso realmente existe.


☕🔥 AMQP — O ESPÍRITO DO MQ ESTAVA NA FRENTE DO TEMPO

AMQP formalizou mensageria aberta.

Mas o IBM MQ já fazia:

  • persistência

  • roteamento

  • filas

  • entrega garantida

  • transação

há muito tempo.


☕ IBM MQ É UMA LENDA CORPORATIVA

Porque resolve algo extremamente difícil:

🔥 comunicação confiável entre sistemas gigantescos.


☕🔥 EDI — O “PROTOCOLO INVISÍVEL” QUE MOVE O COMÉRCIO MUNDIAL

Muita gente jovem nunca ouviu falar em EDI.

Mas ele ainda move:

  • logística

  • indústria

  • bancos

  • supply chain

  • varejo mundial


☕ E onde ele sempre foi fortíssimo?

👉 No Mainframe.


☕ Exemplo

Pedido eletrônico:

Empresa A
   ↓
EDI
   ↓
Mainframe
   ↓
ERP
   ↓
Faturamento

Décadas funcionando.


☕🔥 A GRANDE VERDADE QUE O MERCADO ESTÁ REDESCOBRINDO

Quanto mais o mundo cresce…

mais ele percebe que integração corporativa exige:

  • confiabilidade

  • resiliência

  • auditoria

  • governança

  • throughput

  • segurança

E isso sempre foi território natural do Mainframe.


☕🔥 O FUTURO NÃO É “MAINFRAME vs CLOUD”

Esse pensamento morreu.

O futuro é:

Cloud
  +
APIs
  +
Eventos
  +
Mainframe

☕ O IBM Z virou peça central da arquitetura híbrida

Hoje ele conversa com:

  • Kubernetes

  • OpenShift

  • AWS

  • Azure

  • Kafka

  • APIs REST

  • IA generativa

  • microsserviços

sem abandonar:

🔥 estabilidade absurda.


☕🔥 CONCLUSÃO — O MUNDO MODERNO NÃO SUBSTITUIU O MAINFRAME

Ele apenas:

começou finalmente a conversar com ele da forma correta.

REST, GraphQL, MQTT, gRPC e WebSockets não aposentaram o z/OS.

Na verdade…

🔥 eles transformaram o Mainframe no coração silencioso da integração mundial.


sábado, 9 de janeiro de 2010

🔥☕ XML: O “DINOSSAURO IMORTAL” QUE AINDA MOVE BANCOS, GOVERNOS E O MAINFRAME — A TECNOLOGIA QUE SOBREVIVEU À INTERNET, À NUVEM E AO JSON ☕🔥

 


Bellacosa Mainframe apresenta o XML

🔥☕ XML: O “DINOSSAURO IMORTAL” QUE AINDA MOVE BANCOS, GOVERNOS E O MAINFRAME — A TECNOLOGIA QUE SOBREVIVEU À INTERNET, À NUVEM E AO JSON ☕🔥

Tem tecnologia que nasce como moda.

E tem tecnologia que vira infraestrutura invisível da civilização digital.

O XML pertence ao segundo grupo.

Muita gente nova olha para XML como se fosse apenas “aquele formato verboso cheio de tags”.
Mas o programador COBOL sênior sabe de uma coisa:

👉 Quando o assunto é integração corporativa séria, rastreabilidade, contratos rígidos, padronização e interoperabilidade… o XML ainda reina em silêncio.

Enquanto startups brigavam por frameworks JavaScript…

O XML estava movimentando:

  • bancos centrais,
  • sistemas SWIFT,
  • telecomunicações,
  • ERPs,
  • SOA corporativo,
  • NF-e,
  • SOAP,
  • mensageria,
  • e toneladas de integrações no z/OS.

Sim…

O “velho XML” ainda respira dentro de milhões de transações por segundo.


☕ O NASCIMENTO DO XML — QUANDO A WEB VIROU BAGUNÇA

No começo da internet, o HTML dominava tudo.

Mas existia um problema gigantesco:

HTML servia para exibir dados.
Não para descrever dados.

Ou seja:

  • visual bonito,
  • estrutura fraca,
  • sem semântica corporativa,
  • difícil integração entre sistemas.

A indústria percebeu rapidamente:

“Precisamos de um padrão universal para troca estruturada de informações.”

Foi aí que nasceu o XML.


🔥 QUEM CRIOU O XML?

O XML foi criado por um grupo do W3C (World Wide Web Consortium).

O principal nome associado ao XML é:

🚀 Jon Bosak

Engenheiro da Sun Microsystems.

Conhecido até hoje como:

“O Pai do XML”.

Bosak liderou o Working Group responsável pela especificação.


📅 DATA OFICIAL DE LANÇAMENTO

O XML 1.0 tornou-se recomendação oficial do W3C em:

📌 10 de fevereiro de 1998

E praticamente explodiu no mercado corporativo.


💣 A IDEIA REVOLUCIONÁRIA DO XML

O XML não queria substituir HTML.

Ele queria resolver outro problema:

🔥 DAR SIGNIFICADO AOS DADOS

Exemplo:

<cliente>
<nome>Vagner Bellacosa</nome>
<conta>45892</conta>
<saldo>9500.75</saldo>
</cliente>

Agora o sistema entende:

  • o que é nome,
  • o que é conta,
  • o que é saldo,
  • e como transportar isso entre plataformas diferentes.

Isso mudou completamente a integração corporativa.


☕ O XML VIROU A “LINGUAGEM UNIVERSAL” DAS EMPRESAS

Nos anos 2000, XML virou praticamente religião corporativa.

Tudo era XML:

  • Web Services SOAP,
  • ESB,
  • integração B2B,
  • mensageria,
  • ERP,
  • telecom,
  • middleware,
  • governo eletrônico,
  • documentos fiscais.

Era o Esperanto da TI corporativa.


🚀 XML NO MAINFRAME — A FUSÃO ENTRE O LEGADO E A INTERNET

Aqui começa a parte que o programador COBOL sênior conhece profundamente.

Quando o mundo começou a falar:

  • APIs,
  • e-business,
  • internet banking,
  • SOA,
  • integração distribuída,

o mainframe precisava conversar com o planeta.

E o XML virou a ponte.


🔥 O DIA EM QUE O COBOL COMEÇOU A “FALAR INTERNET”

A IBM integrou XML ao ecossistema z/OS de várias formas:

  • CICS Web Services
  • IMS Connect
  • MQ
  • SOAP Services
  • DB2 XML
  • z/OS Connect
  • Enterprise COBOL XML PARSE
  • XML GENERATE

De repente:

👉 programas COBOL passaram a consumir e gerar XML nativamente.


☕ EXEMPLO REAL EM COBOL — XML GENERATE

Gerando XML diretamente do COBOL

IDENTIFICATION DIVISION.
PROGRAM-ID. XMLTEST.

DATA DIVISION.
WORKING-STORAGE SECTION.

01 CLIENTE.
05 NOME PIC X(20) VALUE 'BELLACOSA'.
05 CONTA PIC 9(6) VALUE 123456.
05 SALDO PIC 9(5)V99 VALUE 150075.

01 XML-SAIDA PIC X(500).

PROCEDURE DIVISION.

XML GENERATE XML-SAIDA
FROM CLIENTE

DISPLAY XML-SAIDA.

STOP RUN.

Resultado aproximado:

<CLIENTE>
<NOME>BELLACOSA</NOME>
<CONTA>123456</CONTA>
<SALDO>1500.75</SALDO>
</CLIENTE>

Sim…

O COBOL virou produtor de XML sem precisar reinventar parser manual.


💣 XML PARSE — QUANDO O COBOL COMEÇOU A ENTENDER TAGS

Depois veio o:

XML PARSE

Agora o COBOL conseguia interpretar XML de entrada.

Isso foi revolucionário.

O legado deixou de ser “isolado”.

O mainframe passou a:

  • consumir serviços externos,
  • receber payloads SOAP,
  • integrar ERPs,
  • conversar com Java,
  • integrar aplicações distribuídas.

🚀 XML E O IMPÉRIO DO SOAP

Antes do REST dominar o hype…

SOAP era o rei absoluto das integrações corporativas.

E SOAP é baseado em XML.

Exemplo:

<soap:Envelope>
<soap:Body>
<consultaSaldo>
<conta>123456</conta>
</consultaSaldo>
</soap:Body>
</soap:Envelope>

Milhões de transações bancárias ainda usam isso HOJE.


☕ O XML É “VERBOSO”? SIM. E ISSO É DE PROPÓSITO.

A nova geração reclama:

“XML é grande demais.”

Mas existe um motivo.

O XML foi criado pensando em:

  • legibilidade,
  • validação,
  • governança,
  • auditoria,
  • contratos formais,
  • interoperabilidade corporativa.

Ele privilegia:

clareza acima da compactação.


🔥 VANTAGENS DO XML

🚀 Estrutura rígida

Excelente para ambientes críticos.


🚀 Auto descritivo

Os dados explicam a si mesmos.


🚀 Padronização mundial

Quase toda plataforma suporta XML.


🚀 Extensível

Você cria suas próprias tags.


🚀 Forte validação

Com:

  • DTD
  • XSD Schema

🚀 Excelente para integração corporativa

Principalmente em ambientes heterogêneos.


💣 DESVANTAGENS DO XML

⚠️ Verbosidade

Arquivos grandes.


⚠️ Parsing pesado

Consome CPU e memória.


⚠️ Mais lento que JSON

Especialmente em APIs modernas.


⚠️ Complexidade

Schemas gigantes podem virar monstros corporativos.


☕ O JSON “MATOU” O XML?

Não.

Ele apenas ocupou outro espaço.

JSON venceu:

  • mobile,
  • microservices,
  • front-end,
  • APIs leves.

Mas XML continua fortíssimo em:

  • bancos,
  • telecom,
  • governo,
  • seguros,
  • sistemas críticos,
  • integrações legadas,
  • contratos corporativos.

🚀 CURIOSIDADES QUE MUITA GENTE NÃO SABE

🔥 XML influenciou profundamente o mundo moderno

Muitas tecnologias nasceram em cima dele:

  • SOAP
  • WSDL
  • XSLT
  • SVG
  • RSS
  • XHTML
  • Office Open XML

🔥 DOCX É XML

Sim.

Um arquivo Word moderno:

.docx

na verdade é:

  • um ZIP
  • cheio de XMLs internos.

🔥 Excel também usa XML

O formato XLSX é praticamente XML compactado.


🔥 Android usa XML em layouts

Até hoje.


💣 EASTER EGG HISTÓRICO

O nome XML significa:

eXtensible Markup Language

Mas internamente, muitos engenheiros brincavam dizendo:

“XML = eXtremely Much Language”

por causa da verbosidade absurda.


☕ XML NO DB2 — O BANCO RELACIONAL VIROU HÍBRIDO

O DB2 introduziu suporte nativo XML.

Isso foi gigantesco.

Agora era possível:

  • armazenar XML puro,
  • indexar XML,
  • consultar XML com XPath/XQuery,
  • misturar SQL relacional com dados hierárquicos.

O banco relacional começou a absorver características semiestruturadas.

Muito antes do hype NoSQL.


🚀 XML E O z/OS CONNECT

Hoje o z/OS Connect traduz:

  • REST ⇄ COBOL
  • JSON ⇄ estruturas legadas

Mas internamente muitos ambientes ainda convertem:

  • XML,
  • SOAP,
  • payloads corporativos.

O XML continua sendo peça fundamental da integração enterprise.


🔥 O GRANDE PARADOXO DO XML

Todo mundo fala que XML morreu.

Mas:

  • bancos continuam usando,
  • governos continuam usando,
  • seguradoras continuam usando,
  • o mainframe continua usando,
  • middleware continua usando.

É o típico caso da tecnologia invisível:

quanto mais crítica ela é…

menos as pessoas percebem que ela existe.


☕ CONCLUSÃO — O XML NÃO É MODA. É INFRAESTRUTURA.

O programador COBOL sênior entende algo que o mercado esquece rápido:

👉 tecnologia corporativa não vive de hype.

Ela vive de:

  • estabilidade,
  • compatibilidade,
  • governança,
  • previsibilidade,
  • integração,
  • longevidade.

E nisso…

o XML virou praticamente aço estrutural da computação enterprise.

Enquanto frameworks nascem e morrem em dois anos…

o XML segue silenciosamente:

  • integrando continentes,
  • movendo trilhões,
  • conectando sistemas críticos,
  • e mantendo o mainframe conversando com o mundo moderno.

🔥 Porque no fim…

o XML nunca quis ser “cool”.

Ele queria ser eterno.

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