Translate

Mostrar mensagens com a etiqueta IBM MQ. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta IBM MQ. Mostrar todas as mensagens

sábado, 23 de maio de 2026

☕🔥 “O SEGREDO SUJO DA PERFORMANCE NO MAINFRAME” — POR QUE CACHE VALE MAIS QUE CPU NO MUNDO COBOL/CICS

 

Bellacosa Mainframe e a alta performance no mainframe

☕🔥 “O SEGREDO SUJO DA PERFORMANCE NO MAINFRAME” — POR QUE CACHE VALE MAIS QUE CPU NO MUNDO COBOL/CICS

Quando alguém fala em performance, a maioria pensa imediatamente em:

  • CPU,

  • MIPS,

  • zIIP,

  • upgrade de hardware.

Mas no mundo IBM Mainframe existe uma verdade brutal:

☕ O MAIOR INIMIGO DA PERFORMANCE É O I/O.

E por isso:

CACHE É UMA DAS COISAS MAIS IMPORTANTES DO UNIVERSO z/OS.

A imagem mostra 9 estratégias modernas de caching.

Agora vamos traduzir isso para:

  • COBOL,

  • CICS,

  • DB2,

  • VSAM,

  • MQ,

  • Batch,

  • Sysplex,

no puro estilo Bellacosa Mainframe.


☕ 1. CACHE-ASIDE — “BUSQUE SÓ QUANDO PRECISAR”

Na imagem:

  • aplicação procura primeiro no cache,

  • se não encontrar, busca no banco.


🔥 Isso é praticamente a filosofia clássica do CICS

Exemplo:

Programa COBOL/CICS

EXEC CICS READQ TS
END-EXEC.

Se o dado:

  • já estiver em TSQ,

  • COMMAREA,

  • ou memória temporária,

não precisa acessar:

  • DB2,

  • VSAM,

  • disco físico.


☕ Exemplo real

Consulta de cliente VIP:

  • primeira busca → DB2,

  • próximas buscas → memória CICS.


🔥 Resultado

Menos:

  • EXCP,

  • lock,

  • espera,

  • canal I/O.

Mais:

  • TPS,

  • resposta rápida,

  • estabilidade.


☕ 2. READ-THROUGH — “O CACHE BUSCA AUTOMATICAMENTE”


🔥 No mainframe isso aparece muito em DB2 Buffer Pool

O programa COBOL:

nem sabe se o dado veio da memória ou do disco

O DB2 decide.


☕ Fluxo real

SELECT → Buffer Pool → se miss → DASD

🔥 O detalhe importante

Boa parte da má performance em DB2:

NÃO é SQL ruim

mas:

  • buffer pool inadequado,

  • hit ratio baixo,

  • excesso de I/O físico.


☕ Frase clássica de performance analyst

“Seu SELECT talvez esteja ótimo.

Seu disco é que está sofrendo.”


☕ 3. WRITE-THROUGH — “GRAVAR NO CACHE E NO BANCO AO MESMO TEMPO”


🔥 Aqui entra o lado paranoico do mainframe

O IBM Z odeia inconsistência.


☕ Exemplo bancário

PIX:

  • atualiza saldo,

  • atualiza log,

  • atualiza auditoria,

  • confirma persistência.

Tudo sincronizado.


☕ No DB2 isso lembra:

  • commit controlado,

  • logging,

  • buffer synchronization.


🔥 Benefício

Maior consistência.


☕ Problema

Mais latência.


🔥 Mainframe frequentemente escolhe:

CONSISTÊNCIA > VELOCIDADE

porque banco prefere:

“mais lento”

a:

“saldo corrompido”.

☕ 4. WRITE-BEHIND (WRITE-BACK) — “GRAVA DEPOIS”


🔥 Estratégia perigosamente poderosa

Primeiro:

  • grava em memória,

  • depois persiste assíncrono.


☕ No Mainframe aparece em:

  • buffers VSAM,

  • deferred write,

  • MQ persistence strategies,

  • DFSORT spill optimization.


☕ Benefício monstruoso

Reduz I/O físico.


🔥 Risco brutal

Se houver falha antes da persistência:

dado pode sumir.


☕ Por isso no mundo financeiro:

  • write-back é cuidadosamente controlado,

  • logging vira obrigatório,

  • recovery é crítico.


☕ 5. REFRESH-AHEAD — “ATUALIZE ANTES DE EXPIRAR”


🔥 Mainframe faz isso há décadas

Exemplo:

DB2 Prefetch

O sistema prevê páginas futuras.


☕ Outro exemplo

Batch COBOL:

  • pré-carrega tabelas,

  • carrega parâmetros em memória,

  • evita lookup repetitivo.


🔥 Filosofia do z/OS

“Se você SABE que vai precisar…

carregue antes.”


☕ 6. INVALIDATION — “JOGUE FORA O QUE FICOU VELHO”


