Translate

Mostrar mensagens com a etiqueta enterprise computing. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta enterprise computing. Mostrar todas as mensagens

sábado, 29 de novembro de 2025

💣🔥 “10 MIL SEGUNDOS ROUBADOS POR DIA: O ASSASSINO SILENCIOSO DO SEU MAINFRAME” 🔥💣 Por que cada milissegundo no z/OS pode ser a diferença entre lucro e caos 🧠 Tradução + Expansão (na veia, sem anestesia) No mundo do processamento de transações em alto volume, “rápido o suficiente” é uma mentira confortável. Quando você roda milhões (ou bilhões) de transações por dia em um ambiente como z/OS, qualquer ineficiência — mesmo microscópica — vira um monstro financeiro. Não importa se você escreve em COBOL, PL/I ou Java. Se o seu código desperdiça tempo, o mainframe cobra — e cobra caro. 👉 Performance tuning não é “nice to have”. 👉 É sobrevivência corporativa. ⚙️ O Efeito Multiplicador (ou: como 10ms viram uma conta absurda) Vamos ao ponto crítico: Você otimiza um trecho e economiza 10 milissegundos. Agora multiplica isso: 1.000.000 execuções por dia Resultado: 👉 10.000 segundos economizados/dia (~2h46min de CPU) Agora entra o mundo real: Menos CPU → menos consumo de MSU Menos MSU → menor custo de licenciamento Menos contenção → mais throughput Mais throughput → mais negócio rodando 💣 Resumo estilo Bellacosa: “Você não economizou milissegundos… você salvou dinheiro REAL.” 🧨 Onde isso explode na prática 💥 Cenário clássico (batch assassino) Um JOB COBOL com loop: PERFORM VARYING WS-I FROM 1 BY 1 UNTIL WS-I > 1000000 EXEC SQL SELECT * INTO :HOST-VAR FROM CLIENTES WHERE ID = :WS-I END-EXEC END-PERFORM 💀 Problemas: SELECT * (crime hediondo) 1 milhão de chamadas SQL Possível table scan 🔧 Cirurgia de performance (passo a passo) 1️⃣ Reduzir dados (SQL cirúrgico) SELECT NOME, STATUS FROM CLIENTES WHERE ID = ? ✔ Menos I/O ✔ Menos CPU ✔ Menos transporte de dados 2️⃣ Garantir acesso via índice Use EXPLAIN no DB2: Evite: TABLE SCAN 😱 Busque: INDEX SEEK 😎 3️⃣ Trocar loop por processamento em bloco 💡 Em vez de 1 milhão de SELECTs: Use cursor Ou fetch em lote 4️⃣ Buffer Pool tuning (ouro puro) Se seu dado é acessado frequentemente: Ajuste buffer pools Evite I/O físico 💣 Easter Egg: Em muitos ambientes, só ajustar buffer pool já deu ganho de 30%+ sem mexer em uma linha de código. 🚀 Quick Wins que parecem pequenos… mas NÃO são 🧩 1. SQL eficiente Nunca use SELECT * Sempre valide acesso via índice Use EXPLAIN como religião ⚡ 2. Compiler moderno (COBOL v6+) Se você ainda usa compilador antigo: 💀 Você está ignorando otimizações do hardware moderno Ganhos comuns: Melhor uso de CPU Otimização automática de loops Instruções mais eficientes 💾 3. Movimento de dados (I/O mata performance) Regra de ouro: “Disco é lento. Memória é rei.” Faça: Cache inteligente Sort interno (quando adequado) Evite leituras repetidas 🧠 Curiosidade de guerra (história real de bastidor) Em um banco: Um único SELECT mal indexado Executado milhões de vezes/dia Resultado após correção: 👉 Redução de MSU suficiente para economizar dezenas de milhares por mês 💣 O código tinha 10 anos em produção 💣 Ninguém questionava 💣 Até alguém olhar com lupa 🔍 Análise profunda (nível arquiteto) Performance no mainframe não é só código. É um ecossistema: CPU (MIPS/MSU) I/O (disco vs memória) Locking (DB2) Concorrência (CICS) Batch window 👉 Uma otimização local pode gerar ganho global 👉 Ou causar efeito colateral (cuidado!) 🧨 Anti-patterns que destroem performance SELECT * Loop com SQL dentro Falta de índice Reprocessamento de dados Leitura repetida de VSAM/DB2 Uso de compilador legado 🏆 O verdadeiro “modernizar o mainframe” Não é só: API Cloud Microservices 💣 Isso é maquiagem se o core estiver ineficiente Modernizar de verdade é: ✔ Código otimizado ✔ Banco bem indexado ✔ CPU bem utilizada ✔ I/O sob controle 🔥 Conclusão (estilo Bellacosa raiz) “Mainframe não é lento. Código ruim é.” Um sistema bem ajustado não é só estável — 👉 Ele vira vantagem competitiva. 🛠️ Provocação final Qual foi aquele “fix ridiculamente simples” que você fez e: Derrubou consumo de CPU? Salvou batch window? Ou evitou um caos em produção? Se cavar… todo ambiente tem um “vilão escondido” esperando alguém enxergar. E quando você acha… 💣 o ganho vem em escala industrial.

 

Bellacosa Mainframe falando sobre performance e custo de processamento

💣🔥 10 MIL SEGUNDOS ROUBADOS POR DIA: O ASSASSINO SILENCIOSO DO SEU MAINFRAME 🔥💣

Por que cada milissegundo no z/OS pode ser a diferença entre lucro e caos


🧠 Performance na veia, sem anestesia

No mundo do processamento de transações em alto volume, “rápido o suficiente” é uma mentira confortável.

Quando você roda milhões (ou bilhões) de transações por dia em um ambiente como z/OS, qualquer ineficiência — mesmo microscópica — vira um monstro financeiro.

Não importa se você escreve em COBOL, PL/I ou Java.
Se o seu código desperdiça tempo, o mainframe cobra — e cobra caro.

👉 Performance tuning não é “nice to have”.
👉 É sobrevivência corporativa.


⚙️ O Efeito Multiplicador (ou: como 10ms viram uma conta absurda)

Vamos ao ponto crítico:

Você otimiza um trecho e economiza 10 milissegundos.

Agora multiplica isso:

  • 1.000.000 execuções por dia
  • Resultado:
    👉 10.000 segundos economizados/dia (~2h46min de CPU)

Agora entra o mundo real:

  • Menos CPU → menos consumo de MSU
  • Menos MSU → menor custo de licenciamento
  • Menos contenção → mais throughput
  • Mais throughput → mais negócio rodando

💣 Resumo estilo Bellacosa:

“Você não economizou milissegundos… você salvou dinheiro REAL.”


🧨 Onde isso explode na prática

💥 Cenário clássico (batch assassino)

Um JOB COBOL com loop:

