☕ 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 performance mainframe. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta performance mainframe. Mostrar todas as mensagens

domingo, 31 de maio de 2026

☕🔥💣 O SYSprog PADAWAN E A ARTE DA GUERRA CONTRA O CAOS

 

Bellacosa Mainframe a arte da guerra contra o caos conheça o RCA

☕🔥💣 O SYSprog PADAWAN E A ARTE DA GUERRA CONTRA O CAOS

Root Cause Analysis no IBM Mainframe: Por Que Reiniciar o CICS Não Resolve Seus Problemas

Existe uma frase muito comum nos corredores dos data centers:

"Reinicia que volta."

Durante décadas ela funcionou.

O CICS travou?

Reinicia.

O batch falhou?

Roda de novo.

O MQ congestionou?

Dá STOP e START.

O JES2 ficou estranho?

Cancela alguns jobs.

O storage explodiu?

Aumenta a região.

O problema é que essa mentalidade criou gerações de profissionais especialistas em apagar incêndios, mas não necessariamente especialistas em eliminar incêndios.

E existe uma diferença gigantesca entre as duas coisas.

O verdadeiro profissional de Mainframe moderno não é aquele que resolve o incidente mais rápido.

É aquele que garante que o incidente nunca mais aconteça.

É aí que entra uma das disciplinas mais importantes da engenharia moderna:

Root Cause Analysis (RCA)

Ou, em português:

Análise de Causa Raiz

Uma habilidade que separa o operador comum do engenheiro de confiabilidade.


O INCIDENTE NÃO É O PROBLEMA

Este é talvez o conceito mais importante de todo o artigo.

Quando um sistema cai, aquilo que você vê não é o problema.

É apenas a consequência visível.

Imagine uma transação CICS que começa a responder lentamente.

O usuário reclama.

O suporte abre um chamado.

O operador percebe aumento de CPU.

O time de infraestrutura aumenta recursos.

Tudo parece resolvido.

Mas alguns dias depois o problema volta.

Por quê?

Porque ninguém investigou a causa raiz.

A lentidão era apenas um sintoma.

O problema verdadeiro talvez fosse:

  • SQL ineficiente

  • Índice DB2 corrompido

  • Loop em programa COBOL

  • Fila MQ congestionada

  • Deadlock de recursos

  • Automação mal configurada

Resolver o sintoma gera alívio.

Resolver a causa gera evolução.


O MAIOR PECADO DA TI MODERNA

A Harvard Business Review publicou um estudo mostrando que a maioria dos executivos acredita que suas organizações são ruins em diagnosticar problemas.

Isso não surpreende.

A cultura corporativa moderna recompensa velocidade.

Poucas vezes recompensa investigação.

A pressão é sempre:

"Volta o sistema agora."

Raramente alguém pergunta:

"Por que ele caiu?"

E menos ainda:

"Como impedimos que isso aconteça novamente?"


O DETETIVE DIGITAL

Um bom profissional de RCA pensa como um investigador.

Quando ocorre uma falha ele não procura imediatamente uma solução.

Primeiro procura evidências.

Ele coleta:

  • SYSLOG

  • JESMSGLG

  • SMF

  • RMF

  • Dumps

  • Traces

  • Mensagens CICS

  • Logs DB2

  • Eventos MQ

  • Métricas OMEGAMON

Cada informação conta parte da história.

Nenhum log isolado revela a verdade completa.

O segredo está na correlação.


O CASO DO BATCH QUE ATRASAVA TODA SEXTA-FEIRA

Vamos analisar um exemplo realista.

Toda sexta-feira o processamento noturno atrasava duas horas.

A primeira reação foi aumentar os initiators JES2.

Funcionou por algumas semanas.

Depois o atraso voltou.

Nova tentativa:

Mais CPU.

Mais memória.

Mais canais.

Nada resolveu.

Quando uma análise de causa raiz foi finalmente realizada, descobriu-se que um programa COBOL executava uma consulta DB2 sem índice adequado.

Toda sexta-feira havia crescimento no volume de dados.

A consulta que normalmente levava segundos passava a consumir minutos.

Um único SQL provocava efeito cascata em dezenas de jobs dependentes.

A verdadeira solução não foi comprar hardware.

Foi corrigir um SQL.


O MÉTODO DOS CINCO PORQUÊS

Uma técnica clássica de RCA é conhecida como:

Five Whys

Cinco Porquês.

Exemplo:

Problema:

Batch falhou.

Por quê?

Dataset estava bloqueado.

Por quê?

Outro job mantinha ENQ.

Por quê?

Entrou em loop.

Por quê?

SQL aguardava retries.

Por quê?

Índice DB2 estava inconsistente.

Agora temos a causa raiz.

Observe que a resposta verdadeira apareceu apenas após várias camadas de investigação.


O INIMIGO INVISÍVEL CHAMADO CULTURA

Muitas vezes a causa raiz não está no software.

Nem no hardware.

Nem na rede.

Está nas pessoas.

Considere o seguinte cenário.

Um deploy derruba produção.

A primeira conclusão costuma ser:

"O desenvolvedor errou."

Mas uma análise profunda pode revelar:

  • Prazo impossível

  • Falta de testes

  • Ausência de homologação

  • Pressão da gestão

  • Processo de aprovação falho

O erro humano foi apenas o último elo da corrente.

A verdadeira falha estava no sistema organizacional.


O MODELO DE CONGRUÊNCIA

Uma abordagem extremamente interessante utilizada em liderança organizacional é o Modelo de Congruência.

Ele analisa cinco dimensões:

Trabalho

O que precisa ser feito?

Dependências

Quem depende de quem?

Capacidades

As pessoas possuem conhecimento suficiente?

Estrutura

A organização facilita ou dificulta o trabalho?

Cultura

Os comportamentos desejados são incentivados?

No Mainframe isso é extremamente aplicável.

Não adianta investir milhões em Z17 se:

  • a equipe não recebe treinamento

  • a documentação está desatualizada

  • os processos são confusos

  • ninguém entende as integrações


O MAINFRAME MODERNO É UM ECOSSISTEMA

Nos anos 80 era relativamente fácil identificar falhas.

Hoje um único fluxo pode envolver:

  • COBOL

  • CICS

  • DB2

  • MQ

  • APIs REST

  • Kafka

  • Cloud

  • Linux on Z

  • Zowe

  • DevOps

A causa raiz pode estar em qualquer lugar.

Ou em vários lugares simultaneamente.

Por isso a investigação precisa ser sistêmica.


A ARMADILHA DO "SEMPRE FOI ASSIM"

Uma das causas mais perigosas de incidentes recorrentes é a complacência.

Frases famosas:

"Isso acontece às vezes."

"Sempre fizemos assim."

"Nunca deu problema."

São frases que deveriam acender alertas imediatos.

Porque normalmente escondem riscos acumulados durante anos.


COMO REALIZAR UM RCA NO MAINFRAME

Passo 1 — Definir o Problema

Não investigue algo genérico.

Errado:

"O sistema está ruim."

Correto:

"O CICS CICSPRD apresentou aumento de resposta de 0,3 para 8 segundos entre 14h e 15h."

Problemas bem definidos geram investigações eficientes.


Passo 2 — Coletar Evidências

Reúna:

  • logs

  • métricas

  • dumps

  • relatórios

  • eventos

Sem dados você possui apenas opiniões.


Passo 3 — Construir a Linha do Tempo

Pergunte:

O que aconteceu primeiro?

O que aconteceu depois?

Qual evento precedeu a falha?

Muitas causas aparecem quando organizamos os fatos cronologicamente.


Passo 4 — Correlacionar Eventos

Um erro aparentemente isolado pode estar conectado a dezenas de outros eventos.

O desafio é encontrar essas relações.


Passo 5 — Aplicar os Cinco Porquês

Continue perguntando:

Por quê?

Até chegar à origem.


Passo 6 — Validar a Hipótese

A hipótese precisa ser comprovada.

Não basta parecer correta.

Ela deve explicar:

  • o incidente

  • os sintomas

  • a recorrência


Passo 7 — Criar Plano de Ação

A correção deve:

  • eliminar a causa

  • reduzir riscos

  • ser mensurável


FERRAMENTAS ESSENCIAIS PARA RCA NO Z/OS

RMF

Identifica gargalos de performance.

SMF

Registra praticamente tudo que acontece.

IPCS

Análise de dumps.

OMEGAMON

Observabilidade avançada.

SDSF

Investigação operacional.

NetView

Correlação de eventos.

System Automation

Automação e recuperação.

JES2

Análise de filas, execução e spool.


O FUTURO: AIOPS E RCA AUTOMATIZADO

Estamos entrando em uma era fascinante.

Ferramentas modernas conseguem:

  • detectar anomalias

  • prever falhas

  • correlacionar eventos

  • sugerir causas prováveis

AIOps não substitui o analista.

Mas amplifica sua capacidade.

O profissional moderno utilizará IA para acelerar investigações complexas.


ONDE A MAIORIA DAS EMPRESAS ERRA

As falhas mais comuns são:

Falta de documentação

Sem histórico não existe aprendizado.

Ausência de postmortem

O incidente é resolvido e esquecido.

Busca por culpados

Pessoas escondem erros quando temem punição.

Falta de métricas

Sem observabilidade não existe RCA.

Correções paliativas

Workarounds substituem soluções definitivas.


COMO EVOLUIR SUA ORGANIZAÇÃO

Empresas maduras desenvolvem cultura de aprendizado.

Após cada incidente perguntam:

  • O que aconteceu?

  • Por que aconteceu?

  • Como detectamos?

  • Como evitaremos recorrência?

  • O que aprendemos?

Essa simples mudança transforma organizações.


O SYSprog PADAWAN E O MESTRE

O Padawan reinicia.

O Mestre investiga.

O Padawan fecha chamados.

O Mestre elimina problemas.

O Padawan trata sintomas.

O Mestre trata causas.

O Padawan celebra quando o sistema volta.

O Mestre celebra quando o sistema não cai novamente.

Essa é a verdadeira evolução profissional.


CONCLUSÃO

Root Cause Analysis não é apenas uma metodologia.

É uma filosofia.

É a diferença entre sobreviver e evoluir.

No mundo do IBM Z17, DevOps, observabilidade, automação e inteligência artificial, a capacidade de descobrir a causa raiz tornou-se uma das habilidades mais valiosas da engenharia moderna.

Porque reiniciar um sistema pode resolver um incidente.

Mas apenas entender a causa raiz pode impedir que ele volte.

E é exatamente isso que separa um operador de console de um arquiteto da estabilidade.

No final das contas, o verdadeiro inimigo nunca foi o abend.

Nunca foi o dump.

Nunca foi o job cancelado.

O verdadeiro inimigo sempre foi aquilo que ninguém investigou.


domingo, 24 de maio de 2026

☕🖥️ A GRANDE ORQUESTRA DO IBM MAINFRAME — QUEM SÃO OS GUARDIÕES DO DATACENTER MAIS PODEROSO DO MUNDO? 🔥

 

Bellacosa Mainframe e a grande orquestra do IBM Mainframe

☕🖥️ A GRANDE ORQUESTRA DO IBM MAINFRAME — QUEM SÃO OS GUARDIÕES DO DATACENTER MAIS PODEROSO DO MUNDO? 🔥

A imagem mostra algo que muita gente fora do universo mainframe nunca entende direito:

👉 um ambiente IBM Mainframe NÃO funciona apenas com “programadores COBOL”.

Ele é praticamente uma cidade tecnológica viva.

Cada profissional controla uma parte crítica do ecossistema.
Quando tudo funciona… ninguém percebe.
Quando algo falha… bancos, governos, seguradoras, cartões, aeroportos e bolsas de valores podem literalmente parar.