🔥 Aqui mora um dos maiores pesadelos corporativos

DADO STALE


☕ Exemplo real

Usuário altera endereço.

Mas:

  • cache ainda possui dado antigo.

Resultado:

  • sistema A mostra endereço novo,

  • sistema B mostra antigo.


🔥 No Mainframe isso é gravíssimo

Porque:

  • múltiplos sistemas compartilham informação,

  • inconsistência pode virar problema legal.


☕ Técnicas usadas

  • cache invalidation,

  • commit synchronization,

  • DB2 coherency,

  • Sysplex cache coherence.


☕ 7. CACHE WARMING — “ESQUENTAR O CACHE”


🔥 Todo operador experiente conhece isso

Após IPL:

  • tudo está “frio”.


☕ Resultado clássico

Primeiros minutos:

  • I/O explode,

  • disco sofre,

  • response time piora.


🔥 Então muitos ambientes:

  • executam jobs de preload,

  • aquecem buffer pools,

  • pré-carregam tabelas críticas.


☕ Exemplo Bellacosa

Banco antes da abertura:

pré-carrega contas mais acessadas.

☕ 8. CACHE SHARDING — “DIVIDIR O CACHE”


🔥 Aqui entra Parallel Sysplex

Vários nós:

  • compartilham workload,

  • dividem memória,

  • reduzem contenção.


☕ Exemplo real

Cada região CICS:

  • mantém cache local,

  • mas sincroniza estado global.


🔥 Benefício

Escalabilidade monstruosa.


☕ Desafio

Coerência.


🔥 Porque o pesadelo é:

nó A sabe algo
nó B não sabe

☕ 9. TTL (TIME TO LIVE) — “TUDO TEM PRAZO DE VALIDADE”


🔥 No Mainframe isso é filosofia operacional

Nem todo dado pode viver eternamente no cache.


☕ Exemplos

Taxa de câmbio

TTL pequeno.


Tabela de estados brasileiros

TTL enorme.


🔥 O segredo

Equilibrar:

  • frescor,

  • performance,

  • consistência.


☕ O ERRO CLÁSSICO DOS INICIANTES

Pensar:

“Mais cache = sempre melhor”

🔥 NÃO.

Cache ruim pode gerar:

  • inconsistência,

  • stale data,

  • contenção,

  • explosão de memória,

  • recovery complexo.


☕ O QUE O MAINFRAME ENSINA SOBRE CACHE

Cache não é só velocidade.

É:

  • engenharia de previsibilidade,

  • redução de I/O,

  • estabilidade operacional,

  • proteção contra gargalos.


🔥 Porque no IBM Z:

DISCO É O INIMIGO NATURAL DA PERFORMANCE.


☕ RESUMO BELLACOSA MAINFRAME

EstratégiaNo IBM Mainframe
Cache-AsideTSQ/COMMAREA/lookup local
Read-ThroughDB2 Buffer Pool
Write-ThroughCommit síncrono
Write-BehindDeferred write
Refresh-AheadPrefetch
InvalidationCache coherency
Cache WarmingPreload pós IPL
Cache ShardingSysplex distribution
TTLExpiração controlada

☕🔥 Frase final no estilo Bellacosa Mainframe

“Muita gente acha que Mainframe é rápido por causa da CPU.

Veterano de z/OS sabe:

o segredo quase sempre está em evitar I/O.”

 

segunda-feira, 29 de dezembro de 2025

💥 MQ NÃO É FILA — É O SEGURO DE VIDA DO SEU COBOL

 

Bellacosa Mainframe conheça MQ 

💥 MQ NÃO É FILA — É O SEGURO DE VIDA DO SEU COBOL

O guia definitivo de IBM MQ Fundamentals para quem vive no z/OS

Se você é um dev COBOL experiente, já sabe:
👉 o problema nunca foi o código…
👉 o problema sempre foi integração.

E é exatamente aí que entra o IBM MQ — o componente que transformou o mainframe de “ilha isolada” em coração da arquitetura moderna.


🕰️ ORIGEM — POR QUE O MQ EXISTE?

Antes do MQ:

  • Sistemas conversavam via sockets, arquivos, chamadas diretas
  • Tudo era síncrono
  • Se o destino caía → 💥 tudo quebrava

👉 A IBM criou o MQ (antigo WebSphere MQ) para resolver:

✔ Desacoplamento
✔ Confiabilidade
✔ Escalabilidade
✔ Integração heterogênea

💡 Tradução Bellacosa:

“MQ nasceu para impedir que um sistema derrube o outro.”


🧠 CONCEITO CENTRAL (O QUE MUDA TUDO)

👉 Aplicações não se falam diretamente

Elas falam com filas.


📦 MODELO MENTAL

COBOL A → MQ → COBOL B

✔ A envia
✔ MQ guarda
✔ B consome