PERFORM VARYING WS-I FROM 1 BY 1 UNTIL WS-I > 1000000
EXEC SQL
SELECT * INTO :HOST-VAR
FROM CLIENTES
WHERE ID = :WS-I
END-EXEC
END-PERFORM

💀 Problemas:

  • SELECT * (crime hediondo)
  • 1 milhão de chamadas SQL
  • Possível table scan

🔧 Cirurgia de performance (passo a passo)

1️⃣ Reduzir dados (SQL cirúrgico)

SELECT NOME, STATUS
FROM CLIENTES
WHERE ID = ?

✔ Menos I/O
✔ Menos CPU
✔ Menos transporte de dados


2️⃣ Garantir acesso via índice

Use EXPLAIN no DB2:

  • Evite:
    • TABLE SCAN 😱
  • Busque:
    • INDEX SEEK 😎

3️⃣ Trocar loop por processamento em bloco

💡 Em vez de 1 milhão de SELECTs:

  • Use cursor
  • Ou fetch em lote

4️⃣ Buffer Pool tuning (ouro puro)

Se seu dado é acessado frequentemente:

  • Ajuste buffer pools
  • Evite I/O físico

💣 Easter Egg:

Em muitos ambientes, só ajustar buffer pool já deu ganho de 30%+ sem mexer em uma linha de código.


🚀 Quick Wins que parecem pequenos… mas NÃO são

🧩 1. SQL eficiente

  • Nunca use SELECT *
  • Sempre valide acesso via índice
  • Use EXPLAIN como religião

⚡ 2. Compiler moderno (COBOL v6+)

Se você ainda usa compilador antigo:

💀 Você está ignorando otimizações do hardware moderno

Ganhos comuns:

  • Melhor uso de CPU
  • Otimização automática de loops
  • Instruções mais eficientes

💾 3. Movimento de dados (I/O mata performance)

Regra de ouro:

“Disco é lento. Memória é rei.”

Faça:

  • Cache inteligente
  • Sort interno (quando adequado)
  • Evite leituras repetidas

🧠 Curiosidade de guerra (história real de bastidor)

Em um banco:

  • Um único SELECT mal indexado
  • Executado milhões de vezes/dia

Resultado após correção:

👉 Redução de MSU suficiente para economizar dezenas de milhares por mês

💣 O código tinha 10 anos em produção
💣 Ninguém questionava
💣 Até alguém olhar com lupa


🔍 Análise profunda (nível arquiteto)

Performance no mainframe não é só código.

É um ecossistema:

  • CPU (MIPS/MSU)
  • I/O (disco vs memória)
  • Locking (DB2)
  • Concorrência (CICS)
  • Batch window

👉 Uma otimização local pode gerar ganho global
👉 Ou causar efeito colateral (cuidado!)


🧨 Anti-patterns que destroem performance

  • SELECT *
  • Loop com SQL dentro
  • Falta de índice
  • Reprocessamento de dados
  • Leitura repetida de VSAM/DB2
  • Uso de compilador legado

🏆 O verdadeiro “modernizar o mainframe”

Não é só:

  • API
  • Cloud
  • Microservices

💣 Isso é maquiagem se o core estiver ineficiente

Modernizar de verdade é:

✔ Código otimizado
✔ Banco bem indexado
✔ CPU bem utilizada
✔ I/O sob controle


🔥 Conclusão (estilo Bellacosa raiz)

“Mainframe não é lento.
Código ruim é.”

Um sistema bem ajustado não é só estável —
👉 Ele vira vantagem competitiva.


🛠️ Provocação final

Qual foi aquele “fix ridiculamente simples” que você fez e:

  • Derrubou consumo de CPU?
  • Salvou batch window?
  • Ou evitou um caos em produção?

Se cavar… todo ambiente tem um “vilão escondido” esperando alguém enxergar.

E quando você acha…

💣 o ganho vem em escala industrial.


quinta-feira, 23 de março de 2023

☕🔥 SMP/E — O Guardião Invisível do z/OS (ou: por que seu COBOL roda há 30 anos sem quebrar)

 

Bellacosa Mainframe fala sobre o guardião invisivel SMP/E no Z/OS

☕🔥 SMP/E — O Guardião Invisível do z/OS (ou: por que seu COBOL roda há 30 anos sem quebrar)

Se você é dev COBOL sênior, já viu de tudo: batch que roda desde o século passado, CICS que nunca cai, DB2 que parece imortal.

Mas tem um herói silencioso nisso tudo.

👉 O SMP/E (System Modification Program/Extended)

E hoje você vai enxergar ele como nunca viu:
não como ferramenta… mas como sistema de governança do caos controlado.


🧠 Antes de tudo: por que o SMP/E existe?

Volta comigo…

Década de 70/80.

  • Software entregue em fita
  • Correções manuais
  • Dependências no papel
  • Atualizar = rezar

👉 Resultado?

💥 Ambientes quebrando
💥 Versões inconsistentes
💥 “Funciona em um LPAR, não no outro”


💡 A resposta da IBM

Criar um sistema que:

  • Controla tudo
  • Versiona tudo
  • Rastreia tudo
  • Permite rollback

👉 Nasce o SMP… depois o SMP/E


🧬 O conceito que muda tudo

“No mainframe, nada é sobrescrito… tudo é versionado.”


🔄 O pipeline que mantém seu COBOL vivo

📦 RECEIVE

  • Entrada de PTF/APAR
  • Vai para SMPPTS

⚙️ APPLY

  • Atualiza target libraries
  • Seu programa começa a usar

💾 ACCEPT

  • Consolida na DLIB
  • Torna oficial

💡 Easter egg Bellacosa:

APPLY é tipo rodar um programa em teste
ACCEPT é dar “commit em produção”


🧩 FMID, PTF, APAR — o trio que você precisa dominar

🏗️ FMID

  • Produto base
  • Vem em RELFILE

🔧 PTF

  • Correção definitiva

🚨 APAR

  • Problema identificado

💡 Insight:

APAR é o bug report…
PTF é o merge aprovado 😄


📦 Onde as coisas realmente vivem

🧠 CSI (o cérebro)

  • VSAM KSDS
  • Guarda:
    • histórico
    • elementos
    • zones

🌍 Zones

ZoneFunção
Globalcontrole
Targetruntime
DLIBbaseline

📁 Datasets que poucos explicam direito

DatasetFunção
SMPPTSentrada (PTF/APAR)
SMPSCDSsource temporário
SMPMTSmacros
SMPSTSbackup (RESTORE)
SMPLOGlogs

💥 Curiosidade:

Um APPLY grande pode alocar +100 datasets automaticamente


🔗 Dependências — onde o caos vira matemática

Você pede:

APPLY PTFZ

O SMP/E resolve:

PTFX → PTFY → PTFZ

E ainda entende:

  • supersede
  • co-requisites
  • IFREQ