Vamos entrar no “datacenter secreto” no estilo Bellacosa Mainframe. ☕💾


🧠 VISÃO GERAL DA EQUIPE MAINFRAME

Na prática, um grande ambiente IBM Z possui:

  • Operadores

  • SysProg

  • SysAdmin

  • Segurança RACF

  • Redes VTAM/TCPIP

  • Performance/Capacity

  • Automação

  • Gerentes do Computer Center

  • Desenvolvedores COBOL/PLI/Natural/Assembler

  • DBA DB2

  • Storage

  • Scheduler

  • Disaster Recovery

  • Middleware

Cada um possui poderes específicos.

E SIM…
há guerras silenciosas entre áreas. 😅


🧑‍💼 1. COMPUTER CENTER MANAGER

☕ “O Maestro do Datacenter”

É o comandante operacional.

Ele não necessariamente configura tudo…
mas coordena TUDO.


🎯 Conhecimento Básico

Precisa entender:

  • Mainframe architecture

  • SLA

  • Incident management

  • Capacity

  • Segurança

  • Auditoria

  • Gestão de crises

  • Escala 24x7

  • ITIL

  • Continuidade


🔥 Principais Atividades

  • Coordenar mudanças

  • Aprovar deploys críticos

  • Gerenciar incidentes severos

  • Controlar equipes

  • Planejar capacidade

  • Coordenar DRP (Disaster Recovery)


🛠️ Ferramentas

  • ServiceNow

  • Control-M

  • Omegamon

  • z/OSMF

  • Jira

  • CA7

  • Tivoli


📋 Responsabilidades

  • Garantir disponibilidade

  • Evitar indisponibilidade bancária

  • Controlar janelas batch

  • Aprovar mudanças críticas


🧨 Easter Egg

Em muitos bancos:

“Se o gerente do datacenter ligar de madrugada…
alguém vai perder o sono.”

😅


🤖 2. AUTOMATION ADMINISTRATOR

☕ “O Senhor dos Robôs do z/OS”

Esse cara automatiza o caos.

Sem ele:
o operador enlouquece.


🎯 Conhecimento Básico

  • REXX

  • NetView

  • System Automation

  • OPS/MVS

  • JES2

  • Console automation

  • SDSF


🔥 Principais Atividades

  • Automatizar mensagens

  • Reiniciar tasks automaticamente

  • Monitorar jobs

  • Criar respostas automáticas

  • Reduzir intervenção humana


🛠️ Ferramentas

  • IBM System Automation

  • CA OPS/MVS

  • NetView

  • REXX

  • SDSF


📋 Exemplo Real

Mensagem:

IEC161I DATA SET FULL

A automação pode:

  1. Detectar erro

  2. Abrir alerta

  3. Alocar novo volume

  4. Reiniciar processo

  5. Avisar operador

Tudo sozinho.

🔥


🧨 Curiosidade

Alguns ambientes possuem:

  • MAIS DE 100 MIL REGRAS AUTOMÁTICAS

Sim…
um “mini cérebro artificial” antes da IA moderna.


👨‍💻 3. SYSTEM PROGRAMMER (SYSPROG)

☕ “O Feiticeiro Supremo do Mainframe”

Esse é o mago negro do IBM Z.

Pouquíssimas pessoas chegam nesse nível.


🎯 Conhecimento Básico

Precisa dominar:

  • z/OS

  • JES2/JES3

  • IPL

  • PARMLIB

  • PROCLIB

  • VTAM

  • SMP/E

  • RACF

  • Dump analysis

  • APF

  • LPA

  • Catalog

  • Unix System Services

E muitas vezes:
Assembler.

😳


🔥 Principais Atividades

  • Instalar produtos IBM

  • Aplicar PTFs

  • Fazer IPL

  • Resolver abends sistêmicos

  • Ajustar performance

  • Gerenciar subsistemas


🛠️ Ferramentas

  • SMP/E

  • IPCS

  • SDSF

  • RMF

  • Omegamon

  • ISPF

  • HCD

  • z/OSMF


📋 Passo a Passo Real — IPL

Cenário:

Atualização crítica do z/OS.

Passos:

  1. Validar PARMLIB

  2. Verificar APF libraries

  3. Aplicar maintenance SMP/E

  4. Fazer backup

  5. Agendar janela

  6. Derrubar subsistemas

  7. Executar IPL

  8. Validar JES2

  9. Subir CICS/DB2

  10. Liberar produção


🧨 Easter Egg SysProg

Os SysProgs antigos dizem:

“Se você nunca derrubou um LPAR em produção…
você ainda é júnior.”

💀


🌐 4. NETWORK ADMINISTRATOR

☕ “O Guardião Invisível da VTAM”

Sem rede…
o terminal 3270 vira decoração.


🎯 Conhecimento Básico

  • VTAM

  • TCP/IP

  • SNA

  • OSA

  • HiperSockets

  • TN3270

  • FTP

  • MQ


🔥 Atividades

  • Configurar conectividade

  • Resolver timeout

  • Ajustar rotas

  • Integrar distribuído

  • Configurar criptografia


🛠️ Ferramentas

  • NETSTAT

  • VTAM commands

  • TCPIP stack

  • Wireshark

  • Omegamon Network


📋 Exemplo

Usuários não conseguem acessar CICS.

Investigação:

  1. TESTAR TN3270

  2. Verificar VTAM ACTIVE

  3. Validar TCPIP

  4. Conferir porta

  5. Analisar firewall

  6. Validar certificado TLS


🧨 Curiosidade

Muitos ambientes antigos ainda possuem:

  • SNA rodando em produção em 2026.

SIM.
Tecnologia dos anos 70 ainda movendo bilhões.

🔥


🔐 5. SECURITY ADMINISTRATOR

☕ “O Mestre do RACF”

Esse profissional controla:
quem pode tocar no quê.


🎯 Conhecimento Básico

  • RACF

  • ACF2

  • TopSecret

  • SAF

  • MFA

  • PassTickets

  • Digital Certificates


🔥 Atividades

  • Criar acessos

  • Auditar usuários

  • Segregar funções

  • Investigar violações

  • Configurar MFA


🛠️ Ferramentas

  • RACF commands

  • SMF

  • zSecure

  • CARLa

  • MFA Server


📋 Exemplo Passo a Passo

Novo analista COBOL:

  1. Criar USERID

  2. Associar GROUP

  3. Liberar TSO

  4. Liberar dataset

  5. Liberar CICS

  6. Validar DB2

  7. Ativar MFA


🧨 Easter Egg RACF

O maior medo de um sysprog:

ICH408I USER NOT AUTHORIZED

😅


📊 6. PERFORMANCE/CAPACITY SPECIALIST

☕ “O Economista do Mainframe”

Ele controla:
CPU = dinheiro.


🎯 Conhecimento

  • RMF

  • SMF

  • WLM

  • CPU tuning

  • IO tuning

  • Paging

  • Buffer pools


🔥 Atividades

  • Analisar gargalos

  • Planejar crescimento

  • Ajustar WLM

  • Reduzir MIPS/MSU

  • Evitar sobrecarga


🛠️ Ferramentas

  • RMF

  • MXG

  • Omegamon

  • Mainview

  • IntelliMagic


📋 Exemplo

Batch noturno atrasou.

Investigação:

  1. CPU saturation?

  2. IO contention?

  3. EXCP elevado?

  4. DB2 lock?

  5. Paging?

  6. Canal congestionado?


🧨 Curiosidade

Em bancos:

1% de otimização

milhões economizados.

💀


🖥️ 7. OPERATOR

☕ “O Piloto da Nave Mainframe”

Muita gente subestima o operador.

ERRO GRAVE.

Ele é quem mantém a operação viva 24x7.


🎯 Conhecimento Básico

  • JES2

  • SDSF

  • Console

  • Batch

  • CICS

  • IPL básico

  • Recovery

  • Procedures


🔥 Principais Atividades

  • Monitorar jobs

  • Responder mensagens

  • Controlar spool

  • Reiniciar tasks

  • Executar comandos

  • Acionar suporte


🛠️ Ferramentas

  • SDSF

  • HMC

  • Omegamon

  • NetView

  • Console z/OS


📋 Exemplo Real — Job Preso

Situação

Job travado há 4 horas.


Operador faz:

1. Verifica SDSF

ST
DA
QUEUE

2. Analisa mensagem

IEC501A

3. Descobre fita offline


4. Aciona storage


5. Monta volume


6. Responde console

R xx,YES

7. Job continua

🔥


🧨 Easter Egg Operador

Operador veterano consegue:

  • identificar problema “pelo barulho do console”.

Sim…
isso existe. 😅


👨‍💻 E OS DEVELOPERS?

☕ “Os Arquitetos do Negócio”

Os developers criam:

  • COBOL

  • PLI

  • Assembler

  • Natural

  • JCL

  • CICS

  • DB2


🎯 Conhecimento

  • Regras bancárias

  • Batch

  • Online

  • VSAM

  • SQL

  • APIs

  • MQ

  • Web Services


🔥 Atividades

  • Criar programas

  • Corrigir abends

  • Fazer tuning SQL

  • Integrar APIs

  • Modernizar legado


🛠️ Ferramentas

  • IDz

  • Endevor

  • Changeman

  • File-AID

  • Abend-AID

  • DB2 SPUFI


📋 Exemplo Real

PIX falhando.

Developer:

  1. Analisa logs

  2. Verifica MQ

  3. Confere DB2

  4. Debuga COBOL

  5. Ajusta timeout

  6. Faz bind DBRM

  7. Libera produção


💀 A VERDADE QUE NINGUÉM CONTA

No mainframe:

  • SysProg culpa rede

  • Rede culpa segurança

  • Segurança culpa developer

  • Developer culpa DB2

  • Operador culpa automação

  • Automação culpa mensagem IBM

  • IBM culpa maintenance faltando

😅


☕ O ECOSSISTEMA REAL

Um grande IBM Mainframe pode ter:

  • milhares de jobs/hora

  • petabytes

  • milhões de transações CICS

  • uptime absurdo

  • processamento financeiro global

E tudo depende dessa equipe funcionando como uma orquestra.


🧨 O MAIOR EASTER EGG DO MAINFRAME

A maioria das pessoas acha que:

“mainframe morreu.”

Enquanto isso…

  • bancos

  • cartões

  • bolsa

  • governos

  • aviação

  • seguradoras

continuam rodando em IBM Z silenciosamente.

💀🖥️☕

terça-feira, 19 de maio de 2026

☕💥 Guia Completo do CICS TS — O Coração Invisível Que Ainda Mantém o Mundo Financeiro Vivo no IBM Z 🖥️🔥

 

Bellacosa Mainframe apresenta o cics ts para padawans

☕💥 Guia Completo do CICS TS — O Coração Invisível Que Ainda Mantém o Mundo Financeiro Vivo no IBM Z 🖥️🔥

Existe um detalhe curioso sobre a computação moderna que pouca gente fora do universo enterprise percebe.

Enquanto milhões discutem cloud, Kubernetes, IA generativa e microsserviços, existe um sistema silencioso processando bilhões de transações financeiras com níveis absurdos de disponibilidade, consistência e performance que praticamente nenhum ambiente distribuído conseguiu reproduzir em escala global.

Esse sistema atende bancos, seguradoras, bolsas de valores, operadoras de cartão, governos, companhias aéreas e gigantes do varejo.

E no centro dessa engenharia quase “alienígena” existe uma criatura lendária chamada:

IBM CICS TS (Customer Information Control System Transaction Server)

Sim…