👉 Simples… e revolucionário


💥 O TRIO QUE VOCÊ NUNCA ESQUECE

ConceitoPapel
MessageUnidade de dados
QueueArmazenamento
Queue ManagerCérebro

🧠 FRASE DE OURO

“Sem Queue Manager… não existe MQ.”


⚙️ COMO ISSO FUNCIONA (PASSO A PASSO REAL)

🔹 1. Aplicação COBOL envia mensagem

CALL 'MQPUT' USING ...

👉 Não importa:

  • Se o destino está online
  • Onde ele está
  • Qual linguagem usa

🔹 2. MQ armazena na fila

✔ Persistente (disco)
✔ Seguro
✔ Ordenado


🔹 3. Outra aplicação consome

CALL 'MQGET' USING ...

👉 Pode ser:

  • COBOL
  • Java
  • .NET
  • SAP

🔄 ASSÍNCRONO — O PODER REAL

👉 Diferente de CICS sync:

✔ Envia → continua
✔ Não bloqueia
✔ Alta performance

💡 Isso muda tudo em batch + online


💾 PERSISTENT vs NON-PERSISTENT

🔥 Persistent

✔ Gravado em disco
✔ Não perde
✔ Entrega garantida

👉 Use em:

  • Financeiro
  • Débito
  • Liquidação

⚡ Non-persistent

✔ Mais rápido
❌ Pode perder

👉 Use em:

  • Consulta
  • Logs
  • Eventos leves

🔄 UOW — TRANSAÇÃO DE VERDADE

👉 Unit of Work = grupo de mensagens

✔ Tudo ou nada

💡 Exemplo:

  • 4 mensagens
  • 1 falha

👉 MQ faz rollback de todas


💀 DLQ — DEAD LETTER QUEUE

👉 Quando dá ruim:

✔ Mensagem vai para DLQ
✔ Com motivo + código

💡 Easter egg de produção:

DLQ cheia = sistema gritando socorro


🔐 SEGURANÇA (NÍVEL ENTERPRISE)

🧠 OAM (Object Authority Manager)

✔ Controla acesso
✔ Quem pode PUT/GET


🔒 SSL / TLS

✔ Criptografia
✔ Autenticação


🔄 CONVERSÃO DE DADOS (A MÁGICA)

👉 COBOL (EBCDIC) ↔ Java (ASCII)

✔ MQ converte automaticamente

💡 Você nem vê acontecer


⚙️ CUSTOM CONVERSION

👉 Quer regra própria?

✔ Use exits

💡 Muito usado em legado


🧩 PADRÕES DE ARQUITETURA (OURO)


📦 Point-to-Point

✔ 1 → 1
✔ Request/Reply

👉 Clássico COBOL ↔ COBOL


💻 Client/Server

✔ Muitos → 1

👉 Centralização (ex: core bancário)


⚖️ Workload Sharing

✔ 1 fila → vários consumidores

👉 Paralelismo brutal

💡 Padrão:

Competing Consumers


📡 Publish/Subscribe

✔ 1 → muitos
✔ Desacoplado

👉 Base de Event-Driven Architecture


💣 PEGADINHAS QUE DERRUBAM SENIOR

❌ MQ é síncrono → ERRADO
❌ Aplicações se conectam direto → ERRADO
❌ Remote queue armazena mensagem → ERRADO
❌ MQ garante non-persistent → ERRADO


🧠 CENÁRIO REAL (BANCO)

👉 Fluxo típico:

  1. COBOL envia transação (MQPUT)
  2. MQ armazena (persistent)
  3. Workers processam (workload)
  4. Evento dispara (pub/sub)

💥 Tudo via MQ


🔥 CURIOSIDADES (EASTER EGGS)

  • MQ existe desde os anos 90 e ainda domina bancos
  • DLQ handler pode automatizar correções
  • MQ roda em:
    • z/OS
    • Linux
    • Windows
  • Pode transportar até 100MB por mensagem

💥 FRASES QUE DEFINEM MQ

“MQ desacopla no tempo, no espaço e na tecnologia.”

“Se caiu, MQ segura. Se voltou, MQ entrega.”

“COBOL não morreu… ele só ganhou MQ.”


🚀 CONCLUSÃO

Se você domina MQ:

✔ Seus sistemas não quebram fácil
✔ Integração deixa de ser dor
✔ Você pensa como arquiteto


💣 VERDADE FINAL

“MQ não é só middleware…
é o que separa sistemas frágeis de sistemas resilientes.”

 

sexta-feira, 28 de fevereiro de 2020

☕🔥 “A ARQUITETURA QUE SEGURA O MUNDO” — OS 12 CONCEITOS QUE TODO PROFISSIONAL MAINFRAME USA… MESMO SEM PERCEBER

 

Bellacosa Mainframe e 12 conceitos importante para a arquitetura mainframe