💡 Insight:

SMP/E é um resolvedor de dependência muito antes do npm existir 😎


🛑 HOLDDATA — o “não faça isso agora”

6

📌 Exemplo real

++HOLD(PTF001) SYSTEM REASON(IPL)

👉 Significa:

  • precisa IPL
  • impacto sistêmico

🧠 Tipos

  • ERROR
  • SYSTEM
  • USER
  • DOC

🔥 Easter egg

Você pode ignorar:

APPLY BYPASS(HOLDSYSTEM)

Mas…

“Com grandes poderes vêm grandes incidentes” 😄


🧬 Rastreabilidade absurda (nível mainframe)

Cada módulo tem:

  • FMID (origem)
  • RMID (quem substituiu)
  • UMID (última mudança)

💡 Pergunta de produção:

“Quem alterou esse módulo?”

👉 SMP/E responde.


❌ REJECT vs 🔄 RESTORE

AçãoComando
Desfazer RECEIVEREJECT
Desfazer APPLYRESTORE

💥 Regra de ouro:

RECEIVE → REJECT
APPLY → RESTORE

🏗️ DDDEF — o detalhe que poucos dominam

👉 Define datasets para SMP/E

  • Nome
  • Espaço
  • Formato

💡 Insight forte:

DDDEF transforma SMP/E em sistema autônomo


🧠 UCLIN — mexendo no cérebro do sistema

UCLIN.
ADD DDDEF(...)
ADD TARGETZONE(...)
ENDUCL.

⚠️ Curiosidade:

UCLIN é poderoso o suficiente para quebrar tudo… silenciosamente 😄


🔧 Administração avançada (nível operador raiz)

ComandoFunção
ZONECOPYclonar ambiente
ZONEEXPORTbackup
ZONEIMPORTrestore
ZONEEDITalteração em massa
UNLOADgerar UCLIN

📊 Relatórios — onde o SMP/E fala com você

  • SYSMOD STATUS → deu certo?
  • ELEMENT SUMMARY → o que mudou?
  • ERRSYSMODS → risco ativo

💡 Insight:

APPLY instala… relatório valida.


🌐 SMP/E moderno (sim, ele evoluiu)

RECEIVE ORDER CONTENT(ALL)

👉 Baixa direto da IBM:

  • PTF
  • APAR
  • HOLDDATA

💥 Curiosidade:

Algumas empresas rodam isso automaticamente semanalmente


🧪 Mini cenário real (pra fixar)

Você aplica uma PTF:

  • ✔ APPLY roda
  • ❌ batch começa a falhar

👉 O que você faz?

  1. Ver SMPLOG
  2. Ver ERRSYSMODS
  3. Identificar PTF
  4. Executar:
RESTORE SYSMOD(PTFxxxx)

💥 Sistema volta


🧠 Insight final (nível Bellacosa)

O SMP/E não é um instalador…
é um sistema de controle de estado do z/OS


☕🔥 Fechamento

Enquanto no mundo distribuído:

  • você instala
  • reza
  • e torce

No mainframe:

  • você recebe
  • aplica
  • aceita
  • rastreia
  • e volta atrás se precisar

💥 Frase final

“Seu COBOL roda há 30 anos não por sorte…
mas porque o SMP/E nunca deixou o caos entrar.”

 

segunda-feira, 15 de outubro de 2018

O Mistério do Coração Invisível : Quando um Detetive Descobre que Milhões de Transações Bancárias Dependem de uma Sala que Quase Ninguém Conhece

 

Bellacosa Mainframe e o misterio do coração invisivel

☕ Um Café no Bellacosa Mainframe

O Mistério do Coração Invisível

Quando um Detetive Descobre que Milhões de Transações Bancárias Dependem de uma Sala que Quase Ninguém Conhece

"Naquela noite, o relógio marcava 02h17 quando o telefone tocou. Do outro lado da linha, apenas uma frase: 'A aplicação desapareceu... mas a transação continua viva.' Peguei meu chapéu, meu bloco de notas e caminhei até o CPD. Mais um caso aguardava o Detetive Bellacosa..."


Capítulo 1 — O Prédio que Nunca Dorme

Existem lugares onde o tempo parece diferente.

Enquanto a cidade dorme, cafés fecham as portas e as ruas ficam silenciosas, milhares de computadores continuam trabalhando.

Entre eles existe um grupo muito especial.

São os IBM Mainframes.

Eles movimentam bancos.

Controlam companhias aéreas.

Administram cartões de crédito.

Pagam aposentadorias.

Liberam PIX.

Autorizam compras.

Processam seguros.

Movimentam bolsas de valores.

E tudo isso acontece em questão de milissegundos.

Mas existe um segredo.

Quando alguém fala em CICS, quase todo iniciante imagina um único programa gigante respondendo às solicitações dos usuários.

A verdade é muito mais elegante.

É como investigar um enorme prédio cheio de departamentos secretos.

Cada andar possui uma missão.

Cada sala possui uma função.

E existe uma sala onde realmente acontece a mágica.

Essa sala atende por um nome curioso:

AOR — Application-Owning Region.

É ali que mora o verdadeiro coração do CICS.


Capítulo 2 — Conhecendo os Suspeitos

Nenhum bom detetive começa uma investigação sem montar um mural.

Peguei algumas fotos e prendi tudo na parede.

                Usuário
                    │
                    ▼
               Terminal 3270
                    │
                    ▼
                 TOR
                    │
                    ▼
            Routing Region
                    │
                    ▼
             CICSPlex SM
          ┌──────┼──────┐
          ▼      ▼      ▼
        AOR1   AOR2   AOR3
          │
          ▼
     DB2 • VSAM • MQ

Cada personagem possui uma personalidade.

O TOR é o porteiro.

O Routing Region é o despachante.

O CICSPlex é o estrategista.

Mas...

Quem realmente resolve o problema?

O AOR.


Capítulo 3 — O Crime Perfeito

Imagine um banco.

Um milhão de clientes.

Todos acessando simultaneamente.

Agora imagine que exista apenas uma única região CICS.

Ela teria que:

  • receber conexões;

  • autenticar usuários;

  • executar COBOL;

  • acessar Db2;

  • acessar VSAM;

  • controlar MQ;

  • conversar com APIs;

  • responder ao usuário.

Seria um caos.

A IBM percebeu isso décadas atrás.

E fez algo brilhante.

Separou responsabilidades.

Foi como dividir uma delegacia.

Existe quem atende o telefone.

Existe quem dirige a viatura.

Existe quem faz perícia.

Existe quem investiga.

No CICS acontece exatamente isso.


Capítulo 4 — O Verdadeiro Papel da AOR

Muitos livros dizem:

"A AOR executa programas."

Correto.

Mas extremamente incompleto.

Ela executa muito mais.

