Translate

quinta-feira, 19 de dezembro de 2019

Do Logon ao Primeiro Programa: A Jornada do Padawan COBOL pelo TSO, ISPF e o Mundo do Desenvolvimento no IBM Z

 

Bellacosa Mainframe uma jornada no tso ispf e seus comandos para os primeiros passos em programacção cobol

☕ Um Café no Bellacosa Mainframe

Do Logon ao Primeiro Programa: A Jornada do Padawan COBOL pelo TSO, ISPF e o Mundo do Desenvolvimento no IBM Z

"Um Jedi não nasce sabendo usar um sabre de luz. Um programador Mainframe também não nasce dominando o ISPF. Ambos aprendem um comando de cada vez."

Quando alguém chega ao universo Mainframe pela primeira vez, normalmente enxerga apenas uma tela preta cheia de caracteres verdes. Acostumado com Visual Studio Code, Eclipse ou IntelliJ, o iniciante costuma pensar:

"Como alguém consegue desenvolver sistemas críticos aqui?"

A resposta surpreende.

Depois de algumas semanas de prática, muitos descobrem que aquele ambiente aparentemente simples foi projetado para maximizar produtividade, estabilidade e eficiência muito antes de existirem as IDEs modernas.

Bem-vindo ao universo do IBM Z.

Hoje vamos caminhar juntos, passo a passo, pela jornada de um verdadeiro Programador COBOL Padawan, entendendo como funciona o desenvolvimento utilizando TSO, ISPF e os principais comandos do editor que há décadas ajudam a construir bancos, seguradoras, bolsas de valores, companhias aéreas e governos ao redor do planeta.


O Mainframe não é apenas um computador

Antes de abrir um editor ou escrever uma linha de COBOL, precisamos entender onde estamos.

Um IBM Z não é simplesmente um servidor maior.

Ele foi concebido para atender milhares de usuários simultaneamente com disponibilidade praticamente contínua.

Enquanto um notebook executa dezenas de processos, um IBM Z pode executar milhões de transações diariamente, mantendo segurança, auditoria, criptografia por hardware e altíssima confiabilidade.

É por isso que grandes instituições financeiras ainda executam seus sistemas centrais nessa plataforma.

Mas como um desenvolvedor conversa com essa máquina?

A resposta começa com três letras.

TSO.


O TSO: sua porta de entrada para o universo IBM Z

TSO significa Time Sharing Option.

Hoje parece algo comum termos diversos usuários conectados simultaneamente a um sistema operacional. Entretanto, décadas atrás isso era revolucionário.

Antes do TSO, um programador preparava cartões perfurados, entregava o lote para processamento e esperava horas — às vezes um dia inteiro — para descobrir que havia esquecido um ponto final.

O TSO mudou completamente essa realidade.

Agora cada usuário possui sua própria sessão interativa.

Quando você realiza o Logon, não está apenas entrando em um sistema.

Na verdade, o z/OS inicia todo um ambiente personalizado para você.

Diversos componentes entram em ação simultaneamente.

O RACF autentica seu usuário.

Os datasets do seu perfil são alocados.

As permissões são carregadas.

Os comandos disponíveis são habilitados.

Seu ambiente de desenvolvimento é preparado.

É como abrir um escritório inteiro apenas para você trabalhar.


O herói invisível chamado RACF

Todo Padawan precisa entender uma verdade muito importante.

No Mainframe, segurança vem antes da programação.

Antes mesmo de abrir o editor, o RACF já decidiu o que você poderá fazer.

Ele verifica sua identidade.

Confere sua senha.

Analisa seus grupos de acesso.

Define quais bibliotecas podem ser acessadas.

Autoriza ou bloqueia comandos.

Controla acesso ao CICS.

Controla acesso ao DB2.

Controla acesso ao SDSF.

Controla praticamente tudo.

É por isso que muitas mensagens de erro não significam defeito no programa.

Às vezes significam simplesmente:

"Você não possui autorização."

No mundo IBM Z, privilégios são tão importantes quanto conhecimento técnico.


Depois do Logon aparece o verdadeiro laboratório

Após autenticar-se, normalmente encontramos o ISPF.

Seu nome completo é Interactive System Productivity Facility.

Quem olha rapidamente imagina tratar-se apenas de um editor de texto.

Esse é um dos maiores equívocos de quem está começando.

O ISPF é praticamente uma IDE completa construída décadas antes das IDEs modernas.

Dentro dele encontramos:

  • Editor de código

  • Navegação entre bibliotecas

  • Gerenciamento de datasets

  • Utilitários

  • Comparação de arquivos

  • Execução de comandos

  • Macros

  • REXX

  • CLIST

  • Painéis personalizados

  • Ferramentas administrativas

Tudo extremamente integrado.

Tudo extremamente rápido.

Tudo utilizando poucos recursos da máquina.

Essa eficiência explica por que tantos desenvolvedores continuam preferindo o ambiente 3270 mesmo após conhecer ferramentas gráficas.


O menu principal é muito mais poderoso do que parece

O famoso menu inicial do ISPF apresenta diversas opções numéricas.

À primeira vista parecem simples.