☕🔥 “A ARQUITETURA QUE SEGURA O MUNDO” — OS 12 CONCEITOS QUE TODO PROFISSIONAL MAINFRAME USA… MESMO SEM PERCEBER

Quando alguém fala de:

  • microservices,

  • cloud-native,

  • autoscaling,

  • API Gateway,

  • event-driven,

  • sharding,

  • caching,

muita gente imagina:

“Kubernetes inventou isso.”

Mas aqui vem a verdade que pouca gente gosta de admitir:

☕ O MAINFRAME JÁ RESOLVIA MUITOS DESSES PROBLEMAS HÁ DÉCADAS.

Só que com outros nomes.

E frequentemente:

  • mais estabilidade,

  • mais previsibilidade,

  • mais segurança,

  • e MUITO menos caos operacional.

A imagem mostra 12 conceitos modernos de arquitetura.

Agora vamos traduzir isso para:

☕ IBM Z / zOS / COBOL / CICS / DB2 / MQ / Sysplex no estilo Bellacosa Mainframe.


☕ 1. LOAD BALANCING — “DIVIDIR A PRESSÃO ANTES DO COLAPSO”

No mundo distribuído:

  • Load Balancer distribui tráfego entre servidores.

No Mainframe:

WLM + Sysplex fazem isso há MUITO tempo.


🔥 Exemplo real

Você possui:

  • 4 regiões CICS,

  • milhares de TPS,

  • milhões de usuários.

O Workload Manager:

  • distribui carga,

  • evita gargalo,

  • prioriza serviços críticos.


☕ O detalhe brutal

Na cloud:

Load Balancer frequentemente é “reativo”.

No z/OS:

WLM é orientado por política de negócio.

O sistema entende:

  • prioridade,

  • SLA,

  • criticidade,

  • classe de serviço.

Isso é absurdamente sofisticado.


☕ 2. CACHING — “NÃO BUSQUE DUAS VEZES O QUE JÁ ESTÁ NA MEMÓRIA”


🔥 Mainframe vive de cache

O IBM Z inteiro é obcecado por minimizar I/O.

Porque:

DISCO É CARO EM TEMPO


☕ Exemplos reais

DB2 Buffer Pool

Páginas ficam em memória.


VSAM Buffering

Evita leitura física excessiva.


CICS TSQ/Temporary Storage

Dados temporários rápidos.


Hiperspace / Dataspaces

Memória expandida ultra rápida.


🔥 O mantra do performance analyst

“Se foi ao disco demais…

já perdeu.”


☕ 3. CDN — CONTENT DELIVERY NETWORK

À primeira vista parece “coisa web”.

Mas no mainframe existe conceito parecido.


☕ No IBM Z isso aparece como:

  • replicação geográfica,

  • GDPS,

  • Sysplex Distributor,

  • caching distribuído,

  • data locality.


🔥 Exemplo bancário

Uma consulta:

  • não precisa cruzar o país inteiro,

  • pode ser atendida por nó mais próximo,

  • reduzindo latência.


☕ Filosofia importante

O Mainframe sempre entendeu:

mover dado custa caro.


☕ 4. MESSAGE QUEUE — “O SEGREDO DA DESCOPLAGEM”

Aqui entramos numa das áreas mais poderosas do IBM Z.


🔥 IBM MQ é praticamente o sistema nervoso corporativo

Ele desacopla aplicações.


☕ Exemplo clássico

Sistema A:

gera pagamento

Sistema B:

processa fraude

Sistema C:

envia PIX

Tudo via fila.


☕ O benefício monstruoso

Se um sistema cai:

  • mensagem continua na fila,

  • processamento continua depois,

  • nada se perde.


🔥 O mainframe odeia perda de transação

Esse é um ponto cultural importante.


☕ 5. PUBLISH/SUBSCRIBE — EVENT DRIVEN ANTES DA MODA


🔥 O mundo moderno chama:

event-driven architecture

O mainframe chama há décadas de:

  • MQ Pub/Sub,

  • eventos CICS,

  • triggers,

  • integração assíncrona.


☕ Exemplo real

Quando uma compra é aprovada:

  • antifraude recebe evento,

  • CRM recebe evento,

  • analytics recebe evento,

  • billing recebe evento.

Tudo desacoplado.


☕ 6. API GATEWAY — “A PORTA DE ENTRADA DO LEGADO”

Muita gente pensa:

“COBOL não fala REST.”

Erro clássico.


🔥 Hoje o Mainframe expõe:

  • REST APIs,

  • JSON,

  • SOAP,

  • GraphQL integration,

  • OpenAPI.


☕ Ferramentas

  • z/OS Connect

  • CICS Web Services

  • API Connect

  • MQ REST bridge


☕ O segredo

O COBOL continua fazendo:

  • regra de negócio,

  • consistência,

  • transação ACID.