Dentro dela vivem:

  • programas COBOL;

  • programas PL/I;

  • aplicações C;

  • Java;

  • APIs REST;

  • SOAP;

  • CICS Web Services;

  • lógica bancária;

  • cálculos financeiros;

  • regras tributárias;

  • validações;

  • autenticação.

Ou seja...

Tudo aquilo que gera dinheiro para a empresa.


Capítulo 5 — A Sala das Máquinas

Imagine abrir uma porta metálica.

Dentro dela existem centenas de programas.

BANK001

BANK002

PIX010

LOAN050

CARD901

INSU300

Todos esperando alguém chamá-los.

Quando uma transação chega...

o CICS procura o programa.

Se ele ainda não estiver carregado...

faz o LOAD.

Depois disso...

ele permanece disponível.

Esse detalhe parece pequeno.

Mas muda completamente o desempenho.


Curiosidade Noir nº 1

Os primeiros acessos a um programa costumam ser ligeiramente mais lentos porque o módulo ainda precisa ser localizado e carregado na memória. Nas execuções seguintes, ele normalmente já está residente, reduzindo o tempo de resposta. Em ambientes de alta demanda, esse comportamento faz diferença em milhões de execuções ao longo do dia.


Capítulo 6 — O Caminho de uma Consulta de Saldo

Vamos seguir uma transação.

O cliente digita:

SALD

No terminal.

A sequência parece simples.

Mas observe o que acontece.

Cliente

↓

TOR

↓

Routing Region

↓

CICSPlex SM

↓

AOR

↓

COBOL

↓

EXEC SQL

↓

DB2

↓

Resposta

↓

Usuário

A resposta aparece em menos de um segundo.

Mas dezenas de componentes cooperaram.

É como um relógio suíço.


Easter Egg nº 1

Os nomes TOR, AOR e FOR lembram personagens de um romance policial. Curiosamente, muitos profissionais iniciantes demoram meses para perceber que essas siglas representam regiões especializadas trabalhando em conjunto, e não apenas configurações do CICS.


Capítulo 7 — Quem Escolhe a AOR?

Aqui entra um personagem extremamente inteligente.

O CICSPlex SM.

Ele observa tudo.

CPU.

Memória.

Número de tarefas.

Tempo médio.

Regiões indisponíveis.

Carga de trabalho.

Depois toma uma decisão.

AOR1

CPU 92%

↓

Ignorar

AOR2

CPU 31%

↓

Escolher

AOR3

CPU 81%

↓

Ignorar

Tudo acontece automaticamente.

Nenhum operador precisa decidir.


Curiosidade nº 2

Essa lógica lembra um controlador de tráfego aéreo. Assim como aviões são distribuídos entre pistas disponíveis, o CICSPlex SM distribui transações entre AORs para evitar congestionamentos e aproveitar melhor os recursos do sistema.


Capítulo 8 — O Grande Equívoco dos Iniciantes

Quase todo programador COBOL iniciante imagina isto:

COBOL

↓

DB2

Na prática...

é muito mais complexo.

Um único programa pode conversar com:

DB2

VSAM

MQ

IMS

REST

SOAP

TCP/IP

Sockets

Temporary Storage

Transient Data

O AOR funciona como uma grande central de integração.


Capítulo 9 — O Mistério da Escalabilidade

Imagine uma promoção nacional.

Normalmente o banco processa:

100 mil transações por minuto.

Hoje...

700 mil.

Comprar outro computador?

Nem sempre.

Pode ser mais simples criar novas AORs.

Antes:

TOR

↓

AOR1

Depois:

TOR

├──►AOR1

├──►AOR2

├──►AOR3

├──►AOR4

└──►AOR5

Essa é a essência da escalabilidade horizontal.


Capítulo 10 — Quando uma AOR Cai

Imagine.

AOR2 sofre um ABEND.

O que acontece?

O cliente percebe?

Na maioria das arquiteturas modernas...

não.

O CICSPlex remove a região da lista.

As próximas transações seguem para:

AOR1

AOR3

AOR4

Enquanto isso...

a equipe resolve o problema.

É por isso que bancos conseguem operar 24 horas.


Curiosidade nº 3

Em muitas instituições financeiras existem diversas AORs executando exatamente os mesmos programas. Isso permite retirar uma região para manutenção enquanto as demais continuam atendendo os clientes, reduzindo janelas de indisponibilidade.


Capítulo 11 — O AOR e o COBOL

É aqui que você, programador COBOL, entra na história.

Seu programa normalmente será executado dentro de uma AOR.

Quando você escreve:

EXEC SQL
   SELECT SALDO
     INTO :WS-SALDO
     FROM CONTAS
END-EXEC.

Quem faz tudo funcionar?

AOR.

Quando escreve:

EXEC CICS READ

Quem executa?

AOR.

Quando chama:

EXEC CICS LINK

Quem processa?

AOR.

Ela é o palco onde o seu código ganha vida.


Dicas de Ouro para o Iniciante

✔ Aprenda primeiro o fluxo completo da transação antes de decorar comandos.

✔ Entenda a diferença entre TOR, AOR, FOR e Routing Region.

✔ Estude EXEC CICS LINK, XCTL e RETURN para compreender como programas cooperam entre si.

✔ Familiarize-se com COMMAREA, Channels e Containers, pois são fundamentais para a troca de dados entre programas.

✔ Pratique o uso de EXEC SQL e operações em VSAM, já que a lógica de negócio normalmente envolve esses recursos.

✔ Leia mapas de monitoramento (como SMF e CICS Monitoring) para entender onde está o tempo gasto por uma transação.


Easter Egg nº 2

Existe um velho ditado entre profissionais de CICS:

"Se o TOR espirra, todo mundo percebe. Se a AOR trabalha bem, ninguém lembra que ela existe."

É exatamente esse o objetivo: manter a engrenagem funcionando de forma silenciosa.


O Dossiê do Detetive

Depois de horas analisando logs, diagramas e relatórios, a conclusão era inevitável.

O mistério nunca foi descobrir onde a transação entrava.

Nem onde ela terminava.

O verdadeiro mistério sempre foi entender quem fazia o trabalho pesado.

A resposta estava escondida em uma pequena sigla de apenas três letras.

AOR.

Ela recebe programas.

Executa regras de negócio.

Consulta Db2.

Lê VSAM.

Publica mensagens em MQ.

Conversa com APIs.

Responde ao usuário.

E faz tudo isso milhares — ou até milhões — de vezes por dia.

É por isso que dizemos que a Application-Owning Region é o coração do CICS. Não porque ela seja a única peça importante, mas porque é nela que o "sangue" das transações circula: cada instrução COBOL, cada EXEC CICS, cada EXEC SQL e cada decisão de negócio passam por esse ambiente de execução.

