| Bellacosa Mainframe e o REXX |
O que é REXX?
Se o COBOL é uma das linguagens mais famosas do mainframe, o REXX é uma das ferramentas mais poderosas para automação e produtividade dentro do z/OS.
Ele é simples de aprender, extremamente útil e está presente no dia a dia de operadores, desenvolvedores, administradores e sysprogs.
De forma resumida:
REXX é uma linguagem de programação criada para automatizar tarefas, executar comandos e facilitar a interação com sistemas IBM.
Uma analogia simples
Imagine que você trabalha em um escritório e precisa repetir as mesmas tarefas todos os dias:
abrir arquivos;
consultar informações;
executar comandos;
gerar relatórios;
copiar dados.
Você poderia fazer tudo manualmente.
Ou poderia criar um assistente que fizesse isso para você.
O REXX é esse assistente.
O que significa REXX?
REXX significa:
Restructured Extended Executor
O nome pode parecer complicado, mas a ideia era simples:
Criar uma linguagem:
fácil de aprender;
fácil de ler;
fácil de manter.
Quem criou o REXX?
O REXX foi criado por:
Mike Cowlishaw
Pesquisador da IBM.
Seu objetivo era desenvolver uma linguagem que pudesse ser utilizada por pessoas sem formação avançada em programação.
Por isso o REXX possui uma sintaxe extremamente amigável.
Quando surgiu?
O REXX nasceu no final da década de 1970.
Foi oficialmente divulgado pela IBM no início dos anos 1980.
Rapidamente tornou-se popular em:
VM/CMS;
MVS;
TSO;
ISPF;
OS/2.
Mais tarde foi padronizado pela ANSI e ISO.
Por que o REXX foi criado?
Naquela época muitas tarefas administrativas exigiam:
JCL;
CLIST;
programas complexos.
A IBM precisava de uma linguagem mais simples para automação.
O resultado foi o REXX.
Onde o REXX é usado?
No mundo mainframe ele aparece em:
TSO;
ISPF;
SDSF;
automação operacional;
administração de sistemas;
geração de relatórios;
manipulação de datasets.
O que o REXX consegue fazer?
Praticamente tudo que envolve automação.
Por exemplo:
executar comandos TSO;
abrir datasets;
ler arquivos;
criar relatórios;
chamar programas COBOL;
manipular variáveis;
processar textos;
interagir com usuários.
Primeiro programa REXX
Exemplo clássico:
SAY 'Olá Mundo'
Resultado:
Olá Mundo
Simples assim.
Variáveis em REXX
Uma das características mais famosas é que não é necessário declarar variáveis.
Exemplo:
NOME = 'Bellacosa'
SAY NOME
Resultado:
Bellacosa
Fazendo cálculos
A = 10
B = 20
C = A + B
SAY C
Resultado:
30
Entrada de dados
O programa pode perguntar algo ao usuário.
SAY 'Digite seu nome'
PULL NOME
SAY 'Bem-vindo' NOME
Estruturas de decisão
Semelhante a outras linguagens.
IDADE = 18
IF IDADE >= 18 THEN
SAY 'Maior de idade'
ELSE
SAY 'Menor de idade'
Estruturas de repetição
Exemplo:
DO I = 1 TO 5
SAY I
END
Resultado:
1
2
3
4
5
Executando comandos TSO
Aqui está uma das maiores forças do REXX.
Exemplo:
ADDRESS TSO
"LISTCAT LEVEL(MEU.DATASET)"
O script executa diretamente um comando TSO.
Integração com ISPF
O REXX conversa facilmente com o ISPF.
Pode:
abrir painéis;
chamar menus;
editar datasets;
navegar por telas.
Exemplo:
ADDRESS ISPEXEC
"DISPLAY PANEL(MEUPAIN)"
Manipulação de datasets
É possível:
criar datasets;
listar datasets;
ler datasets;
alterar datasets.
Automatizando tarefas que normalmente seriam manuais.
Integração com SDSF
REXX também pode acessar informações do SDSF.
Por exemplo:
jobs ativos;
spool;
status de execução;
mensagens do sistema.
Muito utilizado por operadores.
Vantagens do REXX
Fácil aprendizado
Uma das linguagens mais amigáveis do ambiente mainframe.
Pouca burocracia
Não exige declarações complexas.
Grande integração
Funciona com:
TSO;
ISPF;
SDSF;
z/OS.
Excelente para automação
Reduz tarefas repetitivas.
Desvantagens
Não substitui COBOL
COBOL continua sendo melhor para aplicações corporativas complexas.
Menor desempenho
Não foi criado para processamento pesado.
Dependência do ambiente
Grande parte do seu poder vem da integração com o z/OS.
Curiosidades incríveis
1. Muitos produtos IBM utilizam REXX
Ferramentas administrativas frequentemente possuem scripts REXX internos.
2. Existe REXX fora do Mainframe
Ele também foi usado em:
OS/2;
AmigaOS;
Windows;
Linux.
3. Um operador pode economizar horas de trabalho
Automatizando tarefas repetitivas com poucos comandos.
4. Muitos Sysprogs consideram REXX indispensável
Ele é uma das linguagens mais utilizadas para administração do z/OS.
Exemplos reais de uso
Um script REXX pode:
Verificar espaço em disco
Consultar datasets e gerar relatório.
Monitorar jobs
Verificar jobs em ABEND.
Criar relatórios
Gerar informações operacionais automaticamente.
Automatizar comandos
Executar dezenas de comandos sem intervenção humana.
Erros comuns de iniciantes
"REXX é COBOL"
Não.
São linguagens com objetivos diferentes.
"REXX é apenas uma linguagem de script"
Ele é muito mais poderoso do que a maioria imagina.
"Ninguém usa mais"
Pelo contrário.
REXX continua amplamente utilizado em ambientes z/OS.
Quem usa REXX?
Operadores Mainframe
Programadores COBOL
Analistas de Suporte
Sysprogs
Administradores RACF
Especialistas CICS
Administradores DB2
Por que aprender REXX?
Porque ele oferece uma das maneiras mais rápidas de começar a programar no mainframe.
Com poucos comandos você aprende:
lógica;
automação;
TSO;
ISPF;
administração do z/OS.
Conclusão
O REXX é uma das linguagens mais importantes e produtivas do universo mainframe.
Criado para ser simples e poderoso, ele permite automatizar tarefas, executar comandos e integrar diversos componentes do z/OS.
Para quem está começando na plataforma IBM Z, aprender REXX é frequentemente o caminho mais rápido para ganhar produtividade e compreender como o ambiente mainframe realmente funciona.