A API só traduz o mundo externo.


☕ 7. CIRCUIT BREAKER — “EVITAR EFEITO CASCATA”


🔥 O Mainframe sempre teve paranoia com disponibilidade

Porque downtime custa milhões.


☕ Exemplo prático

Se DB2 degrada:

  • CICS pode limitar requests,

  • workload é redirecionado,

  • regiões são isoladas.


☕ Resultado

O problema não destrói o ecossistema inteiro.


🔥 Filosofia do z/OS

“Falha controlada é melhor que colapso generalizado.”


☕ 8. SERVICE DISCOVERY — “ENCONTRAR O SERVIÇO CERTO”

No cloud:

  • Kubernetes,

  • Consul,

  • Eureka.

No mainframe:

  • VTAM,

  • TCP/IP stacks,

  • CICSPlex SM,

  • Sysplex Distributor.


☕ O sistema descobre:

  • onde está a região disponível,

  • qual nó está saudável,

  • quem responde mais rápido.


☕ 9. SHARDING — “DIVIDIR O GIGANTE”


🔥 Mainframe já fazia particionamento gigantesco

Muito antes do hype NoSQL.


☕ Exemplos

DB2 Partitioning

Tabela gigantesca dividida.


VSAM split

Segmentação de dados.


GDG distribution

Separação temporal.


☕ Objetivo

  • reduzir contenção,

  • aumentar paralelismo,

  • melhorar throughput.


☕ 10. RATE LIMITING — “CONTROLAR O CAOS”


🔥 Mainframe é obcecado por governança

Você NÃO deixa qualquer workload destruir o ambiente.


☕ Exemplos reais

WLM

Controla prioridade.


CICS MAXTASK

Limita tasks simultâneas.


DB2 Thread Limits

Evita explosão de conexão.


MQ Queue Depth

Controla saturação.


☕ Resultado

O sistema continua respirando sob pressão.


☕ 11. CONSISTENT HASHING — “DISTRIBUIÇÃO INTELIGENTE”


🔥 Aqui aparece no:

  • Parallel Sysplex,

  • DB2 data sharing,

  • cache distribution,

  • workload routing.


☕ Objetivo

Distribuir carga:

  • sem destruir consistência,

  • sem mover tudo,

  • sem gerar caos.


☕ 12. AUTO SCALING — “O MAINFRAME ESCALA DIFERENTE”

Na cloud:

sobe VM

No Mainframe:

  • ativa engines,

  • redistribui workload,

  • muda prioridade,

  • usa Capacity on Demand,

  • explora Sysplex.


🔥 O detalhe mais impressionante

O IBM Z consegue crescer:

SEM PARAR O BANCO

Isso é engenharia absurda.


☕ O QUE O MAINFRAME ENSINA SOBRE ARQUITETURA

A cloud moderna popularizou vários conceitos.

Mas o IBM Z já conhecia muitos deles:

  • em escala gigantesca,

  • com confiabilidade extrema,

  • em ambientes mission critical.


🔥 O erro de muita gente

Pensar que:

Mainframe = tecnologia antiga

quando na prática:

Mainframe = engenharia corporativa refinada por décadas de guerra operacional.

☕ RESUMO BELLACOSA MAINFRAME

ConceitoNo IBM Mainframe
Load BalancingWLM + Sysplex
CachingBuffer Pools + VSAM Buffers
CDNDistribuição geográfica/Sysplex
Message QueueIBM MQ
Publish/SubscribeEvent-driven corporativo
API Gatewayz/OS Connect + CICS
Circuit BreakerIsolamento operacional
Service DiscoveryCICSPlex + Sysplex
ShardingDB2 partitioning
Rate LimitingWLM + MAXTASK
Consistent HashingDistribuição de workload
Auto ScalingCapacity on Demand

☕🔥 Frase final no estilo Bellacosa Mainframe

“A cloud reinventou vários conceitos.

O Mainframe apenas ficou quieto…

porque já fazia isso desde o século passado.”

 

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.


terça-feira, 9 de junho de 2015

☕🔥 LABORATÓRIO PRÁTICO — IBM Integration Bus (Broker) Integrando COBOL/MQ com JSON REST

 

Bellacosa Mainframe e o laboratorio de ibm integration bus (broker)


☕🔥 LABORATÓRIO PRÁTICO — IBM Integration Bus (Broker) Integrando COBOL/MQ com JSON REST

Este laboratório simula um cenário REAL de mercado:

Um sistema COBOL no mainframe envia uma mensagem MQ em formato legado, e o IBM Integration Bus (IIB/ACE) transforma tudo em JSON para APIs modernas.

Você aprenderá:

✅ fluxo completo
✅ MQ Input
✅ transformação EBCDIC/Copybook → JSON
✅ ESQL
✅ Message Flow
✅ deploy
✅ testes
✅ troubleshooting


