| Bellacosa Mainframe apresenta Executing Host Commands em REXX |
☕🚀 REXX: O “CANIVETE SUÍÇO” DO z/OS — Quando um Script Começa a Conversar com TODO o Mainframe 🚀☕
“O verdadeiro poder do REXX não está na sintaxe.
Está na capacidade de conversar com absolutamente tudo.”
— Estilo Bellacosa Mainframe
🧠 O Dia em Que Você Descobre Que o REXX NÃO É Só “Scripting”
Todo mundo começa igual.
O programador iniciante aprende:
SAY 'HELLO WORLD'
Depois:
DO I = 1 TO 10
SAY I
END
Aí pensa:
“Ok… é uma linguagem simples.”
Mas então chega o momento da revelação.
O momento em que você escreve:
ADDRESS SDSF
…e percebe que aquele “scriptzinho inocente” acabou de ganhar acesso ao coração operacional do z/OS.
Nesse instante você entende:
😳 O REXX NÃO RODA NO MAINFRAME.
😳 O REXX CONVERSA COM O MAINFRAME.
E isso muda tudo.
🏛️ O Conceito Que Faz o REXX Virar Um Monstro de Automação
A IBM criou algo brilhante:
Host Command Environment
Traduzindo para Bellacosaês:
“Pra qual universo você quer mandar comandos agora?”
O REXX não executa tudo sozinho.
Ele atua como um maestro.
Cada ambiente executa um tipo de magia.
| Host commands |
| Ambiente | Superpoder |
|---|---|
| TSO | comandos operacionais |
| ISPEXEC | controlar ISPF |
| ISREDIT | criar macros editoriais |
| SDSF | dominar spool/jobs |
| CONSOLE | virar operador MVS |
| DSNREXX | conversar com DB2 |
| SYSCALL | controlar UNIX |
| SOCKET | falar TCP/IP |
☕ ADDRESS — A Palavra Mais Poderosa do REXX
A instrução:
ADDRESS
parece inocente.
Mas ela literalmente troca o “mundo” onde o REXX está falando.
🎯 Exemplo Simples
ADDRESS TSO
"LISTALC STATUS"
Aqui o REXX diz:
“TSO, execute isso pra mim.”
😎 O Grande Truque
Você pode mudar de ambiente a qualquer momento.
Tipo assim:
ADDRESS TSO
"ALLOC FI(INPUT) DA('CLIENTE.ARQ') SHR"
ADDRESS ISPEXEC
"DISPLAY PANEL(MENU001)"
ADDRESS SDSF
"ISFEXEC ST"
Percebe a insanidade disso?
😳 Um único programa:
- aloca dataset
- controla ISPF
- acessa SDSF
- automatiza operações
Tudo junto.
🔥 O Dia em Que o Programador Descobre o ISREDIT
Existe um momento na carreira do mainframeiro em que ele percebe:
O editor ISPF é programável.
A mente explode.
🧙 Macros ISPF: O “VIM MODE GOD” DO Mainframe
Exemplo:
/* REXX */
ADDRESS ISREDIT
"MACRO"
"CHANGE 'TESTE' 'PROD' ALL"
Você acabou de criar um comando novo dentro do editor ISPF.
Agora imagine:
- refatoração automática
- padronização COBOL
- alteração massiva JCL
- análise estática
- geração automática de código
Tudo feito em REXX.
Décadas antes de IDEs modernas.
🧨 Easter Egg Mainframe #1
Muita gente usa ISPF há 20 anos…
…sem perceber que o editor dele é basicamente um mini sistema operacional programável.
🚨 CONSOLE — O Modo “Deus do Sysprog”
Agora vem a parte perigosa.
ADDRESS CONSOLE
"D A,L"
Isso NÃO é brincadeira.
Você está emitindo comandos reais de operador MVS.
😅 Sim… Dá Medo.
Porque daqui a pouco você faz:
"F JES2,DEBUG"
ou pior:
"P TCPIP"
e o datacenter inteiro olha pra você.
🧨 Easter Egg Mainframe #2
Todo sysprog experiente conhece alguém que:
- derrubou subsystem
- pausou JES2
- congelou spool
- matou CICS
…“só testando um REXX rapidinho”.
🧠 SDSF + REXX = Automação Jedi
A maioria das pessoas usa SDSF manualmente.
O especialista usa:
rc=isfcalls('ON')
ADDRESS SDSF "ISFEXEC ST"
E então começa a automatizar o impossível.
🎯 Exemplo: Listar Jobs Ativos
rc=isfcalls('ON')
ADDRESS SDSF "ISFEXEC ST"
DO I = 1 TO JNAME.0
SAY JNAME.I STATUS.I
END
rc=isfcalls('OFF')
😳 O Que Isso Significa?
Você pode criar:
- monitor batch
- restart automático
- watchdog operacional
- análise de spool
- alertas inteligentes
- observabilidade do z/OS
ANTES da palavra “observabilidade” virar moda.
☕ O Mainframe Já Fazia DevOps Antes do DevOps
Enquanto o mundo moderno:
- descobria scripts
- aprendia automação
- inventava pipelines
o z/OS já fazia isso com:
REXX + SDSF + JCL + ISPF
nos anos 80 e 90.
🗄️ DSNREXX — Quando o REXX Aprende SQL
A IBM foi além.
Ela pensou:
“E se o REXX falasse DB2 também?”
Nasceu o DSNREXX.
🎯 Exemplo Conceitual
ADDRESS DSNREXX
"EXECSQL
SELECT NAME
INTO :WS-NOME
FROM CLIENTES
WHERE ID = 100"
😳 Resultado?
O REXX virou:
- DBA assistant
- monitor DB2
- gerador relatório
- ferramenta troubleshooting
🧨 Easter Egg Mainframe #3
Muito DBA antigo automatizou ambientes inteiros sem escrever uma linha de COBOL.
Só REXX + DSNREXX.
🌐 SOCKETS — O Momento Cyberpunk do z/OS
Agora segura essa.
O REXX consegue abrir socket TCP/IP.
Sim.
Socket.
TCP/IP real.
🎯 Exemplo
CALL SOCKET 'Initialize'
parse value SOCKET('Socket') with rc sock .
CALL SOCKET 'Connect',sock,'AF_INET 80','192.168.0.1'
😳 Você Entendeu o Que Isso Significa?
O mesmo REXX que:
- mexe em spool
- controla JCL
- automatiza ISPF
também consegue:
- falar rede
- integrar sistemas
- abrir conexão TCP
🧠 O z/OS Sempre Foi Mais Moderno do Que Diziam
Essa é a verdade que ninguém conta.
Muita tecnologia “moderna” já existia no mainframe:
- automação
- scripting
- integração
- APIs
- virtualização
- segurança centralizada
- observabilidade
- alta disponibilidade
Décadas antes do hype.
🐧 UNIX Dentro do Mainframe? Sim.
Com:
CALL SYSCALLS 'ON'
o REXX ganha acesso ao z/OS UNIX.
🎯 Exemplo
CALL SYSCALLS 'ON'
ADDRESS SYSCALL
"readdir / tmp."
DO I = 1 TO TMP.0
SAY TMP.I
END
😎 Resultado?
Agora o mesmo REXX:
- acessa datasets
- conversa com JES
- executa SQL
também navega no filesystem UNIX.
🧨 Easter Egg Mainframe #4
Muitos ambientes bancários modernos:
- APIs
- microserviços
- integrações REST
- automações batch
têm algum REXX escondido funcionando nos bastidores.
Às vezes há 25 anos sem cair.
⚔️ LINK e ATTACH — Chamando Programas Como um Ninja
O REXX também consegue executar load modules diretamente.
🎯 Exemplo
ADDRESS LINKMVS "SORT parm"
😳 Isso é Profundo.
Porque o REXX deixa de ser:
- linguagem de script
e vira:
- controlador de execução MVS.
☕ O Verdadeiro Segredo do Mainframe
O segredo nunca foi o COBOL.
Nem o JCL.
Nem o CICS.
O segredo sempre foi:
Integração.
E o REXX virou a “cola universal” do ecossistema z/OS.
🧠 O REXX Como Sistema Nervoso do Mainframe
Observe esse fluxo:
REXX
↓
SDSF consulta JOB
↓
captura spool
↓
analisa ABEND
↓
consulta DB2
↓
abre ticket
↓
reinicia JOB
↓
notifica operador
Tudo em um único exec.
🚀 Comparação Moderna
| Hoje | Mainframe já fazia |
|---|---|
| Python automation | REXX |
| DevOps scripting | SDSF REXX |
| VSCode macros | ISREDIT |
| Cloud orchestration | JES automation |
| REST integration | SOCKET/SYSCALL |
| Database scripting | DSNREXX |
🧨 Easter Egg Final
Muitos dos ambientes mais críticos do planeta:
- bancos
- seguradoras
- bolsas
- governos
ainda sobrevivem graças a pequenos REXX feitos por algum mago do mainframe em 1998…
…que ninguém tem coragem de apagar.
| Ambientes suportados |
☕ Conclusão Bellacosa Mainframe
O REXX parece simples porque foi criado para humanos.
Mas por trás da simplicidade existe algo colossal:
Ele é a interface universal do z/OS.
Quando você domina:
- ADDRESS
- ISPEXEC
- ISREDIT
- SDSF
- CONSOLE
- DSNREXX
- SYSCALL
você para de “usar” o mainframe…
| REXX e suas bibliotecas |
…e começa a ORQUESTRAR o mainframe.
🚀 Frase Final
“O COBOL processa negócios.
O JCL organiza execução.
O CICS controla transações.Mas o REXX…
o REXX conversa com o universo inteiro do z/OS.” ☕