O famoso CICS.

O “monstro sagrado” do IBM Z.

O middleware transacional que sobreviveu décadas de revoluções tecnológicas enquanto inúmeros “substitutos definitivos” desapareceram da história.

E talvez o mais impressionante:

A maioria das pessoas usa CICS todos os dias sem sequer imaginar.


☕ O Que É o CICS TS?

O IBM CICS TS é um monitor transacional online para IBM Z.

Mas essa definição é pequena demais para explicar sua importância.

Na prática, o CICS é:

  • Um gerenciador de transações

  • Um ambiente de execução

  • Um middleware enterprise

  • Um controlador de recursos

  • Um servidor de aplicações

  • Um roteador de workloads

  • Um orquestrador de segurança

  • Um ecossistema inteiro de processamento online

Ele foi criado para resolver um problema extremamente complexo:

Como permitir milhares — ou milhões — de usuários simultâneos executando transações críticas sem destruir a integridade dos dados?

Esse problema continua existindo até hoje.

E o CICS continua sendo uma das melhores respostas já criadas.


☕ O Significado Real de “TS”

Muita gente fala apenas “CICS”.

Mas o nome atual é:

CICS TS = CICS Transaction Server

O “TS” surgiu quando o produto evoluiu de um simples monitor transacional para uma plataforma enterprise gigantesca.

Hoje o CICS TS oferece:

  • APIs modernas

  • REST

  • JSON

  • SOAP

  • Web Services

  • integração com cloud

  • OpenTelemetry

  • observabilidade

  • containers Java

  • Liberty

  • eventos em tempo real

  • integração com Kafka

  • z/OS Connect

  • APIs híbridas

Ou seja:

O CICS moderno não é “legacy”.

Ele é um sistema transacional enterprise híbrido.


☕ A História Que Quase Ninguém Conhece

O CICS nasceu em 1968.

Isso mesmo.

ANTES da internet moderna.

ANTES do Unix virar padrão.

ANTES do PC existir.

ANTES da computação distribuída.

E mesmo assim seus conceitos arquiteturais continuam modernos.

Isso assusta muita gente.

Porque mostra que alguns engenheiros da IBM literalmente projetaram sistemas décadas à frente do tempo.


☕ O Verdadeiro Papel do CICS no Banco

Imagine um banco sem CICS por 10 minutos.

Agora imagine:

  • PIX parado

  • TED indisponível

  • cartão recusando

  • ATM travado

  • saldo inconsistente

  • autorização falhando

  • filas congestionadas

  • compensação interrompida

O caos.

O CICS existe exatamente para impedir isso.

Ele foi criado para ambientes onde:

  • falha custa milhões

  • inconsistência destrói empresas

  • downtime vira desastre nacional


☕ Como o CICS Funciona na Prática

O modelo do CICS é elegantemente brutal.

Ele recebe milhares de solicitações concorrentes:

  • terminais 3270

  • APIs REST

  • MQ

  • Web Services

  • aplicações móveis

  • gateways financeiros

  • integrações Java

  • middlewares distribuídos

E transforma tudo isso em transações controladas.

Cada transação possui:

  • contexto

  • controle

  • rollback

  • recovery

  • segurança

  • sincronização

  • isolamento

O objetivo é simples:

Garantir integridade absoluta.


☕ O Conceito Mais Importante: Transação

No CICS, tudo gira ao redor de transações.

Uma transação precisa ser:

  • rápida

  • consistente

  • recuperável

  • segura

  • atômica

Se ocorrer falha:

  • rollback

  • recovery

  • journaling

  • syncpoint

O sistema volta ao estado consistente.

Isso parece “normal” hoje.

Mas quando o CICS nasceu isso era engenharia futurista.


☕ O Modelo Pseudo-Conversacional

Aqui está uma das maiores genialidades do CICS.

Ao invés de manter sessões gigantes consumindo memória eternamente, o CICS criou o conceito pseudo-conversacional.

Fluxo simplificado:

  1. usuário envia dados

  2. programa processa

  3. estado é salvo

  4. tarefa termina

  5. recursos são liberados

  6. usuário responde depois

  7. contexto é restaurado

Resultado:

  • escalabilidade absurda

  • menor consumo

  • maior throughput

  • eficiência monstruosa

Esse conceito continua brilhante até hoje.


☕ Regiões CICS — O Mundo Interno

O universo CICS é dividido em regiões.

As mais famosas:

TOR — Terminal Owning Region

Responsável pela comunicação de entrada.

Recebe conexões.

Distribui workloads.


AOR — Application Owning Region

Onde a lógica de negócio roda.

Os programas COBOL vivem aqui.

É o “cérebro operacional”.


FOR — File Owning Region

Gerencia acesso aos datasets e arquivos.

Controla VSAM e recursos compartilhados.


WUI — Web User Interface

Interface administrativa moderna.


JVM Server

Permite workloads Java dentro do CICS.


☕ O Ciclo de Vida de uma Transação

Uma transação passa por múltiplas fases:

1. Attach

O CICS cria a task.


2. Dispatch

A tarefa recebe CPU.


3. Execute

Programa COBOL roda.

Comandos EXEC CICS são processados.


4. File Access

DB2, VSAM, MQ, APIs.


5. Syncpoint

Commit ou rollback.


6. Termination

Task encerrada.

Recursos liberados.


☕ EXEC CICS — A Linguagem Sagrada

Programas COBOL interagem com o CICS usando:

EXEC CICS
   SEND MAP('TELA1')
END-EXEC

ou:

EXEC CICS
   READ FILE('CLIENTE')
END-EXEC

O EXEC CICS funciona como uma API nativa do monitor transacional.

É praticamente uma “linguagem dentro da linguagem”.


☕ BMS — A Engenharia das Telas 3270

Antes de frameworks web existirem…

O CICS já possuía geração dinâmica de interfaces.

Isso acontecia via:

BMS — Basic Mapping Support

O BMS define:

  • campos

  • atributos

  • proteção

  • intensidade

  • validação

  • layouts

Tudo otimizado para terminais 3270.

E absurdamente eficiente.


☕ VSAM + CICS — A Dupla Histórica

Durante décadas:

VSAM + CICS + COBOL

foram a espinha dorsal do sistema financeiro mundial.

O VSAM oferecia:

  • acesso rápido

  • alta confiabilidade

  • baixa latência

  • recuperação eficiente

O CICS coordenava tudo.


☕ CICS + DB2 — A Evolução Enterprise

Com o crescimento do SQL, o DB2 tornou-se dominante.

Hoje o modelo clássico é:

  • CICS

  • COBOL

  • DB2

  • MQ

  • RACF

  • z/OS

A famosa “stack dourada” do IBM Z.


☕ Segurança no CICS

O CICS moderno integra profundamente com:

RACF

Controle de:

  • usuários

  • transações

  • programas

  • recursos

  • datasets

  • APIs

Tudo auditável.

Tudo rastreável.

Tudo controlado.


☕ Performance — O Verdadeiro Monstro

Aqui mora algo que impressiona engenheiros modernos.

O CICS consegue:

  • milhões de transações por segundo

  • latência extremamente baixa

  • uso eficiente de CPU

  • altíssimo throughput

  • estabilidade absurda

E muitas vezes usando menos recursos que arquiteturas distribuídas gigantescas.


☕ O Dispatcher do CICS

O dispatcher controla:

  • prioridades

  • tasks

  • waits

  • dispatching

  • TCBs

  • QR TCB

  • Open TCBs

É uma engenharia refinada ao extremo.

Muitos gargalos críticos surgem exatamente aqui.


☕ QR TCB — O Gargalo Clássico

A famosa QR TCB é quase uma entidade mitológica no mundo mainframe.

Ela controla grande parte do processamento serializado.

Quando ocorre saturação:

  • response time explode

  • filas aumentam

  • CPU sobe

  • throughput despenca

Performance tuning em CICS frequentemente gira ao redor disso.


☕ Open TCB — A Revolução Moderna

O CICS evoluiu para múltiplos TCBs paralelos.

Isso permitiu:

  • maior paralelismo

  • workloads Java

  • threadsafe

  • redução de contenção

  • melhor escalabilidade

Essa foi uma mudança gigantesca.


☕ Threadsafety — O Conceito Que Mudou Tudo

Programas threadsafe podem executar fora da QR.

Resultado:

  • menos serialização

  • mais paralelismo

  • maior throughput

  • menor contenção

Hoje isso é fundamental.


☕ Recovery Manager — O Guardião da Consistência

O CICS possui mecanismos sofisticados de recovery:

  • journaling

  • logging

  • syncpoints

  • backout

  • restart

  • warm start

  • cold start

  • emergency restart

Se algo falha…

O sistema tenta preservar integridade absoluta.


☕ CICS e APIs Modernas

Aqui muita gente fica surpresa.

O CICS moderno fala:

  • REST

  • JSON

  • HTTP

  • SOAP

  • XML

  • OpenAPI

Sim…

Você pode expor COBOL como API REST.

E milhões de empresas fazem isso diariamente.


☕ z/OS Connect — O Portal Entre Dois Mundos

O z/OS Connect EE revolucionou integração.

Ele transforma programas CICS em APIs modernas.

Isso permitiu:

  • integração cloud

  • mobile

  • fintechs

  • microsserviços

  • open banking

Sem reescrever décadas de negócio crítico.


☕ CICS Event Processing

O CICS moderno consegue gerar eventos em tempo real.

Exemplo:

  • transação executada

  • limite excedido

  • fraude detectada

  • cliente premium acessou

  • falha ocorreu

Esses eventos podem alimentar:

  • Kafka

  • Splunk

  • Elastic

  • SIEM

  • observabilidade

  • analytics


☕ Observabilidade Moderna no CICS

O CICS atual entrou oficialmente na era observability.

Hoje temos integração com:

  • OpenTelemetry

  • Grafana

  • Instana

  • Elastic

  • Splunk

  • OMEGAMON

O mundo “caixa preta do mainframe” acabou.


☕ CICS + Java

Sim…

Java dentro do CICS existe.

A IBM criou:

  • JVM Server

  • Liberty Profile

  • integração híbrida

  • APIs Java

  • containers modernos

Tudo coexistindo com COBOL.

É literalmente computação de múltiplas eras convivendo no mesmo ambiente.


☕ O Mito do “Legacy”

Existe uma confusão enorme aqui.

Muita gente chama CICS de legado porque ele é antigo.

Mas “antigo” não significa “obsoleto”.

Pelo contrário.

O CICS continua sendo utilizado porque:

  • funciona

  • escala

  • é resiliente

  • é auditável

  • é seguro

  • é eficiente

  • custa menos do que falhas

O verdadeiro problema não é o CICS.

O problema é engenharia ruim ao redor dele.


☕ O Erro das Empresas Modernas

Muitas organizações tentaram “matar o mainframe”.

Resultado comum:

  • explosão de custo

  • perda de performance

  • inconsistência

  • caos operacional

  • outages

  • rollback do projeto

Então descobriram algo doloroso:

Reproduzir décadas de engenharia transacional é absurdamente difícil.


☕ O Futuro do CICS

O futuro do CICS provavelmente será:

  • híbrido

  • API-first

  • integrado com IA

  • observável

  • conectado à cloud

  • orientado a eventos

  • automatizado

  • cada vez mais invisível

O usuário final nunca verá o CICS.

Mas continuará dependendo dele diariamente.


☕ O Grande Segredo do Mainframe

O público vê:

  • apps bonitos

  • fintechs modernas

  • bancos digitais

  • IA generativa

Mas nos bastidores…