Mas cada número abre um universo diferente.

A opção 2 leva ao editor.

A opção 3 reúne utilitários.

A famosa 3.2 permite criar datasets.

A clássica 3.4 lista bibliotecas.

A opção 6 executa comandos TSO diretamente.

Cada menu representa anos de evolução do ambiente de desenvolvimento IBM.

O curioso é que muitos profissionais trabalham décadas utilizando apenas parte desses recursos.

Sempre existe algo novo para aprender.


Os Datasets: a organização é parte da engenharia

No Windows estamos acostumados com pastas.

No Mainframe trabalhamos com datasets.

Entre eles existe um dos mais importantes para quem desenvolve COBOL:

O PDS.

Partitioned Data Set.

Imagine uma estante.

O PDS é a estante.

Cada membro é um livro.

Dentro dessa estante normalmente encontramos programas, JCLs, copybooks e diversos componentes relacionados.

Uma organização típica pode conter:

  • USER.COBOL.SOURCE

  • USER.JCL

  • USER.COPYLIB

  • USER.LOAD

  • USER.TEST

  • USER.REXX

Separar corretamente essas bibliotecas facilita manutenção, controle de versões e automação.

Em ambientes corporativos essa organização torna-se ainda mais importante, pois centenas de desenvolvedores trabalham simultaneamente.


Escrever COBOL é construir uma casa

Muitos iniciantes querem começar digitando comandos imediatamente.

Mas COBOL possui uma arquitetura muito organizada.

Cada programa é dividido em grandes áreas de responsabilidade.

A IDENTIFICATION DIVISION identifica o programa.

A ENVIRONMENT DIVISION descreve recursos externos.

A DATA DIVISION declara toda a memória utilizada.

A PROCEDURE DIVISION contém a lógica de negócio.

Essa divisão clara faz com que programas escritos há quarenta anos ainda possam ser compreendidos atualmente.

Não é coincidência.

Foi uma escolha de engenharia.

COBOL privilegia legibilidade.

O objetivo nunca foi escrever menos linhas.

O objetivo sempre foi escrever programas que outra pessoa consiga entender muitos anos depois.


As famosas colunas do COBOL

Todo Padawan escuta falar das colunas.

Área A.

Área B.

Indicador.

Numeração.

Hoje o compilador moderno aceita formato livre em muitos ambientes.

Mesmo assim, compreender o formato clássico continua sendo essencial.

Grande parte dos sistemas corporativos ainda mantém milhões de linhas utilizando o layout tradicional.

Conhecer essas convenções permite navegar com segurança entre sistemas desenvolvidos nas décadas de 1980, 1990 e 2000.

Mais importante ainda: ajuda a compreender por que determinados padrões existem.


O editor ISPF: simples na aparência, poderoso na prática

Agora chegamos ao verdadeiro companheiro do desenvolvedor.

O Editor ISPF.

Quem o vê pela primeira vez acredita que seja limitado.

Na realidade ele foi otimizado para velocidade.

Cada comando foi pensado para reduzir movimentos repetitivos.

Cada tecla possui uma função.

Cada recurso procura economizar tempo.

É uma filosofia completamente diferente das interfaces gráficas modernas.

Enquanto uma IDE gráfica oferece dezenas de botões, o ISPF aposta em comandos curtos e extremamente rápidos.

Depois que a memória muscular é desenvolvida, editar programas torna-se surpreendentemente eficiente.


COLS: a régua que salva programas

Um dos primeiros comandos que todo Padawan deveria aprender é:

COLS

Ele exibe uma régua mostrando exatamente onde cada coluna está posicionada.

Isso evita deslocamentos acidentais.

Ajuda no alinhamento.

Facilita manutenção.

Principalmente quando trabalhamos com código legado.

É um comando simples.

Mas evita muitos problemas.


CREATE: criando novos membros

Criar um programa novo também é extremamente simples.

O comando CREATE gera um novo membro dentro da biblioteca.

É como criar um novo arquivo dentro de uma pasta.

Em poucos segundos o desenvolvedor já possui um ambiente pronto para iniciar seu código.


FIND: o comando que economiza horas

Imagine um sistema com 20 mil linhas.

Ou cem programas diferentes.

Encontrar uma variável manualmente seria inviável.

É exatamente aqui que entra o FIND.

Ele pesquisa palavras.

Pesquisa comandos.

Pesquisa literais.

Pesquisa variáveis.

Pesquisa praticamente qualquer texto.

Dominar FIND representa um enorme ganho de produtividade.


CUT e PASTE: refatoração antes da palavra existir

Muito antes da palavra "refatoração" tornar-se popular, o ISPF já permitia reorganizar blocos inteiros de código.

Selecionamos linhas.

Executamos CUT.

Depois utilizamos PASTE.

Tudo muito rápido.

Sem mouse.

Sem janelas.

Sem menus.

A produtividade impressiona.


UNDO: porque todos erram

Até os desenvolvedores mais experientes cometem erros.

Por isso existe o UNDO.

Alterou uma linha indevidamente?

Desfaça.

Removeu um bloco inteiro?

Desfaça.