Da próxima vez que alguém consultar um saldo, comprar com cartão, pagar um boleto ou realizar um PIX, lembre-se de que existe uma equipe invisível trabalhando em perfeita sincronia. O usuário verá apenas uma resposta na tela, mas, nos bastidores, TOR, Routing Region, CICSPlex SM, AOR, Db2, VSAM e MQ estarão desempenhando seus papéis como personagens de um clássico romance noir.

E, como todo bom detetive sabe, o segredo dos grandes casos raramente está na primeira pista. No universo do Mainframe, a pista decisiva é compreender a arquitetura. Quando você entende por que o processamento foi separado do roteamento, deixa de enxergar apenas programas COBOL isolados e passa a ver um ecossistema projetado para oferecer desempenho, disponibilidade e confiabilidade em escala mundial.

Na próxima investigação do Bellacosa Mainframe, outro mistério nos espera. Afinal, em algum lugar do CPD existe outra porta metálica fechada, outro componente pouco conhecido e outra história fascinante escondida atrás de três ou quatro letras que sustentam o mundo moderno. Afinal, nos grandes sistemas, os melhores segredos quase nunca aparecem na tela do terminal; eles vivem na arquitetura que faz tudo funcionar.

quinta-feira, 13 de setembro de 2018

O Caso dos Oito Segundos Perdidos : Quando um Programador COBOL Descobre que o Verdadeiro Vilão Nunca Foi o CICS...

 

Bellacosa Mainframe e o caso dos 8 segundos perdidos

☕ Um Café no Bellacosa Mainframe

O Caso dos Oito Segundos Perdidos

Quando um Programador COBOL Descobre que o Verdadeiro Vilão Nunca Foi o CICS... Mas um Gargalo Escondido nas Sombras

"Naquela manhã chuvosa, os operadores juravam que o CICS estava lento. O gerente culpava o banco de dados. O DBA apontava para a CPU. O pessoal de infraestrutura acusava o storage. O Sysprog olhava silenciosamente para os gráficos do RMF. E, em algum lugar escondido entre milhões de linhas de COBOL, um único SQL aguardava para ser descoberto..."


Prólogo – O Mistério da Lentidão

Se você perguntar para um programador COBOL iniciante:

"O que faz um sistema ficar lento?"

Provavelmente ouvirá:

"A CPU está cheia."

É uma resposta compreensível.

Mas quase sempre...

Está errada.

Uma das maiores lições que um profissional IBM Mainframe aprende ao longo da carreira é que lentidão é um sintoma, não um diagnóstico.

Performance Tuning é praticamente um trabalho de detetive.

Cada métrica é uma pista.

Cada relatório é um depoimento.

Cada gráfico conta uma parte da história.

E, como todo bom romance policial dos anos 1950, o culpado quase nunca é quem parecia ser no primeiro capítulo.

Hoje vamos abrir os arquivos confidenciais do CPD para investigar um dos casos mais fascinantes do universo CICS.

Prepare seu bloco de notas.

A investigação começou.


Capítulo 1 – O CICS é uma Cidade que Nunca Dorme

Imagine uma enorme cidade.

Milhões de pessoas entram e saem todos os dias.

Existem:

  • bancos

  • hospitais

  • aeroportos

  • repartições públicas

  • supermercados

Tudo funcionando ao mesmo tempo.

Essa cidade chama-se CICS.

Cada cidadão é uma transação.

Cada rua representa um recurso do sistema.

Cada cruzamento é um ponto onde pode surgir congestionamento.

Enquanto você dorme...

Essa cidade continua trabalhando.

Ela processa:

  • PIX

  • cartões

  • seguros

  • folha de pagamento

  • bolsas de valores

  • companhias aéreas

  • telecomunicações

Em alguns ambientes...

Mais de 100 milhões de transações por dia.

E tudo isso precisa acontecer em poucos milissegundos.


Capítulo 2 – O Relógio Nunca Mente

O primeiro suspeito sempre atende pelo nome de:

Response Time

Ele representa o tempo entre:

ENTER

↓

Processamento

↓

Resposta

Parece simples.

Mas esse número esconde dezenas de acontecimentos.

Enquanto o usuário observa apenas uma tela parada...

O CICS está fazendo centenas de operações invisíveis.


O Iceberg da Performance

O usuário vê apenas isto:

Resposta em 8 segundos

O analista enxerga:

CPU

↓

Dispatcher

↓

Storage

↓

Task

↓

DB2

↓

VSAM

↓

MQ

↓

TCP/IP

↓

Locks

↓

I/O

↓

Rede

↓

WLM

↓

Cache

↓

Buffers

↓

SMF

↓

RMF

Cada bloco acrescenta alguns milissegundos.

Somados...

Transformam-se em segundos.


Capítulo 3 – O Detetive Nunca Acusa Sem Evidências

Um erro clássico dos iniciantes é fazer isto:

"O sistema está lento."

Então começam a alterar parâmetros.

Isso é como trocar o motor do carro porque um pneu furou.

Os profissionais experientes seguem uma regra sagrada:

Nunca modifique aquilo que você ainda não mediu.

Primeiro mede.

Depois entende.

Só então modifica.


A Regra de Ouro do Performance Tuning

Existe um mantra repetido por analistas veteranos:

Measure

↓

Analyze

↓

Identify

↓

Optimize

↓

Validate

Ou em português:

Medir

↓

Analisar

↓

Identificar

↓

Otimizar

↓

Validar

Perceba que "otimizar" aparece apenas no quarto passo.

Muitos iniciantes começam justamente por ele.


Capítulo 4 – O Julgamento da CPU

Sempre que algo fica lento...

Alguém diz:

"A CPU está em 95%."

Fim da discussão.

Mas espere.

CPU alta significa culpa?

Não.

CPU alta pode ser consequência.

Imagine um caixa eletrônico tentando consultar um cliente.

O SQL demora.

Enquanto espera...

A CPU continua trabalhando em outras tarefas.

Quando finalmente recebe os dados...

Executa um enorme processamento COBOL.

Resultado:

CPU sobe.

Mas ela não foi o problema inicial.

Ela apenas trabalhou mais porque outra peça atrasou todo o restante.


Curiosidade Noir

Os analistas antigos costumavam dizer:

"CPU é como febre. Ela mostra que existe um problema, mas quase nunca diz qual."


Capítulo 5 – O Sombrio Reino do Db2

Se existe um lugar onde muitos mistérios começam...

É o banco de dados.

Um SQL aparentemente inocente pode esconder um verdadeiro desastre.

Veja:

SELECT *
FROM CLIENTES

Parece simples.

Mas imagine uma tabela com:

120 milhões de registros.

Sem índice.

O Db2 inicia um Table Space Scan.

Milhões de páginas são lidas.

Buffers começam a encher.

Discos trabalham.

CPU cresce.

O usuário espera.

E o gerente conclui:

"CICS está lento."

Na verdade...

Era apenas um SQL mal escrito.


O EXPLAIN é a Lupa de Sherlock Holmes