Existe uma infraestrutura brutal garantindo que:

  • dinheiro não suma

  • transações não se corrompam

  • contas permaneçam consistentes

  • bilhões de operações sobrevivam diariamente

E o CICS continua sendo uma das maiores obras de engenharia da história da computação.


☕ Conclusão — O Sistema Que Sobreviveu a Tudo

O CICS sobreviveu:

  • ao nascimento do PC

  • à era Unix

  • à internet

  • ao client/server

  • à virtualização

  • à cloud

  • aos microsserviços

  • ao hype eterno do “fim do mainframe”

E continua processando o coração financeiro do planeta.

Talvez porque tecnologia enterprise real não seja sobre moda.

Talvez seja sobre:

  • estabilidade

  • consistência

  • engenharia

  • previsibilidade

  • confiança

Enquanto bilhões dependem disso…

O CICS continuará vivo.

Silencioso.

Invisível.

E absurdamente indispensável.

quarta-feira, 13 de maio de 2026

🔥☕ DB2 COMMANDS NO IBM Z — A “SALA DE CONTROLE” DO MAINFRAME QUE QUASE NINGUÉM DOMINA 💾🚨

 

Bellacosa Mainframe apresenta o Db2 Commands

🔥☕ DB2 COMMANDS NO IBM Z — A “SALA DE CONTROLE” DO MAINFRAME QUE QUASE NINGUÉM DOMINA 💾🚨

Existe uma enorme diferença entre:

  • usar DB2,
    e

  • controlar o DB2.

A maioria dos profissionais conhece:

  • SQL,

  • SELECT,

  • tabelas,

  • índices,

  • packages.

Mas poucos realmente entendem o universo dos:

🔥 DB2 COMMANDS

E é exatamente aí que mora o verdadeiro poder operacional do IBM Z.

Porque quando:

  • o online trava,

  • o batch explode,

  • o CPU dispara,

  • o lock congela produção,

  • o DDF enlouquece,

  • o bufferpool satura,

não é o SQL que salva o ambiente.

É o operador que conhece:

-DISPLAY
-START
-STOP
-RECOVER
-MODIFY
-TRACE

E consegue enxergar o subsystem “por dentro”.


💾 O QUE SÃO DB2 COMMANDS?

Os DB2 Commands são comandos operacionais do Db2 for z/OS usados para:

  • monitoramento,

  • administração,

  • recovery,

  • troubleshooting,

  • tuning,

  • automação,

  • controle do subsystem.

Eles podem ser executados:

  • no SDSF,

  • DB2I,

  • console z/OS,

  • batch,

  • CICS,

  • IMS,

  • TSO,

  • programas autorizados.


🔥 A GRANDE VERDADE

O DB2 no Mainframe não é apenas:

SELECT * FROM CLIENTES

Ele é:

  • locking engine,

  • recovery engine,

  • log manager,

  • memory manager,

  • distributed server,

  • transaction coordinator,

  • storage subsystem.

E os comandos são o “painel de engenharia” desse motor gigantesco.


🚨 O COMANDO MAIS IMPORTANTE: DISPLAY

Quase tudo começa com:

-DISPLAY

ou forma curta:

-DIS

Esse comando possui dezenas de variações.

Cada uma revela uma parte diferente da “anatomia” do DB2.


🔥 DISPLAY THREAD — O ECG DO DB2

Comando

-DIS THREAD(*)

💾 O QUE ELE MOSTRA?

Threads ativas:

  • CICS,

  • batch,

  • DDF,

  • TSO,

  • IMS,

  • utilities.


🧠 O QUE É UMA THREAD?

É uma unidade ativa de execução DB2.

Pense como:

“uma conversa acontecendo agora com o banco”.


🚨 O QUE O DBA ANALISA?

WAIT

Pode indicar:

  • lock,

  • I/O lento,

  • deadlock.


CPU ALTÍSSIMA

Uma única thread pode:

  • consumir MSU,

  • destruir zIIP,

  • travar subsystem.


THREADS ZUMBI

Conexões:

  • abertas,

  • sem commit,

  • esquecidas pela aplicação.


💥 CENÁRIO REAL

Aplicação Java:

  • abre milhares de conexões DDF,

  • não fecha corretamente.

Resultado:

-DIS THREAD(*)

mostra:

  • avalanche de threads,

  • consumo absurdo,

  • risco subsystem.


🔥 DISPLAY DATABASE — A RADIOGRAFIA DO STORAGE LÓGICO

Comando

-DIS DB(*)

ou:

-DIS DATABASE(DBPROD)

💾 O QUE ELE ENTREGA?

Mostra:

  • tablespaces,

  • status,

  • pendências,

  • utilities,

  • recovery,

  • states críticos.


🚨 ESTADOS MAIS IMPORTANTES

EstadoSignificado
RWRead/Write
STOPParado
RORead Only
UTUtility rodando
COPYBackup pendente
CHKPCheck pending
RECPRecovery pending

💣 RECP — O PESADELO

Recovery Pending significa:

o objeto não pode ser usado.

Pode ocorrer após:

  • LOAD falho,

  • recover incompleto,

  • corrupção.


🔥 DISPLAY BUFFERPOOL — O RAIO-X DA MEMÓRIA

Comando

-DIS BPOOL(*)

💾 O QUE É BUFFERPOOL?

É o cache inteligente do DB2.

Armazena:

  • páginas,

  • índices,

  • dados acessados recentemente.


🚨 O QUE O SYSPOG OBSERVA?

HIT RATIO

Baixo hit ratio:

  • mais I/O,

  • mais disco,

  • mais CPU.


PGFIX(NO)

Pode gerar:

  • paging,

  • overhead CPU.


VPSIZE PEQUENO

Causa:

  • sync I/O,

  • gargalo físico.


💥 A VERDADE INCÔMODA

Muitos problemas “de SQL” são:

problemas de bufferpool.


🔥 DISPLAY DDF — O PULMÃO DISTRIBUÍDO

Comando

-DIS DDF

💾 O QUE É DDF?

Distributed Data Facility.

Responsável por:

  • JDBC,

  • APIs,

  • microservices,

  • Linux,

  • cloud,

  • aplicações externas.


🚨 O QUE PODE DAR ERRADO?

CONDBAT ESGOTADO

Muitas conexões simultâneas.


THREADS DISTRIBUÍDAS PRESAS

Pode indicar:

  • problema TCP/IP,

  • timeout,

  • Java pool ruim.


DDF STOPPED

🔥 desastre moderno.

APIs param imediatamente.


🔥 DISPLAY LOCKS — O DETETIVE DO CRIME

Comando

-DIS LOCKS

💾 O QUE ELE REVELA?

  • locks,

  • waits,

  • deadlocks,

  • recursos presos.


💥 CENÁRIO CLÁSSICO

Batch:

UPDATE CLIENTES

sem commit adequado.

Resultado:

  • CICS trava,

  • PIX para,

  • ATM congela.

DBA roda:

-DIS LOCKS

e encontra:

  • o “assassino” da produção 😄


🔥 DISPLAY UTILITY — O CENTRO CIRÚRGICO

Comando

-DIS UTIL(*)

💾 UTILITIES IMPORTANTES

UtilityFunção
REORGReorganização
COPYBackup
LOADCarga
RUNSTATSEstatísticas
RECOVERRecovery

🚨 O QUE O DBA PROCURA?

Utility parada

Pode indicar:

  • falta espaço,

  • lock,

  • erro I/O.


REORG ETERNA

Talvez:

  • tablespace gigantesca,

  • SORT insuficiente,

  • disco saturado.


🔥 DISPLAY LOG — O DNA DO DB2

Comando

-DIS LOG

💾 O QUE ANALISAR?

  • active logs,

  • archive logs,

  • checkpoints,

  • offload,

  • dual logging.


🚨 QUANDO O LOG SOFRE…

O subsystem inteiro sofre:

  • commits lentos,

  • rollback lento,

  • recover piora,

  • throughput cai.


💣 O LOG É O “SISTEMA NERVOSO” DO DB2

Sem log saudável:

não existe integridade transacional.


🔥 ADVISORY STATES — O DB2 TENTANDO TE AVISAR

Comando

-DIS DB(*) SPACENAM(*) ADVISORY

💾 O QUE É ADVISORY?

O DB2 dizendo:

“isso ainda funciona… mas vai piorar.”


🚨 AREO*

Advisory REORG Pending.

O DB2 recomenda:

REORG

🚨 ARBDP

Advisory Rebuild Pending.

Índice precisa rebuild.


💥 O QUE ACONTECE SE IGNORAR?

  • access path degrada,

  • CPU sobe,

  • scans aumentam,

  • overflow explode.


🔥 LPL — QUANDO O DB2 ENTRA EM MODO SOBREVIVÊNCIA

Comando

-DIS DB(DBPROD) SPACENAM(*) LPL

💾 LPL = LOGICAL PAGE LIST

Lista páginas:

  • danificadas,

  • inconsistentes,

  • problemáticas.


🚨 COMO ISSO ACONTECE?

  • falha I/O,

  • corrupção,

  • queda sistema,

  • escrita interrompida.


💥 IMPACTO

  • SQLCODE,

  • abends,

  • indisponibilidade,

  • recover obrigatório.


🔥 START E STOP — O “PODER ABSOLUTO”

START DATABASE

-START DB(DBPROD)

Disponibiliza objeto.


STOP DATABASE

-STOP DB(DBPROD)

Indisponibiliza objeto.


🚨 USADO EM:

  • maintenance,

  • recovery,

  • migração,

  • REORG,

  • troubleshooting.


💣 UM STOP ERRADO EM PRODUÇÃO…

…vira reunião de crise 😄


🔥 CANCEL THREAD — O BOTÃO VERMELHO

Comando

-CANCEL THREAD(token)

💾 PARA QUE SERVE?

Mata:

  • thread travada,

  • SQL infinito,

  • aplicação congelada.


🚨 RISCO

Cancelar thread:

  • pode gerar rollback gigante,

  • lock storm,

  • pressão de log.


🔥 TRACE — O MODO CSI DO DB2

Comando

-START TRACE

💾 O QUE É TRACE?

Captura:

  • eventos internos,

  • IFCIDs,

  • waits,

  • SQL,

  • locking,

  • performance.


🚨 PROBLEMA

Trace excessivo:

  • consome CPU,

  • gera overhead,

  • pode piorar produção.


🔥 DSN — A PORTA DE ENTRADA DO DB2

Comando

DSN SYSTEM(DB9G)

💾 O QUE ELE FAZ?

Inicia sessão DB2 sob TSO.


🚨 SE DER ERRO

IKJ56500I COMMAND DSN NOT FOUND

normalmente:

  • SDSNLOAD ausente,

  • STEPLIB errada.


💾 SDSNLOAD — O “CORAÇÃO” DO DB2 BATCH

Contém:

  • DSN,

  • utilities,

  • runtime,

  • SPUFI,

  • módulos DB2.

Sem SDSNLOAD:

não existe DB2 batch.


🔥 IKJEFT01 — O CANIVETE SUÍÇO

Programa clássico usado para:

  • batch DB2,

  • SPUFI,

  • RUN,

  • BIND,

  • REBIND,

  • comandos DISPLAY.


💥 EXEMPLO REAL

//STEP1 EXEC PGM=IKJEFT01
//STEPLIB DD DISP=SHR,DSN=DSN910.SDSNLOAD
//SYSTSIN DD *
 DSN SYSTEM(DB9G)
 -DIS THREAD(*)
 END