🎯 CENÁRIO DO LAB

Sistema legado (Mainframe)

Envia:

000123JOAO      0000500

Formato:

  • posição fixa

  • padrão COBOL

  • MQ


Broker/IIB/ACE

Recebe:

  • MQ Queue

Transforma:

  • fixed length

  • copybook lógico

  • JSON

Entrega:

  • API REST

  • ou outra fila MQ


🏗️ ARQUITETURA

COBOL Batch/CICS
       ↓
     IBM MQ
       ↓
 MQINPUT NODE
       ↓
 COMPUTE NODE (ESQL)
       ↓
 JSON OUTPUT
       ↓
HTTP/MQ/API

📦 PASSO 1 — PREPARAR O AMBIENTE

Você precisará:

ComponenteFunção
IBM MQMensageria
IBM ACE/IIBIntegração
ToolkitDesenvolvimento
Queue ManagerFilas
MQ ExplorerAdministração

📌 FILAS DO LAB

Entrada

LAB.INPUT

Saída

LAB.OUTPUT

⚙️ PASSO 2 — CRIAR AS FILAS MQ

Script MQSC

DEFINE QLOCAL(LAB.INPUT)
DEFINE QLOCAL(LAB.OUTPUT)

▶️ EXECUTAR

Linux:

runmqsc QM1 < filas.mqsc

Windows:

runmqsc QM1

Cole os comandos.


🔥 PASSO 3 — CRIAR O PROJETO NO ACE TOOLKIT

Novo Application

File → New → Application

Nome:

LAB_MAINFRAME_JSON

🔥 PASSO 4 — CRIAR MESSAGE FLOW

Novo Message Flow

MF_MAINFRAME_JSON

🧩 PASSO 5 — ADICIONAR NODES

Arraste:

NodeFunção
MQInputReceber MQ
ComputeTransformar
MQOutputEnviar saída

🔗 CONECTAR

MQInput → Compute → MQOutput

⚙️ PASSO 6 — CONFIGURAR MQINPUT

Queue Name

LAB.INPUT

Queue Manager

QM1

⚙️ PASSO 7 — CONFIGURAR MQOUTPUT

Queue

LAB.OUTPUT

🧠 PASSO 8 — CRIAR O ESQL

Compute Node

Clique:

Open ESQL

✨ CÓDIGO COMPLETO

CREATE COMPUTE MODULE MAINFRAME_TO_JSON

CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN

    DECLARE MSG CHAR;
    
    SET MSG = CAST(InputRoot.BLOB.BLOB AS CHAR CCSID 1208);

    DECLARE CONTA CHAR;
    DECLARE NOME  CHAR;
    DECLARE SALDO CHAR;

    SET CONTA = SUBSTRING(MSG FROM 1 FOR 6);
    SET NOME  = TRIM(SUBSTRING(MSG FROM 7 FOR 10));
    SET SALDO = SUBSTRING(MSG FROM 17 FOR 7);

    CREATE FIELD OutputRoot.JSON.Data;

    SET OutputRoot.JSON.Data.conta = CONTA;
    SET OutputRoot.JSON.Data.nome  = NOME;
    SET OutputRoot.JSON.Data.saldo = CAST(SALDO AS INTEGER);

    RETURN TRUE;

END;

END MODULE;

🧠 O QUE ESSE ESQL FAZ?


📌 PASSO A PASSO DA LÓGICA

1️⃣ Recebe o BLOB MQ

SET MSG = CAST(InputRoot.BLOB.BLOB AS CHAR CCSID 1208);

Converte:

  • bytes MQ

  • para texto


2️⃣ Extrai os campos

Conta

SET CONTA = SUBSTRING(MSG FROM 1 FOR 6);

Pega:

000123

Nome

SET NOME = TRIM(SUBSTRING(MSG FROM 7 FOR 10));

Pega:

JOAO

Saldo

SET SALDO = SUBSTRING(MSG FROM 17 FOR 7);

Pega:

0000500

📌 MONTA JSON

SET OutputRoot.JSON.Data.conta = CONTA;

Cria:

{
  "conta": "000123"
}

🚀 RESULTADO FINAL

Mensagem saída:

{
  "conta": "000123",
  "nome": "JOAO",
  "saldo": 500
}

🔥 PASSO 9 — DEPLOY

Clique direito

Deploy → Integration Server

📦 PASSO 10 — TESTAR

Enviar MQ Message

Use:

amqsput LAB.INPUT QM1

Digite:

000123JOAO      0000500

ENTER
ENTER novamente.


📥 VERIFICAR SAÍDA

amqsget LAB.OUTPUT QM1

🎉 RESULTADO

{
  "conta":"000123",
  "nome":"JOAO",
  "saldo":500
}

🔥 O QUE VOCÊ APRENDEU AQUI?

Você criou:

✅ integração real
✅ transformação legado → moderno
✅ parsing de layout COBOL
✅ transformação JSON
✅ fluxo MQ
✅ ESQL
✅ Message Flow


🧠 CENÁRIOS REAIS DE MERCADO

Esse padrão é MUITO usado para:

LegadoModerno
COBOLAPI REST
VSAMJSON
CICSCloud
MQKafka
DB2Microservices

🚨 PROBLEMAS COMUNS

❌ CCSID errado

Erro clássico:

caracteres estranhos

Solução:

  • validar UTF-8

  • EBCDIC

  • CCSID MQ


❌ Campo deslocado

Exemplo:

JOAO indo para saldo

Problema:

  • posições incorretas


❌ JSON vazio

Problema:

  • OutputRoot errado


❌ MQInput não lê

Verificar:

  • queue manager

  • channel

  • listener

  • permissões


🔥 LAB AVANÇADO (PRÓXIMOS PASSOS)

Você pode evoluir para:

✅ Copybook COBOL real
✅ XMLNSC
✅ SOAP
✅ REST API
✅ Kafka
✅ integração DB2
✅ CICS Web Services
✅ SAP IDoc
✅ HTTPS OAuth2
✅ JWT
✅ transformação XML ↔ JSON


🏆 DESAFIO EXTRA

Transforme este layout:

000123JOAO      00005000000100SP

Em:

{
  "conta":123,
  "nome":"JOAO",
  "saldo":500,
  "agencia":100,
  "estado":"SP"
}

☕🔥 CONCLUSÃO

Esse laboratório mostra exatamente:

como o IBM Integration Bus/ACE virou a ponte entre o mundo COBOL/mainframe e o universo APIs/cloud.

É literalmente:

✅ legado falando moderno
✅ MQ falando REST
✅ EBCDIC falando JSON
✅ mainframe conectado ao futuro 🚀


quinta-feira, 14 de maio de 2015

☕🔥 IBM Integration Bus (Broker) no Mainframe — O “Tradutor Universal” dos Sistemas Corporativos

Bellacosa Mainframe e o IBM Integration Bus (Broker)


 ☕🔥 IBM Integration Bus (Broker) no Mainframe — O “Tradutor Universal” dos Sistemas Corporativos

Quando alguém fala em Integration Bus, Broker, Message Broker ou até no antigo MQSeries Integrator… estamos falando de uma das tecnologias mais importantes da integração corporativa moderna.

E no mundo mainframe isso teve — e ainda tem — um impacto gigantesco.


📌 O QUE É O INTEGRATION BUS (BROKER)?

De forma simples:

O IBM Integration Bus (IIB) é um middleware de integração criado pela IBM para:

  • conectar sistemas diferentes

  • transformar dados

  • rotear mensagens

  • integrar aplicações legadas e modernas

  • fazer “sistemas conversarem”

Ele funciona como um:

✅ tradutor
✅ roteador
✅ orquestrador
✅ mediador
✅ transformador de protocolos


📜 EVOLUÇÃO HISTÓRICA

A IBM mudou o nome várias vezes:

NomeÉpoca
MQSeries Integratoranos 90
WebSphere Message Broker (WMB)anos 2000
IBM Integration Bus (IIB)2010+
IBM App Connect Enterprise (ACE)atual

Muita gente no mercado ainda chama tudo de:

👉 “Broker”

Porque o nome ficou eternizado no ambiente corporativo.


🧠 O PROBLEMA QUE ELE RESOLVE

Imagine isso:

Sistema A

Mainframe COBOL
fala:

  • EBCDIC

  • Copybook COBOL

  • MQ

Sistema B

Java/Linux
fala:

  • JSON

  • REST

  • UTF-8

Sistema C

SAP
fala:

  • IDoc

  • XML

Sistema D

Cloud/API
fala:

  • HTTPS

  • OAuth

  • SOAP/REST

Sem um barramento de integração…

🔥 vira caos.

Cada sistema teria que entender diretamente todos os outros.


🎯 O BROKER ENTRA COMO INTERMEDIÁRIO

Ele recebe dados de um lado e entrega no formato correto do outro.

Exemplo:

COBOL + MQ + EBCDIC
        ↓
   Integration Bus
        ↓
JSON + REST + UTF-8

Ou:

CICS → MQ → Broker → API REST → Cloud

🏦 ONDE ELE É MUITO USADO?

Principalmente:

  • bancos

  • seguradoras

  • bolsas financeiras

  • telecom

  • governo

  • varejo

  • empresas gigantes

Porque quase todas possuem:

✅ sistemas legados
✅ mainframe
✅ aplicações distribuídas
✅ cloud
✅ APIs modernas

E alguém precisa integrar tudo isso.


⚙️ COMO ELE FUNCIONA?

O Integration Bus trabalha com:

📦 Message Flows