Nenhum DBA sério trabalha sem EXPLAIN.

Ele responde perguntas como:

  • Qual índice será utilizado?

  • Haverá Table Scan?

  • Quantos registros serão lidos?

  • Qual Join será escolhido?

  • Quantas páginas serão acessadas?

É literalmente a autópsia do SQL antes da execução.


Easter Egg nº 1

Se você encontrar um programa COBOL com:

SELECT *

Sem WHERE...

Você acabou de descobrir o equivalente mainframe de deixar a porta da geladeira aberta o dia inteiro.


Capítulo 6 – Os Arquivos VSAM Também Contam Segredos

Muito antes do Db2 dominar os grandes sistemas...

O VSAM já guardava milhões de registros.

E continua fazendo isso.

Os tipos mais comuns:

  • KSDS

  • ESDS

  • RRDS

  • LDS

Cada um possui comportamento diferente.

Um KSDS muito fragmentado pode sofrer:

  • CI Split

  • CA Split

Resultado?

Mais I/O.

Mais espera.

Mais tempo de resposta.


O Mistério dos Buffers

Imagine procurar um livro.

Você pode:

Ir até a biblioteca toda vez.

Ou deixá-lo sobre a mesa.

Os buffers fazem exatamente isso.

Quanto melhores os buffers...

Menos viagens ao disco.

Mais velocidade.


Capítulo 7 – A Memória Invisível

Poucos iniciantes estudam Storage.

Mas deveriam.

No CICS existem áreas famosas:

  • DSA

  • EDSA

  • CDSA

  • UDSA

  • SDSA

Quando alguma delas fica cheia...

Começam acontecimentos estranhos.

Transações recusadas.

Lentidão.

Abends.

Filas.

Até surgir uma sigla temida:

SOS

Short On Storage.

Veteranos arrepiam só de ouvir esse nome.


Easter Egg nº 2

No universo CICS, "SOS" não significa "Save Our Souls".

Significa:

"Prepare o café... hoje ninguém vai embora cedo."


Capítulo 8 – O Engarrafamento Invisível

Nem toda lentidão significa problema técnico.

Imagine um banco às 10 horas da manhã.

Milhares de clientes.

Todos chegam ao mesmo tempo.

Os caixas são limitados.

Forma-se uma fila.

No CICS acontece igual.

500 usuários

↓

1000 transações

↓

200 Tasks disponíveis

As demais esperam.

Não existe erro.

Existe congestionamento.

Esse fenômeno chama-se:

Transaction Queuing.


Capítulo 9 – Throughput: O Herói Esquecido

Todo mundo fala em velocidade.

Poucos falam em capacidade.

Imagine dois carros.

Primeiro:

200 km/h

Transporta 2 pessoas.

Segundo:

80 km/h

Transporta 70 passageiros.

Qual leva mais gente?

O segundo.

O mesmo vale para o Mainframe.

Às vezes uma transação demora um pouco mais.

Mas o sistema atende milhares simultaneamente.

Isso é Throughput.


Capítulo 10 – Os Relatórios Nunca Mentem

Quando surge um incidente...

Entram em cena os investigadores.

Cada ferramenta possui uma especialidade.

SMF

É o diário secreto do z/OS.

Tudo fica registrado.

Cada evento.

Cada consumo.

Cada erro.


RMF

É o cardiologista do sistema.

Mede:

CPU

Disco

Canal

Memória

LPAR

WLM


CICS Performance Analyzer

Mostra tendências.

Permite descobrir:

Quando começou a degradação?

Ela piora em determinados horários?

Existe sazonalidade?


Db2 Performance Monitor

Mostra:

Locks.

Buffer Pools.

Getpages.

Elapsed.

CPU.

SQL.

É praticamente uma câmera de segurança do banco de dados.


O Método CSI Mainframe

Imagine uma investigação.

A transação SALD demora oito segundos.

O analista segue o roteiro:

Cena do crime.

Coleta evidências.

Analisa SMF.

Consulta RMF.

Verifica WLM.

Observa CPU.

Analisa SQL.

Examina VSAM.

Confere Storage.

Encontra o gargalo.

Nenhuma hipótese é descartada sem provas.


Curiosidade Histórica

Na década de 1980 muitos problemas eram resolvidos observando apenas consoles, dumps impressos e enormes relatórios em papel contínuo.

Era comum encontrar analistas caminhando pelos corredores carregando pilhas de listagens maiores do que uma mesa de escritório.

Hoje usamos dashboards sofisticados.

Mas o raciocínio investigativo continua exatamente o mesmo.


Passo a Passo para Investigar uma Transação Lenta

Se amanhã você entrar em uma equipe de suporte CICS e ouvir:

"A transação CONSULTA demorou oito segundos."

Siga este roteiro:

  1. Descubra quando o problema começou.

  2. Compare com dias anteriores.

  3. Consulte os relatórios SMF.

  4. Verifique o RMF.

  5. Analise a utilização da CPU.

  6. Verifique o WLM.

  7. Procure espera por recursos.

  8. Analise SQL com EXPLAIN.

  9. Verifique buffers do Db2.

  10. Analise VSAM.

  11. Procure contenção.

  12. Verifique Storage.

  13. Confira MXT e filas.

  14. Compare com a baseline.

  15. Só depois faça alterações.

Essa sequência evita mudanças precipitadas e aumenta muito a chance de encontrar a causa raiz.


Dicas para um Programador COBOL Iniciante

  • Aprenda SQL antes de tentar otimizar COBOL.

  • Entenda o funcionamento de índices Db2.

  • Estude VSAM e seus padrões de acesso.

  • Conheça as principais áreas de storage do CICS.

  • Aprenda a ler relatórios SMF e RMF.

  • Familiarize-se com conceitos de WLM e Dispatching.

  • Nunca presuma que CPU alta é a causa do problema.

  • Documente cada alteração realizada em produção.

  • Crie o hábito de comparar métricas antes e depois de qualquer mudança.

  • Pense sempre no sistema como um conjunto integrado, e não como componentes isolados.


Curiosidades que Impressionam em Entrevistas

  • Uma redução de apenas 5 milissegundos em uma transação executada milhões de vezes ao dia pode economizar horas de CPU ao longo do mês.

  • Em muitos ambientes corporativos, mais de 90% das reclamações de lentidão acabam tendo origem fora do código COBOL, envolvendo SQL, configuração, infraestrutura ou contenção de recursos.

  • O CICS foi projetado para operar continuamente, processando cargas enormes com alta disponibilidade, o que explica sua presença em bancos, seguradoras, companhias aéreas e órgãos governamentais há décadas.


O Último Suspeito

Quando toda investigação termina...

Os novatos perguntam:

"Então qual era o culpado?"

A resposta dos veteranos costuma ser a mesma.

"Depende."

