| 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
| Conceito | Papel |
|---|---|
| Message | Unidade de dados |
| Queue | Armazenamento |
| Queue Manager | Cé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:
- COBOL envia transação (MQPUT)
- MQ armazena (persistent)
- Workers processam (workload)
- 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.”