/*

🔥 O QUE SEPARA O OPERADOR COMUM DO VETERANO

O iniciante:

  • olha dashboard.

O veterano:

  • olha threads,

  • logs,

  • locks,

  • utilities,

  • bufferpools,

  • advisory states,

  • DDF,

  • recovery.

Porque ele sabe:

o DB2 SEMPRE avisa antes do desastre.


☕ O VERDADEIRO PODER DO MAINFRAME

No mundo distribuído:

  • reiniciam servidor.

No IBM Z:

  • analisam causa raiz.

E os DB2 Commands continuam sendo:

  • rápidos,

  • leves,

  • resilientes,

  • precisos,

  • praticamente eternos.

Décadas depois…
o terminal 3270 ainda continua revelando tudo para quem sabe ler os sinais do subsystem DB2 💾🔥

domingo, 26 de outubro de 2025

☕🔥💣 IMS DL/I É O VERDADEIRO NoSQL ORIGINAL?

 

Bellacosa Mainframe apresenta conceitos de DL/I em IMS

☕🔥💣 IMS DL/I É O VERDADEIRO NoSQL ORIGINAL?

O dinossauro do mainframe que já fazia navegação hierárquica décadas antes do Vale do Silício inventar o termo “NoSQL”

Existe uma ironia maravilhosa na história da computação.

Durante anos o mercado vendeu a ideia de que:

  • NoSQL era revolucionário

  • bancos hierárquicos eram ultrapassados

  • o futuro havia finalmente derrotado o legado

Então, em algum momento, muita gente percebeu uma coisa desconfortável:

O IMS já fazia várias dessas ideias nos anos 60.

Sim.

Décadas antes de MongoDB, Cassandra, DynamoDB ou Redis existirem…

o velho IMS já trabalhava com:

  • navegação hierárquica

  • acesso sem SQL

  • paths previsíveis

  • estruturas não relacionais

  • acesso ultrarrápido

  • escalabilidade absurda

E isso gera uma pergunta extremamente provocativa:

O IMS DL/I pode ser considerado um NoSQL?

A resposta curta é:

☕ Tecnicamente… SIM.

Mas com algumas nuances MUITO interessantes.


🌳 Antes do SQL Existia o Mundo Selvagem

Hoje quase todo desenvolvedor nasce dentro do universo SQL.

Tudo gira em torno de:

SELECT
INSERT
UPDATE
DELETE
JOIN

Mas antes da explosão dos bancos relacionais, o cenário era completamente diferente.

Existiam:

  • bancos hierárquicos

  • bancos em rede

  • ISAM

  • VSAM

  • estruturas proprietárias

E foi nesse ambiente que nasceu o IMS.

Em 1968.

Durante o projeto Apollo.

Ou seja:

o IMS surgiu ANTES do SQL dominar o planeta.


🚀 O Que Define um Banco NoSQL?

Essa é a chave da discussão.

NoSQL normalmente significa:

“Not Only SQL”

Ou seja:

bancos que NÃO dependem do modelo relacional tradicional.

Exemplos modernos:

  • MongoDB → documento

  • Cassandra → colunar distribuído

  • Redis → chave/valor

  • Neo4j → grafos

O ponto central é:

O modelo não-relacional.

E aqui o IMS entra com força brutal.


🌳 IMS NÃO é Relacional

O IMS trabalha com:

Estruturas hierárquicas

Exemplo:

CLIENTE
 └── CONTA
      └── CARTAO
           └── MOVIMENTO

Isso NÃO é uma tabela relacional.

Não existem JOINs naturais.

Não existe optimizer SQL clássico.

Não existe álgebra relacional.

O acesso ocorre via:

  • navegação

  • paths

  • ponteiros físicos

  • hierarquia

Exatamente como muitos NoSQL modernos.


⚡ DL/I — O Anti-SQL

Aqui está a maior diferença filosófica.

No SQL você diz:

“O que eu quero.”

O banco decide:

  • índice

  • plano

  • join

  • optimizer

No DL/I você diz:

“Como navegar.”

Exemplo clássico:

CALL 'CBLTDLI'
     USING 'GU  '
           PCB
           AREA
           SSA.

O programador controla explicitamente:

  • navegação

  • path

  • posição

  • contexto hierárquico

Isso é MUITO mais próximo de certos bancos NoSQL modernos do que muita gente imagina.


💾 O IMS Já Fazia “Document Thinking”

Observe a estrutura:

CLIENTE
 └── CONTA
      └── MOVIMENTO

Isso lembra MUITO:

  • documentos aninhados

  • árvores JSON

  • estruturas embedded

Exatamente o tipo de modelagem popularizada décadas depois por MongoDB.

A diferença?

O IMS fazia isso quando memória ainda era luxo.


🚀 Então o IMS Era um MongoDB dos Anos 60?

😄

Não exatamente.

Mas existe uma verdade desconfortável:

Muitos conceitos NoSQL modernos já existiam no IMS.

Especialmente:

  • hierarquia

  • navegação direta

  • ausência de JOIN

  • acesso por path

  • performance orientada ao modelo físico


⚔️ Onde o IMS Difere do NoSQL Moderno

Aqui entram diferenças importantes.


🌐 Distribuição

Muitos NoSQL modernos nasceram para:

  • cloud

  • clusters massivos

  • commodity servers

  • sharding horizontal

O IMS nasceu para:

Mainframe centralizado de missão crítica.


🧠 Consistência

Muitos NoSQL modernos sacrificam:

  • consistência forte

  • ACID completo

em troca de escalabilidade.

O IMS faz o contrário.

Ele foi criado para:

  • integridade brutal

  • transações críticas

  • confiabilidade absoluta

Ou seja:

O IMS é MUITO mais conservador.


🔥 O IMS é Quase “Pré-NoSQL”

Talvez a melhor definição seja:

O IMS é um ancestral direto do pensamento NoSQL.

Porque ele já trabalhava com:

✅ modelo não relacional
✅ paths previsíveis
✅ hierarquia
✅ performance orientada à estrutura
✅ ausência de JOIN pesado

Décadas antes do termo existir.


🌳 O Grande Segredo: O Modelo Físico

A maioria dos bancos modernos tenta esconder o armazenamento físico.

O IMS faz quase o oposto.

No IMS avançado:

  • HDAM

  • HIDAM

  • DEDB

  • randomizers

  • root anchor points

influenciam diretamente o comportamento do banco.

O programador IMS clássico precisava entender:

COMO O DADO EXISTE NO DISCO.

Isso é extremamente raro hoje.


⚡ Por Que o IMS Continua Tão Rápido?

Porque ele evita camadas gigantescas de abstração.

No SQL moderno:

consulta
 → optimizer
 → parser
 → planner
 → join engine
 → executor

No IMS:

path → ponteiro → segmento

Muito mais direto.

Muito mais previsível.

Muito mais brutal.


☕ Easter Egg Mainframe

Existe uma piada cruel no mundo IMS:

“MongoDB reinventou a árvore.
IMS já morava na floresta.”

😄

E honestamente?

Existe bastante verdade nisso.


🌳 IMS e JSON — O Paradoxo Moderno

Aqui a coisa fica quase cyberpunk.

Hoje muitos sistemas modernos fazem:

JSON → API REST → z/OS Connect → IMS DL/I

Ou seja:

Aplicações mobile modernas acabam alimentando um banco hierárquico criado antes da internet existir.

Isso é absurdamente fascinante.


🚀 O Que os Desenvolvedores Modernos Não Percebem

Muita gente olha o IMS e pensa:

“legado.”

Veteranos enxergam outra coisa:

Engenharia extrema.

Porque o IMS foi construído numa época onde:

  • CPU era escassa

  • disco era lento

  • memória era minúscula

Então a IBM precisou criar um sistema:

  • previsível

  • eficiente

  • econômico

  • extremamente otimizado

O resultado?

Uma arquitetura que continua competitiva em workloads específicos até hoje.


⚔️ O SQL Venceu… Mas Não Matou o IMS

O SQL venceu o mercado corporativo.

Isso é fato.

Mas ele NÃO substituiu totalmente o IMS.

Porque existem workloads onde:

  • previsibilidade

  • TPS

  • throughput

  • latência mínima

são mais importantes que flexibilidade.

Especialmente em:

  • bancos

  • telecom

  • ATM

  • autorização financeira

  • seguros


🌐 O Verdadeiro Paradoxo

O mercado moderno adora chamar IMS de “tecnologia antiga”.

Mas muitas arquiteturas modernas acabaram:

voltando para ideias que o IMS já utilizava.

Inclusive:

  • modelos não relacionais

  • acesso orientado a documento

  • estruturas hierárquicas

  • paths previsíveis

  • performance baseada no modelo físico

A história da computação é cheia dessas ironias.


💣 Então… IMS DL/I É NoSQL?

A resposta mais honesta seria:

SIM.

Mas um NoSQL ancestral.

Um NoSQL criado décadas antes do marketing inventar o termo.

O IMS não nasceu tentando ser moderno.

Ele nasceu tentando sobreviver às limitações brutais dos anos 60.

E talvez justamente por isso ele ainda exista.

Porque no final das contas:

modas tecnológicas mudam.

Mas sistemas que realmente entregam performance absurda em missão crítica raramente desaparecem.

E o velho DL/I continua navegando pela árvore como poucos sistemas modernos conseguem fazer.

quarta-feira, 18 de setembro de 2024

AIOps : Quando um Programador Embarca no Seaview e Descobre que o Verdadeiro Monstro do Oceano Não é um Polvo Gigante.

Bellacosa Mainframe apresenta o aiops

☕ Um Café no Bellacosa Mainframe

AIOps sem Mistérios para Programadores COBOL

Quando um Programador Embarca no Seaview e Descobre que o Verdadeiro Monstro do Oceano Não é um Polvo Gigante... É uma Anomalia de Performance Escondida Entre Milhões de Métricas

"Profundidade: 8.000 metros."

"Pressão externa: centenas de atmosferas."

"Silêncio absoluto."

No fundo do oceano não existe espaço para improvisação.

Não existe Ctrl+C.

Não existe reboot.

Não existe "vamos tentar novamente amanhã".

Uma pequena falha...

...e toda a missão termina.

Curiosamente, é exatamente assim que funciona um IBM Z.

Enquanto milhões de pessoas compram, transferem dinheiro, usam cartões, fazem PIX, reservam passagens e movimentam bolsas de valores, o mainframe continua trabalhando silenciosamente nas profundezas da infraestrutura mundial.

É justamente aí que nasce o universo do AIOps, do Performance Management e do Capacity Planning.

Prepare seu uniforme da Marinha Nelson Institute, embarque no USS Seaview, comandado pelo Almirante Harriman Nelson e pelo Capitão Lee Crane, porque hoje faremos uma viagem ao fundo do mar... das métricas do IBM Z.


Capítulo 1 — O Oceano Invisível do Mainframe

Todo iniciante imagina que um computador executa apenas programas.

Na realidade, um IBM Z executa milhares de atividades simultaneamente.

Enquanto seu programa COBOL faz um simples:

READ CLIENTES

o sistema inteiro está trabalhando.

Nos bastidores existem:

  • Dispatcher

  • PR/SM

  • WLM

  • zIIP

  • RMF

  • SMF

  • CICS

  • Db2

  • MQ

  • JES2

  • VSAM

  • RACF

  • DFSMS

  • Coupling Facility

  • IOS

  • Channel Subsystem

Todos gerando estatísticas.

Imagine centenas de sensores espalhados pelo casco do Seaview.

Cada sensor mede:

  • pressão

  • temperatura

  • velocidade

  • combustível

  • profundidade

  • oxigênio

  • consumo elétrico

Agora multiplique isso por dezenas de milhares.

É isso que o IBM Z mede continuamente.


Easter Egg nº 1

Na série Viagem ao Fundo do Mar, o Seaview parecia navegar calmamente.

Mas na sala de máquinas havia dezenas de oficiais monitorando centenas de instrumentos.

No IBM Z acontece exatamente o mesmo.

Você vê apenas uma tela 3270.

Por trás dela existe um oceano inteiro de telemetria.


Capítulo 2 — O erro que muita gente está cometendo

Com a chegada dos LLMs surgiu uma ideia perigosa.

"Agora basta perguntar para uma IA."

Será?

Imagine entrar no Seaview e perguntar:

— IA, estamos seguros?

Resposta:

— Sim.

Fim.

Mas...

E se existir uma microfissura no casco?

E se um sonar estiver apresentando ruído?

E se uma bomba hidráulica estiver começando a vibrar?

A IA respondeu.

Mas não analisou.

Essa é exatamente a diferença entre um chatbot e uma plataforma especializada como o IBM Z IntelliMagic Vision.


Informação não é conhecimento

Uma IA pode responder:

"A CPU está em 82%."

Ótimo.

Mas isso é bom?

Ruim?

Esperado?

Anormal?

Ela não sabe.

Porque falta contexto.

O especialista pergunta:

  • qual CPC?

  • qual LPAR?

  • qual horário?

  • qual workload?

  • qual Service Class?

  • qual política WLM?

  • houve IPL?

  • mudou o firmware?

  • houve novo package Db2?

  • apareceu nova aplicação Java?

  • aumentou MQ?

  • mudou o peso PR/SM?

É outro nível de investigação.


Capítulo 3 — O verdadeiro tesouro do oceano chama-se SMF

Poucos iniciantes conhecem o SMF.

Mas ele talvez seja o recurso mais valioso do z/OS.

SMF significa:

System Management Facility

Pense nele como o diário de bordo do Seaview.

Tudo é registrado.

Tudo.

Quem usou CPU.

Quem fez I/O.

Quem abriu datasets.

Quem executou CICS.

Quem acessou Db2.

Quem consumiu zIIP.

Quem gerou paging.

Quem alterou configuração.

Décadas de história ficam registradas.

Sem SMF...

não existe análise histórica.


Curiosidade

Muitas empresas possuem anos de dados SMF armazenados.

Algumas conseguem comparar o comportamento atual com períodos de cinco ou dez anos atrás.

É como comparar uma expedição submarina atual com os registros originais do Almirante Nelson.


Capítulo 4 — Uma imagem vale mais que mil RMFs

O artigo comenta algo extremamente importante.

Uma figura vale mais que mil palavras.

Observe mentalmente a topologia apresentada.

Diversos:

CPC

LPARs

Sysplex

Tudo conectado.

Em segundos o especialista entende:

Quem pertence a quem.

Quem compartilha recursos.

Quem faz parte do mesmo Sysplex.

Quem utiliza determinado processador.

Nenhum texto consegue transmitir isso tão rapidamente.


Easter Egg nº 2

No Seaview existia uma enorme mesa de navegação.

Ninguém decorava o oceano.

Eles olhavam o mapa.

O IntelliMagic faz exatamente isso.

Ele desenha o mapa do seu mainframe.


Capítulo 5 — O poder do Change Detection

Imagine esta situação.

Segunda-feira:

Tudo perfeito.

Terça-feira:

Usuários reclamando.

O que mudou?

Essa pergunta pode consumir dias de investigação.

Mas o IntelliMagic compara automaticamente períodos diferentes.

Ele verifica:

  • CPU

  • zIIP

  • Dispatch Time

  • Busy

  • Eligible Work

  • Utilização

  • Tendências

  • Desvios

Não apenas mostra valores.

Mostra mudanças.

E mais importante...

Mostra mudanças relevantes.


O segredo do desvio padrão

Imagine um sonar.

O ruído normal fica entre:

10 e 15 decibéis.

Hoje apareceu:

Nada mudou.

Agora imagine:

Tem algo enorme vindo na direção do submarino.

Foi isso que o desvio padrão detectou.

Mudanças realmente fora do comportamento esperado.

Não basta aumentar.

Precisa aumentar de forma estatisticamente significativa.


Capítulo 6 — Health Rating

Talvez a funcionalidade mais fascinante.

Imagine o painel do Seaview.

Luzes verdes.

Luzes amarelas.

Luzes vermelhas.

Você não precisa ler milhares de sensores.

Basta olhar o painel.

No IntelliMagic ocorre exatamente isso.

Cada sistema recebe indicadores como:

  • Dispatch Time

  • MVS Busy

  • LPAR Busy

  • zIIP

  • IOSQ

  • Pending

  • Connect

  • Interrupt

  • Page-ins

Em poucos segundos o especialista sabe onde investigar primeiro.


Dica Bellacosa

Nunca olhe apenas um indicador.

Performance é correlação.

CPU alta pode ser consequência.

Não a causa.


Capítulo 7 — Tendência vale mais que fotografia

Uma fotografia mostra um instante.

Um gráfico mostra uma história.

É por isso que Capacity Planning utiliza séries históricas.

Não interessa apenas saber:

Hoje = 70%.

Interessa descobrir:

Janeiro:

65%

Fevereiro:

67%

Março:

69%

Abril:

72%

Maio:

75%

Junho:

78%

Agora existe uma tendência.

Sem histórico...

não existe previsão.


Capítulo 8 — Capacity Planning

Aqui muitos iniciantes cometem outro erro.

Pensam:

Capacity Planning = CPU.

Não.

CPU é apenas uma peça.

O especialista observa:

CPU

Memória

I/O

Storage

Channels

Paging

Network

zIIP

MSU

Software

CICS

Db2

MQ

IMS

Batch

Online

WLM

Tudo ao mesmo tempo.

Porque gargalos raramente aparecem isolados.


Curiosidade

Em muitos ambientes o problema nunca foi CPU.

Foi um único volume DASD saturado.

Ou uma fila MQ crescendo.

Ou uma política WLM mal definida.

Ou uma consulta SQL sem índice.


Capítulo 9 — O verdadeiro papel do especialista

O artigo fala algo maravilhoso.

O maior problema não é coletar dados.

É interpretá-los.

Hoje qualquer ferramenta coleta milhões de métricas.

Mas poucas conseguem responder:

O que realmente importa?

Imagine o Seaview.

Existem dez mil instrumentos.

Mas apenas um oficial experiente percebe que pequenas vibrações significam falha futura.

É exatamente isso que faz um especialista em performance.


Capítulo 10 — Explainability

Uma IA responde.

O especialista explica.

Existe enorme diferença.

Imagine um diretor perguntando:

"Por que precisamos comprar outro CPC?"

Você responde:

"Porque a IA sugeriu."

A reunião termina.

Agora imagine responder:

  • crescimento médio de 18% ao ano;

  • tendência confirmada em 36 meses;

  • workloads Batch crescendo;

  • consumo zIIP estabilizado;

  • pico de MSU chegando ao limite contratual;

  • risco para SLA da aplicação bancária;

  • previsão estatística de saturação em oito meses.

Agora existe evidência.


Easter Egg nº 3

No Seaview, o Almirante Nelson nunca dizia apenas:

"Vamos mergulhar."

Ele mostrava:

  • cartas náuticas;

  • sonar;

  • profundidade;

  • corrente marítima;

  • combustível;

  • pressão.

Isso é explainability.


Capítulo 11 — IA não substitui Analytics

Esse talvez seja o maior ensinamento do artigo.

A IA facilita perguntas.

O IntelliMagic produz respostas confiáveis.

Pense assim.

ChatGPT é como um excelente oficial de comunicações.

Ele conversa.

Resume.

Explica.

O IntelliMagic é o centro de controle do submarino.

Recebe milhares de sinais.

Correlaciona.

Detecta anomalias.

Calcula riscos.

Prevê problemas.

Ambos trabalham juntos.

Jamais um substitui o outro.


Passo a passo de uma investigação de performance

Imagine que um gerente liga dizendo:

"O sistema ficou lento."

Como um especialista procede?

Passo 1 — Confirmar o sintoma

Foi CPU?

I/O?

Rede?

Storage?

Aplicação?


Passo 2 — Comparar com a baseline

Como era ontem?

Semana passada?

Mesmo horário?


Passo 3 — Procurar mudanças

Novo deploy?

Novo package?

Nova política WLM?

Novo firmware?

Novo microcódigo?


Passo 4 — Correlacionar métricas

CPU alta.

Mas também houve:

  • aumento de I/O;

  • queda no cache;

  • crescimento do MQ;

  • aumento de locks Db2.

Agora aparece a verdadeira causa.


Passo 5 — Avaliar impacto

Quem sofreu?

Clientes?

PIX?

Internet Banking?

Cartão?

Folha?

Ou apenas um batch interno?


Passo 6 — Recomendar ações

Redistribuir workload.

Aumentar zIIP.

Reconfigurar WLM.

Otimizar SQL.

Criar índices.

Mover datasets.

Alterar prioridades.


O futuro

A próxima geração de ferramentas será híbrida.

Imagine conversar com a plataforma:

"Quais sistemas apresentaram crescimento anormal?"

A IA responde.

Mas por trás dela existe um motor especializado analisando:

  • milhares de métricas;

  • estatísticas;

  • tendências;

  • Health Insights;

  • correlações;

  • previsões.

É exatamente essa união que o artigo chama de:

AI + Analytics.


Curiosidades Bellacosa

✅ Um único IBM Z pode produzir milhões de registros SMF por dia.

✅ O WLM ajusta prioridades automaticamente centenas de vezes por segundo para manter os objetivos de serviço.

✅ O zIIP pode descarregar grande parte do processamento elegível de Db2, XML, Java, criptografia e workloads analíticos, reduzindo custos de software em muitos cenários.

✅ Um problema aparentemente "de CPU" pode, na verdade, ser consequência de filas de I/O, contenção em locks Db2, espera por MQ ou políticas WLM inadequadas.

✅ Ferramentas como o IBM Z IntelliMagic Vision incorporam décadas de conhecimento de especialistas em performance, automatizando análises que antes exigiam anos de experiência.


Conclusão — A Verdadeira Viagem ao Fundo do Mar

Ao final da missão, o USS Seaview emerge lentamente das profundezas. A tripulação sobreviveu não porque tinha o sonar mais bonito ou o rádio mais moderno, mas porque soube interpretar corretamente cada sinal vindo do oceano.

No IBM Z acontece exatamente o mesmo.

Os gráficos, mapas de Sysplex, indicadores de saúde, detecção automática de mudanças e análises históricas são os "sonares" do mundo corporativo. Eles transformam bilhões de amostras de desempenho em conhecimento acionável.

A IA generativa representa o novo oficial de comunicações: traduz perguntas complexas para linguagem natural, resume informações e acelera o acesso ao conhecimento. Já plataformas como o IBM Z IntelliMagic Vision são o cérebro analítico do navio, capazes de correlacionar milhares de métricas, detectar riscos antes que se tornem incidentes e justificar cada conclusão com evidências.

Para o programador COBOL iniciante, a maior lição é simples: escrever um bom programa não significa apenas fazer a lógica funcionar. Significa entender como esse programa consome CPU, acessa VSAM e Db2, utiliza CICS, aproveita zIIP, respeita as metas do WLM e influencia todo o ecossistema do mainframe.

No universo Bellacosa Mainframe, o código é apenas a ponta do iceberg.

A verdadeira aventura começa quando você aprende a enxergar o oceano invisível que existe sob cada EXEC CICS, cada SELECT no Db2, cada mensagem no MQ e cada READ em um dataset. É nesse oceano que vivem os maiores desafios da engenharia de performance — e também onde se encontram os maiores tesouros de conhecimento para quem deseja se tornar um verdadeiro Mestre Jedi do Mainframe.

quinta-feira, 16 de junho de 2022

☕💥 A Jornada do Sysprog Padawan – ACEE – O Crachá Mágico do Reino IBM Z Parte I

 

Bellacosa Mainframe apresenta o ACEE Parte I

☕💥 A Jornada do Sysprog Padawan – Parte 1

ACEE – O Crachá Mágico do Reino IBM Z

O Control Block que quase ninguém conhece, mas que todos utilizam diariamente

"No Mainframe, existem estruturas que todo mundo usa, poucas pessoas enxergam e quase ninguém compreende completamente. O ACEE é uma delas."

Bellacosa Mainframe


Introdução

Todo Sysprog iniciante aprende rapidamente algumas siglas que parecem fazer parte de uma língua secreta:

  • PSA

  • CVT

  • TCB

  • ASCB

  • RB

  • CSA

  • SQA

  • RACF

  • SAF

Mas existe um pequeno personagem que vive escondido dentro da memória do z/OS e que participa de praticamente todas as decisões de segurança do sistema:

O ACEE

Accessor Environment Element

E aqui está algo curioso:

Você provavelmente utilizou milhares de ACEEs durante sua carreira sem nunca perceber.

Toda vez que alguém faz logon no TSO.

Toda vez que uma transação CICS é executada.

Toda vez que um usuário acessa USS via SSH.

Toda vez que um JOB é submetido.

Toda vez que DB2 verifica uma autorização.

Toda vez que MQ abre uma fila.

Existe uma boa chance de um ACEE estar envolvido.


O Reino IBM Z

No estilo Bellacosa Mainframe, imagine o z/OS como um reino medieval gigantesco.

O reino possui:

O Cartório Real

RACF


O Guarda do Portão

SAF


O Livro de Ocorrências

SMF


A Oficina dos Magos

ICSF


O Distrito Unix

USS


O Rei

Sysprog


E existe um objeto extremamente importante:

O crachá do visitante

Esse crachá é o ACEE.


Quando um visitante entra no castelo, ele recebe um documento dizendo:

Quem ele é.

A quais guildas pertence.

Quais áreas pode visitar.

Se possui privilégios especiais.

Qual certificado utiliza.

Seu UID UNIX.

Seu MFA.

Suas etiquetas de segurança.

Enquanto estiver dentro do castelo, ninguém precisa voltar ao cartório para perguntar novamente quem ele é.

Basta olhar o crachá.

Este crachá é exatamente o papel do ACEE.


O que significa ACEE?

Accessor Environment Element

Nome curioso.

Mas faz sentido.

Accessor

Quem acessa.

Environment

Seu contexto operacional.

Element

Estrutura residente.


Podemos traduzir informalmente como:

Contexto de Segurança do Usuário em Execução

Ou

Cartão de identidade vivo do z/OS


Por que a IBM criou o ACEE?

Precisamos voltar algumas décadas.


Década de 70

MVS começava a crescer.

TSO expandia.

CICS ganhava força.

DB2 ainda nem existia.


Imagine:

500 usuários simultâneos.

Cada READ.

Cada OPEN.

Cada EXEC CICS.

Precisasse consultar RACF.

Seria um desastre.


O custo seria:

CPU

I/O

ENQ

Contenção

Latência


Então a IBM criou uma ideia brilhante.

Após autenticar.

Copiar informações relevantes.

Colocar tudo em memória.

Consultar apenas memória.

Nascia o ACEE.


A primeira geração

MVS

RACF 1.x

Conceito simples.

Userid

Grupo

Authority


Poucos campos.

Pequena estrutura.


Segunda geração

MVS/XA

MVS/ESA

Mais atributos.

Mais flags.


Suporte:

CICS

IMS

VTAM


OS/390

A internet chegou.

SSL.

Certificados.


ACEE cresceu.

Passou a armazenar:

Digital Certificates

UID

GID


z/OS

USS.

LDAP.

Kerberos.


MFA.

Passphrase.

Tokens.

JWT integration.

Custom attributes.


z/OS 3.1

Uma das novidades interessantes.

Campos customizados.

Melhor integração.

Menor I/O.

Maior escalabilidade.


O ACEE não é um Dataset

Esse é um erro comum.


O ACEE não está armazenado em:

SYS1

SYSUSER

VSAM

DB2


Ele vive em memória.


É um Control Block

Assim como:

TCB

ASCB

CVT

PSA

RB


Sysprogs adoram control blocks.

E o ACEE é um dos mais importantes.


Onde ele fica?

Depende.


TSO

Associado ao usuário.


Batch

Associado ao JOB.


CICS

Associado à região.

Ou à transação.


IMS

Associado ao BMP.

MPP.

Transaction.


USS

Associado ao processo POSIX.


MQ

Associado ao requester.


DB2

Associado ao thread.


O nascimento do ACEE

Vamos acompanhar.


Etapa 1

Usuário

Digita:

LOGON VBELLACO

Etapa 2

SAF recebe.


Etapa 3

RACF consulta banco.


Verifica:

Senha

Passphrase

MFA

Certificado


Etapa 4

RACF monta ACEE


Carrega:

Userid

Groups

UID

Authorities

Flags

Tokens

Labels


Etapa 5

Entrega para sistema.


Etapa 6

Sessão ativa.


Fluxo simplificado

USER
 │
 ▼
TSO
 │
 ▼
SAF
 │
 ▼
RACF
 │
 ▼
CREATE ACEE
 │
 ▼
SESSION

O relacionamento com o RACF

Muitos acreditam:

RACF é consultado a todo instante.

Não exatamente.


Após criação do ACEE.

A maioria das verificações utiliza informações já carregadas.


Benefícios

Menos I/O

Menos CPU

Menos contenção

Melhor throughput


O relacionamento com SAF

SAF é o porteiro.


SAF recebe pergunta.


Consulta ACEE.


Caso necessário.

Consulta RACF.


Retorna resposta.


Exemplo

CICS
 │
 ▼
SAF
 │
 ▼
ACEE
 │
 ▼
ALLOW

O relacionamento com SMF

SMF gosta de registrar tudo.


Usuário conecta.

SMF grava.


Usuário desconecta.

SMF grava.


Troca senha.

SMF grava.


Falha MFA.

SMF grava.


Tentativa inválida.

SMF grava.


Auditores adoram isso.

Sysprogs nem sempre.


O relacionamento com APF

Outro conceito interessante.

Programas APF.

Podem manipular ACEE.

Criar.

Clonar.

Substituir.

Passar contexto.


Ferramentas IBM fazem isso.

CICS faz.

DB2 faz.

IMS faz.

MQ faz.


Mas isso exige muito cuidado.


O segredo que poucos sabem

ACEE é praticamente invisível.

Usuário comum nunca vê.

Desenvolvedor COBOL raramente vê.

Administrador DB2 raramente pensa nele.


Mas sem ele.

Segurança moderna do z/OS seria extremamente lenta.


Curiosidade Bellacosa ☕

Se o RACF fosse o cartório do reino.

O SAF fosse o guarda.

E o SMF fosse o cronista.

O ACEE seria:

O crachá encantado entregue ao visitante quando ele atravessa os portões do castelo.

Enquanto o visitante estiver no reino, ninguém precisa perguntar novamente quem ele é.

O crachá responde por ele.


Para guardar na memória

O RACF sabe quem você é.

O SAF pergunta se você pode entrar.

O SMF anota tudo o que aconteceu.

Mas é o ACEE que acompanha você por todo o reino IBM Z.


☕💥 Continua na Parte 2

Anatomia do ACEE

Campos internos, flags, segmentos OMVS, certificados, MFA, UID/GID, ACEE Tokens, estruturas relacionadas e as novidades escondidas do z/OS 3.1.

sexta-feira, 15 de maio de 2020

CICS Workload Management (WLM) — A Sociedade do Anel e o Guardião Invisível que Decide o Destino das Transações

 

Bellacosa Mainframe apresenta o cics workload management wlm

☕ Um Café no Bellacosa Mainframe

CICS Workload Management (WLM) — A Sociedade do Anel e o Guardião Invisível que Decide o Destino das Transações

"Um bom rei não governa apenas pela força. Ele sabe onde cada recurso deve ser empregado para que todo o reino prospere."

No universo de O Senhor dos Anéis, poucos personagens percebiam que a guerra contra Sauron não seria vencida apenas por espadas, magia ou coragem. O verdadeiro desafio era administrar recursos extremamente limitados.

Havia poucos exércitos.
Poucos cavalos.
Pouca comida.
Pouco tempo.

Cada decisão precisava colocar os recursos certos no lugar certo.

No mundo do IBM Mainframe, acontece exatamente a mesma coisa.

Milhares de programas executam simultaneamente.

Todos querem CPU.

Todos querem memória.

Todos querem acesso ao disco.

Todos querem prioridade.

Se cada aplicação decidisse sozinha quando executar, o resultado seria um verdadeiro caos, semelhante aos exércitos de Mordor atravessando os portões de Minas Tirith ao mesmo tempo.

É exatamente para impedir esse caos que existe um dos componentes mais inteligentes já criados pela IBM:

Workload Manager (WLM)

Talvez seja um dos softwares mais brilhantes do z/OS e, curiosamente, um dos menos conhecidos pelos programadores COBOL iniciantes.

Hoje faremos uma longa viagem pela Terra Média do Mainframe para entender por que o WLM é considerado o grande estrategista invisível do sistema operacional.

Pegue seu café.

A viagem começa agora.


Capítulo I — O Reino onde Todos Querem a Mesma CPU

Imagine um enorme banco brasileiro.

São exatamente 9 horas da manhã.

Milhões de clientes começam a acessar:

  • Internet Banking

  • Aplicativo Mobile

  • PIX

  • TED

  • Cartões

  • Caixa eletrônico

  • Agências

  • Open Finance

  • APIs

  • Débito automático

Ao mesmo tempo...

o departamento financeiro inicia:

  • fechamento contábil

A auditoria executa:

  • consultas gigantes

O RH imprime:

  • folhas de pagamento

O marketing gera:

  • relatórios

A segurança inicia:

  • varreduras

Os DBAs:

  • RUNSTATS

  • REORG

  • BACKUP

Enquanto isso...

milhares de programas COBOL continuam executando normalmente dentro do CICS.

Todos querem exatamente os mesmos recursos.

Como decidir quem recebe CPU primeiro?


A primeira ideia (que não funciona)

Seria muito simples dizer:

Quem chegou primeiro executa primeiro.

Parece justo.

Mas imagine o seguinte.

Um relatório interno começou um segundo antes de um cliente tentar sacar dinheiro.

O relatório consome CPU durante vários segundos.

O saque precisa esperar.

Resultado?

O cliente pensa que o caixa eletrônico travou.

Na prática, o problema nunca foi falta de CPU.

Foi falta de inteligência para decidir quem deveria utilizá-la primeiro.

Foi exatamente esse problema que deu origem ao WLM.


Capítulo II — O Conselho de Elrond

Na Sociedade do Anel, nenhuma decisão importante era tomada por apenas uma pessoa.

Existia um conselho.

No z/OS também existe um conselho.

Esse conselho chama-se:

Workload Manager.

Toda vez que milhares de tarefas competem pelos recursos do sistema, o WLM analisa a situação antes de distribuir o poder computacional disponível.

Ele não pergunta:

Quem pediu primeiro?

Ele pergunta:

Quem é mais importante para o negócio?

Essa pequena mudança de pensamento revolucionou completamente o gerenciamento de desempenho dos mainframes modernos.


O que realmente é o WLM?

Muitos iniciantes acreditam que o WLM distribui CPU.

Isso é apenas uma pequena parte.

Na realidade, o WLM administra praticamente toda a estratégia operacional do z/OS.

Ele acompanha continuamente:

  • utilização da CPU

  • memória

  • filas

  • tempo de resposta

  • tempo de espera

  • I/O

  • paging

  • dispatching

  • prioridades

  • utilização das regiões

  • cumprimento dos SLAs

Enquanto tudo isso acontece...

ele recalcula prioridades diversas vezes por segundo.

É quase como um grande computador de xadrez jogando milhares de partidas simultaneamente.


Capítulo III — Gandalf nunca envia todos para a mesma batalha

Imagine Gandalf recebendo notícias da guerra.

Ele possui apenas:

  • 100 cavaleiros

Mas existem cinco batalhas acontecendo ao mesmo tempo.

Como distribuir?

Ele poderia dizer:

"Cada batalha recebe vinte soldados."

Parece justo.

Mas seria uma decisão terrível.

Se Minas Tirith cair...

não importa que outra batalha tenha vencido.

O reino acabou.

Então Gandalf faz algo diferente.

Ele identifica qual batalha é crítica.

Depois envia a maior parte dos recursos para ela.

É exatamente isso que o WLM faz.


O conceito mais importante: prioridades de negócio

Esse talvez seja o maior choque para quem vem de outras plataformas.

No Windows ou Linux normalmente pensamos:

"Este processo possui prioridade alta."

No z/OS não.

O pensamento é completamente diferente.

O WLM pensa assim:

"Qual atividade gera mais valor para o negócio neste momento?"

Essa diferença muda tudo.


O fluxo completo do WLM

Podemos representar seu funcionamento da seguinte maneira:

Cliente

↓

Transação CICS

↓

Região CICS

↓

z/OS

↓

Workload Manager

↓

CPU

Memória

Disco

I/O

↓

Tempo de Resposta

Observe que o WLM não executa a aplicação.

Quem executa continua sendo:

  • CICS

  • Batch

  • Db2

  • IMS

O WLM apenas administra os recursos.

É como um maestro.

Ele nunca toca violino.

Mas sem ele a orquestra vira barulho.


Capítulo IV — As Classes da Sociedade

Uma das partes mais importantes do WLM chama-se:

Service Class

Imagine a Sociedade do Anel.

Cada membro possui uma função.

Frodo

Missão crítica.

Sam

Suporte essencial.

Aragorn

Alta prioridade.

Legolas

Ataque rápido.

Gimli

Combate pesado.

Merry e Pippin

Importantes, mas podem esperar alguns segundos em determinadas situações.

No WLM acontece exatamente isso.

Cada tipo de trabalho pertence a uma classe.

Exemplo:

PIX

Meta

200 ms

Importance 1


Saque ATM

Meta

300 ms

Importance 1


Consulta de saldo

Meta

800 ms

Importance 2


Extrato

Meta

2 segundos

Importance 3


Relatórios internos

Meta

30 segundos

Importance 5

Perceba uma curiosidade.

O WLM não pergunta:

"Quem possui prioridade máxima?"

Ele pergunta:

"Quem precisa cumprir determinada meta?"

Essa filosofia recebe o nome de:

Goal-Oriented Management


Curiosidade Bellacosa

O WLM foi um dos primeiros grandes exemplos de computação orientada a objetivos (goal-oriented computing), décadas antes de termos AIOps e sistemas inteligentes modernos.

Em vez de obedecer regras fixas, ele procura continuamente cumprir metas de negócio. É uma ideia que hoje aparece em plataformas de nuvem, orquestradores de containers e sistemas autônomos, mas que já fazia parte do z/OS há muitos anos.


Capítulo V — O Palantír do z/OS

Como o WLM sabe que alguém está sofrendo?

Ele observa tudo.

Literalmente tudo.

Entre centenas de indicadores, ele monitora:

  • utilização da CPU

  • filas

  • espera por I/O

  • uso da memória

  • paging

  • tempo médio

  • throughput

  • response time

  • velocity

  • dispatch delay

  • enfileiramentos

É como se o WLM tivesse um Palantír observando continuamente todo o reino.

Enquanto ninguém percebe...

ele está recalculando prioridades.


Importance

Além da meta existe outro conceito extremamente importante.

Importance.

Ela representa o peso daquele serviço.

Imagine duas aplicações.

As duas estão atrasadas.

As duas precisam de CPU.

Quem recebe primeiro?

Aquela cuja Importance é maior.

Normalmente encontramos níveis como:

Importance 1

Missão crítica.

Importance 2

Muito importante.

Importance 3

Importante.

Importance 4

Baixa prioridade.

Importance 5

Background.


O banco durante uma Black Friday

Vamos imaginar um cenário real.

CPU:

99%.

Milhões de acessos.

Ao mesmo tempo chegam:

  • PIX

  • consultas

  • investimentos

  • relatórios

  • backups

  • batch

  • monitoramento

Sem WLM...

todos brigam igualmente.

Resultado:

  • lentidão geral

  • clientes irritados

  • SLA perdido

  • prejuízo

Com WLM...

o sistema toma decisões inteligentes.

PIX continua rápido.

Saques continuam rápidos.

Cartões continuam rápidos.

Relatórios esperam.

Backups aguardam.

O cliente sequer percebe que a CPU está completamente ocupada.

Essa é uma das maiores virtudes do WLM: ele não faz milagres, mas faz escolhas inteligentes.


Capítulo VI — O mapa da Terra Média do CICS

Um ambiente CICS corporativo dificilmente possui apenas uma região.

É comum encontrarmos arquiteturas como:

Usuários

↓

TOR

↓

AOR1

↓

AOR2

↓

AOR3

↓

FOR

↓

Db2

Cada região possui suas características.

Algumas executam aplicações.

Outras fazem comunicação.

Outras gerenciam arquivos.

O WLM auxilia a manter esse ambiente equilibrado, trabalhando em conjunto com recursos do CICS e do z/OS para que nenhuma região se torne um gargalo permanente.


CICSPlex SM não é WLM

Este é um erro clássico em entrevistas.

Muitos candidatos confundem os dois produtos.

Na prática:

CICSPlex SM

Gerencia o ambiente CICS.

  • regiões

  • roteamento

  • administração

  • monitoramento

  • gerenciamento operacional

WLM

Gerencia os recursos do z/OS.

  • CPU

  • prioridades

  • objetivos

  • service classes

  • dispatching

Eles trabalham juntos.

Jamais competem.


O papel do Sysprog

O programador COBOL normalmente não altera políticas de WLM.

Quem faz isso costuma ser o System Programmer (Sysprog) ou o especialista em desempenho.

Ele define:

  • Service Policies

  • Service Classes

  • Goals

  • Importance

  • Workloads

  • Activation Policies

Depois ativa a política.

A partir desse momento o próprio z/OS ajusta continuamente a distribuição de recursos.


O WLM não cria CPU

Existe uma frase muito conhecida entre especialistas em performance:

"Nenhum software produz processadores do nada."

Se o ambiente possui vinte CPUs físicas e a demanda exige quarenta, o WLM não fará mágica.

Ele fará algo muito mais útil.

Garantirá que as aplicações essenciais sobrevivam primeiro.


RMF — O Cronista de Gondor

Depois de definir políticas, surge a pergunta:

Funcionou?

Quem responde é o RMF (Resource Measurement Facility).

Ele registra indicadores como:

  • utilização da CPU

  • Response Time

  • Velocity

  • Goal Achievement

  • Delays

  • Waits

É o RMF que mostra se as metas estabelecidas pelo WLM estão realmente sendo alcançadas.


SMF — O Livro Vermelho do Reino

Enquanto o RMF mede o desempenho, o SMF (System Management Facility) registra a história do sistema.

Cada evento importante deixa rastros.

Esses registros são usados para:

  • Capacity Planning

  • Engenharia de Performance

  • Auditorias

  • Estudos de tendência

  • Ajustes de WLM

  • Investigação de incidentes

  • Cumprimento de SLAs

Por isso, profissionais de performance frequentemente analisam registros SMF antes de propor qualquer alteração nas políticas de WLM.


Passo a passo: como um especialista ajusta o WLM

Embora o processo varie entre empresas, um fluxo típico é:

  1. Coletar dados com RMF e SMF para entender o comportamento real do ambiente.

  2. Identificar gargalos, verificando quais Service Classes não estão atingindo seus objetivos.

  3. Classificar os workloads de acordo com a importância para o negócio.

  4. Definir ou revisar Goals e Importance, alinhando-os aos SLAs.

  5. Criar ou atualizar a Service Policy utilizando os painéis ISPF ou ferramentas como o z/OSMF.

  6. Ativar a política em um momento controlado.

  7. Monitorar continuamente o impacto das mudanças.

  8. Repetir o ciclo, pois o ambiente de produção evolui constantemente.

O WLM não é configurado uma única vez para sempre; ele acompanha a evolução do negócio.


Dicas para um Programador COBOL Padawan

Se você está começando no mundo do CICS, lembre-se destas lições:

  • Nem toda lentidão vem do seu programa. Às vezes o código está aguardando CPU, I/O ou recursos disputados.

  • Aprenda os conceitos de Service Class, Goal, Importance e Service Policy. Eles aparecem com frequência em entrevistas e em projetos corporativos.

  • Conheça o básico de RMF e SMF. Mesmo sem administrá-los, entender seus relatórios ajuda a conversar com equipes de infraestrutura.

  • Escreva programas eficientes. Um COBOL bem otimizado reduz consumo de CPU e facilita o trabalho do WLM.

  • Pense sempre no negócio. Uma transação crítica deve ser projetada para responder rapidamente, pois ela provavelmente estará associada às Service Classes mais importantes.


Curiosidades

  • O WLM é considerado um dos pilares do conceito de autonomic computing da IBM, pois toma decisões de forma automática para cumprir metas de desempenho.

  • Muitas ideias usadas atualmente em plataformas de computação em nuvem, como priorização dinâmica de cargas e gerenciamento por objetivos, já estavam presentes no z/OS décadas antes.

  • Em ambientes financeiros, uma política de WLM bem ajustada pode representar milhões de reais economizados ao evitar a necessidade de ampliar capacidade apenas para absorver picos temporários.

  • O WLM não conhece o código COBOL; ele enxerga serviços, metas e comportamento do sistema. Isso reforça a importância de integrar desenvolvimento, operações e engenharia de performance.


Easter Egg Bellacosa Mainframe

Imagine que o Anel Único representa a CPU disponível.

Todos querem usá-lo.

Saruman deseja o Anel para dominar a Terra-média.

Sauron deseja o Anel para conquistar todos os povos.

Boromir acredita que poderia utilizá-lo para proteger Gondor.

Mas Gandalf compreende uma verdade fundamental:

O poder absoluto entregue à pessoa errada destrói todo o reino.

O WLM pensa exatamente assim.

Ele nunca entrega todos os recursos para quem simplesmente os solicita primeiro.

Ele entrega recursos para quem mantém o reino funcionando.

No Mainframe, o verdadeiro herói não é o programa que consome mais CPU.

É aquele que entrega valor ao negócio no momento certo, usando apenas os recursos necessários.

Assim como a Sociedade do Anel venceu porque cada integrante cumpriu sua missão, um ambiente CICS de alta disponibilidade permanece saudável porque CPU, memória e I/O são distribuídos com inteligência. O WLM é o guardião silencioso dessa ordem: raramente aparece nos holofotes, mas é um dos principais responsáveis por manter o "reino" do IBM Z funcionando de forma estável, eficiente e preparado para enfrentar até as cargas mais intensas.

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