Porque o verdadeiro segredo do Performance Tuning nunca foi decorar comandos.

Nem decorar parâmetros.

Nem decorar tabelas.

O verdadeiro segredo é aprender a pensar como um investigador.

Cada métrica conta uma história.

Cada relatório revela uma pista.

Cada gráfico esconde um detalhe.

Cada segundo perdido possui uma explicação.

E quando você finalmente domina essa arte, deixa de ser apenas um programador COBOL.

Torna-se um detetive do desempenho, capaz de seguir rastros invisíveis entre milhões de instruções, atravessar as sombras do CICS e revelar o culpado que ninguém mais conseguia enxergar.

Na próxima vez que alguém disser, com toda a convicção, "o CICS está lento", sorria discretamente, pegue sua lupa imaginária e lembre-se da maior lição desta investigação:

No Mainframe, o gargalo raramente está onde todos estão olhando. O verdadeiro mistério está escondido entre as métricas — esperando por alguém paciente o suficiente para conectar todas as pistas.

sexta-feira, 18 de maio de 2018

O Caso da Ponte Invisível : Quando Sherlock Holmes Descobriu que Existiam Estradas Secretas Entre Mainframes

 

Bellacosa Mainframe e o caso da ponte invisivel entre mainframes

☕ Um Café no Bellacosa Mainframe

O Caso da Ponte Invisível

Quando Sherlock Holmes Descobriu que Existiam Estradas Secretas Entre Mainframes

"Nem todas as conexões aparecem nos diagramas. Algumas apenas deixam rastros... e apenas um bom programador COBOL consegue percebê-los."


Era uma madrugada fria.

As luzes do CPD permaneciam acesas como estrelas artificiais iluminando um universo que poucas pessoas conheciam.

Os discos DASD giravam silenciosamente.

As impressoras de linha descansavam.

Os operadores observavam dezenas de consoles enquanto milhares de transações bancárias cruzavam o país.

Foi então que Sherlock Holmes colocou uma xícara de café sobre um terminal IBM 3270 e comentou:

Watson... existe algo estranho.

— "O quê?"

Um cliente acabou de consultar o saldo da conta. O programa está neste CICS... mas o saldo veio de outro mainframe localizado a centenas de quilômetros.

Watson arregalou os olhos.

— "Magia?"

Holmes sorriu.

Não... chama-se ISC.

E assim começava mais um dos casos do Bellacosa Mainframe.


O Mistério da Comunicação Invisível

Todo iniciante imagina que um programa COBOL conversa apenas com os arquivos existentes dentro do próprio computador.

Seria lógico pensar assim.

Mas o mundo corporativo nunca foi simples.

Imagine um grande banco.

Existe apenas um computador?

Claro que não.

Pode haver:

  • dezenas de IBM Z

  • centenas de regiões CICS

  • milhares de programas COBOL

  • milhões de clientes simultâneos

Então surge uma pergunta.

Como um programa que está rodando em São Paulo consegue consultar um cadastro existente em Brasília?

Ou um sistema instalado no Rio de Janeiro acessar uma conta localizada em Curitiba?

É aí que entra o protagonista desta investigação.

ISC — InterSystem Communication.


Primeiro precisamos entender o território

Antes de compreender o ISC precisamos conhecer seu "primo".

O famoso MRO.

Muitos iniciantes confundem os dois.

Isso acontece porque ambos fazem praticamente a mesma coisa.

Mas existe uma diferença gigantesca.

Imagine um condomínio.

Você mora na Torre A.

Seu amigo mora na Torre B.

Para visitá-lo basta atravessar o jardim.

Essa caminhada representa o MRO.

Agora imagine visitar um amigo que mora em outro estado.

Você precisará viajar de avião.

Essa viagem representa o ISC.

A lógica continua sendo comunicação.

O caminho é completamente diferente.


MRO: o corredor interno

No artigo anterior vimos que uma arquitetura típica pode ser:

Usuário

↓

TOR

↓

AOR

↓

FOR

↓

VSAM

Todas essas regiões pertencem ao mesmo ambiente z/OS.

A comunicação ocorre por MRO.

É praticamente um corredor interno.

Tudo acontece "dentro da mesma casa".


ISC: a rodovia interestadual

Agora imagine isto.

Datacenter São Paulo

↓

CICS A

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

Rede

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

↓

CICS B

↓

Datacenter Brasília

Agora já não existe um simples corredor.

Existe uma estrada.

Essa estrada chama-se ISC.

Ela permite que sistemas completamente independentes conversem como se fossem vizinhos.


O verdadeiro significado de InterSystem Communication

Muita gente acredita que ISC apenas troca mensagens.

Na verdade ele faz muito mais.

Ele permite que um CICS utilize recursos existentes em outro CICS.

Esses recursos podem ser:

• programas COBOL

• transações

• arquivos VSAM

• tabelas DB2

• filas

• serviços

• APIs

Na prática...

Um sistema pode "emprestar" recursos para outro.

É como uma enorme biblioteca.

Você não precisa comprar todos os livros.

Basta pedir emprestado.


Um banco de verdade

Vamos imaginar o Banco Bellacosa.

Ele possui três grandes centros.

São Paulo.

Rio de Janeiro.

Brasília.

Cada um executa uma função.

São Paulo:

  • Internet Banking

  • PIX

  • Aplicativo

Rio:

  • Cartões

Brasília:

  • Cadastro

  • Contas

  • Crédito

Quando um cliente consulta seu saldo:

Aplicativo

↓

São Paulo

↓

ISC

↓

Brasília

↓

DB2

↓

Resposta

↓

Cliente

Perceba algo curioso.

O usuário acredita que tudo aconteceu no mesmo computador.

Mas não.

A transação atravessou uma rede inteira.


O programador nunca percebe

Este talvez seja o aspecto mais fascinante.

Você programa normalmente.

Escreve COBOL.

Utiliza EXEC CICS.

Recebe os dados.

Para você parece local.

Mas o CICS trabalha nos bastidores.

Ele localiza o sistema remoto.

Abre comunicação.

Transfere informações.

Recebe a resposta.

Entrega os dados ao programa.

Tudo isso em poucos milissegundos.

É quase mágica.


A diferença que cai em entrevistas

Esta pergunta aparece há décadas.

"Qual a diferença entre MRO e ISC?"

A resposta curta:

MRO comunica regiões do mesmo z/OS.

ISC comunica sistemas diferentes.

Mas existe uma resposta muito melhor.

MRO resolve o problema da distribuição interna.

ISC resolve o problema da distribuição geográfica.

Essa pequena frase costuma impressionar entrevistadores.


Um exemplo ainda maior

Imagine uma companhia aérea.

O sistema de venda de passagens está em um datacenter.

O programa de milhagem está em outro.

O controle de bagagens em outro.

O sistema meteorológico em outro.

Mesmo assim o passageiro compra uma passagem em menos de cinco segundos.