Fluxos gráficos que definem:

  • entrada

  • transformação

  • regras

  • roteamento

  • saída

Visualmente parece um pipeline.


🧩 COMPONENTES PRINCIPAIS

🔹 Input Node

Recebe mensagens:

  • MQ

  • HTTP

  • File

  • Kafka

  • SOAP

  • REST

  • TCP/IP


🔹 Compute Node

Onde fica a lógica.

Normalmente usando:

  • ESQL

  • Java

  • Mapping

Aqui ele:

  • transforma campos

  • converte layouts

  • altera dados

  • toma decisões


🔹 Mapping Node

Transformação visual:

COPYBOOK COBOL
   ↓
JSON/XML

🔹 Output Node

Entrega para:

  • MQ

  • API

  • banco

  • arquivo

  • Kafka

  • SAP

  • cloud


🧠 O QUE É O ESQL?

O ESQL é a linguagem clássica do Broker.

Parece mistura de:

  • SQL

  • procedural

  • manipulação de mensagem

Exemplo:

SET OutputRoot.JSON.Data.nome =
    InputRoot.XMLNSC.cliente.nome;

Ele transforma estruturas de dados em tempo real.


🔥 O MAINFRAME E O BROKER

Aqui está o ponto interessante.

Muitos ambientes z/OS usam:

  • CICS

  • IMS

  • DB2

  • MQ

  • COBOL

Mas aplicações modernas querem:

  • REST

  • JSON

  • APIs

  • microserviços

O Broker virou a ponte entre esses mundos.


💥 EXEMPLO REAL

Cenário bancário

Mainframe

COBOL envia:

000123JOAO      0000500

Formato fixo EBCDIC.


Broker recebe

Ele:

  • decodifica EBCDIC

  • interpreta copybook

  • converte para UTF-8

  • monta JSON

Resultado:

{
  "conta": 123,
  "nome": "JOAO",
  "saldo": 500
}

API REST recebe

Aplicação cloud consome normalmente.

Tudo transparente.


🚀 O QUE FEZ O BROKER FICAR GIGANTE?

Porque ele resolveu o maior problema corporativo:

integração entre mundos incompatíveis

Ele conecta:

Mundo antigoMundo moderno
COBOLJava
MQREST
VSAMJSON
EBCDICUTF-8
CICSAPIs
BatchCloud

🔥 RELAÇÃO COM IBM MQ

Muita gente confunde.

IBM MQ

transporta mensagens

Broker/IIB

processa e transforma mensagens

Exemplo:

Sistema A
   ↓ MQ
Broker
   ↓ MQ/API
Sistema B

MQ = estrada
Broker = inteligência do tráfego


📦 PRINCIPAIS PROTOCOLOS SUPORTADOS

O Broker suporta praticamente tudo:

  • MQ

  • JMS

  • REST

  • SOAP

  • HTTP

  • HTTPS

  • FTP

  • SFTP

  • Kafka

  • TCP/IP

  • SAP

  • JDBC

  • Files

  • XML

  • JSON

  • CSV

  • FIX

  • SWIFT


🧠 POR QUE ISSO FOI REVOLUCIONÁRIO?

Antes dele:

❌ integrações ponto a ponto
❌ spaghetti architecture
❌ milhares de interfaces manuais
❌ manutenção infernal

Depois dele:

✅ centralização
✅ transformação padronizada
✅ governança
✅ desacoplamento
✅ reutilização


⚠️ MAS EXISTEM DESAFIOS

Integration Bus também pode virar:

🔥 “monólito de integração”

Quando:

  • tudo passa por ele

  • todas regras ficam centralizadas

  • ninguém documenta

  • flows crescem demais

Resultado:

❌ complexidade absurda
❌ debugging difícil
❌ dependência gigante
❌ gargalos


🏗️ O QUE VEIO DEPOIS?

Hoje existe forte movimento para:

  • microservices

  • event streaming

  • Kafka

  • API Gateway

  • cloud integration

Mas…

🔥 o Broker continua fortíssimo em empresas enterprise.

Especialmente onde:

  • existe mainframe

  • há MQ pesado

  • integração crítica

  • alto volume transacional


📌 NO MAINFRAME MODERNO

O Broker/ACE virou peça estratégica para:

✅ expor APIs do CICS
✅ integrar COBOL com cloud
✅ transformar copybooks em JSON
✅ integrar DB2 com REST
✅ conectar Kafka ao z/OS
✅ modernização gradual


🎯 RESUMO FINAL

O IBM Integration Bus/Broker é:

“o sistema que faz sistemas incompatíveis conversarem.”

Ele foi — e continua sendo — um dos pilares da integração corporativa entre:

☕ legado
🔥 middleware
🚀 cloud
🏦 mainframe
🌎 APIs modernas

Sem ele, boa parte do mundo corporativo ainda estaria presa em integrações caóticas ponto a ponto.