Movimentou código para o lugar errado?

Desfaça.

É um recurso simples.

Mas extremamente valioso durante manutenção de sistemas críticos.


SAVE e CANCEL

Esses dois comandos representam decisões completamente diferentes.

SAVE grava alterações.

Permite continuar trabalhando.

CANCEL abandona tudo.

Sai sem gravar.

Aprender quando utilizar cada um faz parte da maturidade do desenvolvedor.


Existem comandos que poucos conhecem

Depois de dominar os comandos básicos, o Padawan descobre um universo ainda maior.

CHANGE permite substituir centenas de ocorrências automaticamente.

HEX ON mostra o conteúdo hexadecimal de um registro.

RESET limpa exclusões temporárias.

EXCLUDE oculta blocos inteiros de código.

FLIP alterna entre linhas visíveis e ocultas.

CAPS controla conversão automática para maiúsculas.

LOCATE posiciona rapidamente em pontos específicos.

Cada novo comando aprendido representa mais produtividade.


O desenvolvimento não termina ao escrever o programa

Um erro comum dos iniciantes é pensar que o trabalho termina quando o código está pronto.

Na realidade, ele está apenas começando.

Agora entra em cena outro personagem fundamental.

O JCL.


O JCL é o maestro da orquestra

COBOL não executa diretamente.

Primeiro precisa ser compilado.

Depois ligado.

Depois transformado em módulo executável.

O JCL coordena todas essas etapas.

Ele chama o compilador.

Executa o Binder.

Resolve bibliotecas.

Gera módulos.

Organiza arquivos temporários.

É como um roteiro detalhado dizendo ao sistema exatamente o que fazer.

Sem JCL não existe processamento Batch.

Sem Batch boa parte do Mainframe simplesmente deixaria de existir.


O Binder: o construtor do executável

Pouca gente explica o papel do Binder.

Ele recebe diversos objetos compilados.

Localiza subprogramas.

Conecta bibliotecas.

Resolve referências externas.

Monta o módulo executável final.

É como montar um quebra-cabeça gigante onde cada peça precisa encaixar perfeitamente.

Quando tudo funciona, nasce o Load Module.

É ele que será realmente executado pelo sistema.


Finalmente chega o momento da verdade

Depois da compilação vem a execução.

E logo depois...

A análise.

É aqui que entra o SDSF.


SDSF: a janela para dentro do processamento

O SDSF permite acompanhar tudo o que aconteceu durante um Job.

Podemos verificar:

Tempo de CPU.

Tempo de espera.

Mensagens.

Arquivos gerados.

SYSOUT.

Return Code.

Condition Code.

Abends.

É praticamente o painel de controle do processamento Batch.

Nenhum desenvolvedor experiente ignora o SDSF.

Ali estão todas as pistas necessárias para descobrir por que um programa funcionou...

Ou por que falhou.


Aprenda a ler mensagens antes de procurar culpados

Muitos iniciantes ficam desesperados quando aparece um S0C7.

Ou um S806.

Ou um JCL ERROR.

O profissional experiente faz exatamente o contrário.

Primeiro lê cuidadosamente as mensagens.

Depois interpreta o contexto.

Somente então começa a corrigir o problema.

Grande parte do trabalho em Mainframe consiste justamente em interpretar informações produzidas pelo próprio sistema.

O IBM Z fala com o desenvolvedor o tempo inteiro.

É preciso aprender seu idioma.


O verdadeiro segredo do Mainframe

Depois de estudar TSO.

ISPF.

Datasets.

COBOL.

JCL.

SDSF.

Comandos.

Compilação.

Execução.

Uma conclusão torna-se inevitável.

O segredo do Mainframe nunca esteve na tela preta.

Nunca esteve nas teclas PF.

Nunca esteve nos menus numéricos.

O verdadeiro diferencial sempre foi a disciplina.

Cada biblioteca possui uma finalidade.

Cada programa segue uma estrutura.

Cada Job possui um fluxo definido.

Cada autorização é controlada.

Cada alteração pode ser auditada.

Cada execução produz evidências.

Esse nível de organização permitiu que aplicações escritas há décadas continuassem evoluindo sem perder confiabilidade.

E é justamente essa filosofia que transforma um simples aprendiz em um verdadeiro Programador COBOL Padawan.

No Bellacosa Mainframe, acreditamos que aprender IBM Z não significa apenas decorar comandos ou sintaxe. Significa compreender uma cultura de engenharia construída ao longo de mais de sessenta anos, onde estabilidade, clareza e responsabilidade caminham lado a lado. Cada LOGON, cada programa editado no ISPF, cada JCL submetido e cada mensagem analisada no SDSF representam um novo passo nessa jornada. Com curiosidade, prática constante e vontade de entender o "porquê" por trás de cada recurso, o terminal 3270 deixa de ser uma tela intimidadora e passa a ser uma poderosa oficina de desenvolvimento. Que este seja apenas o primeiro capítulo da sua aventura. O IBM Z continua evoluindo, o COBOL continua moderno e o próximo grande especialista pode muito bem ser você.


Sem comentários:

Enviar um comentário

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