Como?

Graças a tecnologias como ISC.

Cada sistema executa apenas sua especialidade.


A evolução da tecnologia

Nos anos 1970 era comum existir apenas um grande CICS.

Depois vieram dezenas.

Depois centenas.

Hoje encontramos arquiteturas gigantescas.

Cliente

↓

API

↓

z/OS Connect

↓

CICS

↓

ISC

↓

Outro CICS

↓

DB2

Observe algo interessante.

Mesmo quando você utiliza REST.

Mesmo quando utiliza APIs.

Mesmo quando utiliza aplicações Java.

Em muitos casos...

Lá no fundo...

Existe um ISC funcionando silenciosamente.


O que realmente viaja pela rede?

Essa é uma dúvida comum.

O programa COBOL inteiro atravessa a rede?

Não.

Normalmente trafegam:

  • parâmetros

  • comandos

  • dados

  • respostas

É semelhante a fazer uma ligação telefônica.

Você não envia sua casa inteira.

Apenas sua voz.


Como era antigamente?

Nos primeiros anos do CICS predominava o SNA.

Depois vieram APPC e LU6.2.

Hoje o mais comum é encontrar IPIC utilizando TCP/IP.

Isso mostra como o mainframe evolui.

Ele preserva compatibilidade.

Mas também acompanha novas tecnologias.

É uma das razões pelas quais sistemas escritos há quarenta anos continuam funcionando.


Um segredo que pouca gente conhece

Você sabia que existem bancos onde uma única operação pode atravessar cinco ou seis CICS diferentes?

É verdade.

Imagine:

Cliente

TOR

AOR

ISC

Outro AOR

MQ

Outro sistema

DB2

Resposta

Tudo isso ocorre antes de o cliente terminar de piscar.


O preço da distância

Existe uma regra simples.

Quanto maior a distância.

Maior a latência.

Isso significa que um ISC entre dois CICS no mesmo prédio costuma ser mais rápido do que entre cidades diferentes.

Mesmo assim estamos falando de tempos extremamente baixos.

Por isso grandes bancos conseguem atender milhões de clientes simultaneamente.


Segurança: ninguém entra sem identificação

Imagine que qualquer sistema pudesse conversar livremente com outro.

Seria um desastre.

Por isso entram em cena diversos mecanismos de proteção.

Entre eles:

  • RACF

  • autenticação

  • autorização

  • criptografia

  • auditoria

  • SMF

Nada acontece sem registro.

No universo IBM Z praticamente tudo deixa rastros.

É por isso que investigadores de performance conseguem reconstruir uma transação inteira.


Onde o ISC aparece sem você perceber?

Você provavelmente já utilizou ISC.

Ao:

  • sacar dinheiro

  • pagar boleto

  • fazer PIX

  • comprar passagem aérea

  • consultar plano de saúde

  • emitir nota fiscal

  • realizar declaração de imposto

Em todos esses ambientes existe uma enorme chance de existir comunicação entre diferentes sistemas CICS.


Curiosidades do Mundo Mainframe 🕵️

Curiosidade 1

O nome InterSystem Communication surgiu porque, originalmente, o objetivo era conectar sistemas completamente independentes, não apenas regiões CICS.


Curiosidade 2

Muitos ambientes antigos ainda possuem conexões SNA funcionando perfeitamente após décadas de operação.


Curiosidade 3

Existem empresas que mantêm ambientes de produção e contingência em estados diferentes utilizando ISC como parte da estratégia operacional.


Curiosidade 4

É perfeitamente possível que uma transação utilize MRO e ISC na mesma execução.

Exemplo:

Cliente

↓

TOR

↓

MRO

↓

AOR

↓

ISC

↓

Outro Mainframe

↓

DB2

Dicas para quem está aprendendo COBOL

Não tente decorar siglas.

Entenda responsabilidades.

Pergunte sempre:

Quem recebe?

Quem executa?

Quem possui os arquivos?

Quem conversa com outro sistema?

Quando responder essas perguntas automaticamente, TOR, AOR, FOR, MRO e ISC passam a fazer sentido.


Passo a passo mental para entender uma arquitetura CICS

Sempre siga esta sequência:

Passo 1

Quem iniciou a transação?

Passo 2

Quem recebeu?

(TOR)

Passo 3

Quem executou?

(AOR)

Passo 4

Quem possui os dados?

(FOR ou DB2)

Passo 5

Os dados estão neste sistema?

Se sim:

MRO.

Se não:

ISC.

Essa pequena metodologia ajuda muito em entrevistas técnicas e na leitura de diagramas corporativos.


O Easter Egg ☕

Desde o primeiro artigo desta série existe um personagem escondido.

Sherlock Holmes.

Mas existe outro.

Pouca gente percebeu.

Sempre que aparece uma xícara de café sobre um terminal 3270, ela simboliza algo muito maior.

O café representa o programador.

O terminal representa a tecnologia.

Enquanto existir alguém curioso o suficiente para sentar diante daquele terminal, fazer perguntas e investigar como as coisas realmente funcionam, o mainframe continuará evoluindo.

O verdadeiro combustível do IBM Z nunca foram apenas MIPS, processadores ou discos. Foram pessoas curiosas.


O Grande Detetive Chega à Conclusão

Sherlock terminou o café.

Olhou novamente para o console.

Sorriu discretamente.

— "Watson... agora sabemos por que o cliente recebeu o saldo tão rapidamente."

— "Porque o banco possui computadores muito rápidos?"

Holmes respondeu:

— "Não apenas isso."

"Porque milhares de engenheiros passaram décadas construindo pontes invisíveis entre sistemas. O cliente jamais verá essas pontes. Mas sem elas o banco inteiro pararia."

Watson permaneceu em silêncio.

Na tela verde do 3270 apareceu apenas uma única mensagem:

TRANSACTION COMPLETED

Holmes levantou-se.

Vestiu o sobretudo.

Apagou o cachimbo imaginário.

E desapareceu pelos corredores do CPD.

Naquela noite, ninguém percebeu que o maior mistério nunca foi descobrir o que era o ISC.

O verdadeiro mistério era entender como bilhões de transações conseguem atravessar fronteiras, datacenters e continentes em silêncio absoluto, mantendo a confiança de bancos, governos e empresas há mais de meio século.

Talvez seja justamente esse o maior segredo do universo IBM Mainframe: as tecnologias mais importantes raramente aparecem para o usuário final. Elas trabalham nas sombras, como bons detetives das antigas revistas noir dos anos 1950, resolvendo casos antes mesmo que alguém perceba que existia um problema.

E, quando você finalmente dominar TOR, AOR, FOR, MRO e ISC, descobrirá que não aprendeu apenas um conjunto de siglas. Aprendeu a enxergar a malha invisível que sustenta uma parte significativa da economia mundial, transação após transação, café após café.

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