O que precisa aprender para ser programador mainframe?

O que você precisa saber sobre o mainframe?

Mainframes são computadores de grande porte, altamente confiáveis e escaláveis, usados por empresas para processar grandes volumes de dados transacionais. Eles desempenham um papel crítico em setores como finanças, saúde e governo, suportando operações essenciais e de missão crítica.

Embora sejam frequentemente associados a tecnologias mais antigas, os mainframes continuam a evoluir, incorporando recursos modernos, como virtualização e segurança avançada.

Mas como aprender sobre mainframe?

Existem algumas dificuldades que o pessoal encontra para aprender sobre essa tecnologia, uma delas é o ambiente. É necessário baixar emuladores para o treinamento. Nesse caso vou indicar ambiente de treino da própria IBM. Tutorial de como acessar ambiente mainframe. Tem esse ambiente aqui também.

Após isso, você necessita aprender a navegação do TSO/ISPF.

Breve explicação:

O TSO disponibiliza aos usuários, através de um terminal, um ambiente com as ferramentas adequadas ao desenvolvimento e gestão de aplicações e sistemas informatizados.

Para entender de forma bem leiga, é o mesmo que dizer que se trata de uma "IDE".

Esse link é ótimo, reune vários comandos que você precisa no dia a dia da programação.

A maioria das empresas tem o emulador parecido com o de cima, então sim, precisa desses comandos, não precisa decorar todos eles, só necessário saber que existe e para quê serve.

Enquanto eu aprendia, eu anotava em um bloco de notas e a cada interação realizava a consulta, hoje eu faço de forma automática, mas no início você esquece o que é bem normal.

Agora sim vem a linguagem principal, COBOL.

1. - O que precisa saber sobre o cobol?

  • Os comandos são simples;
  • A linguagem em si é fácil de aprender;
  • A linguagem é compilada;
  • Os erros de compilação são fáceis de resolver;

Link para aprender cobol.

Percebeu que só tem coisa positiva acima, certo? Agora vamos para o que é difícil.

  • Para compilar é necessário aprender uma linguagem de controle de trabalho(jobs) JCL-Job Control Language (linguagem de controle de serviço).

  • JCL também é utilizado para executar um programa.

Agora você pode estar se perguntando porque ele está na listagem do "difícil", porque é. rsrsrsrs. Vou te mostrar abaixo um exemplo simples de do código de compilação do cobol com acesso a tabela DB2.


       ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
000001 //JOBXX01D JOB 'JOB-PRD',CLASS=C,MSGCLASS=X,NOTIFY=&SYSUID,TIME=(0,20)
000002 //********************************************************************
000003 //* STEP1 - COMPILA COBOL COM DB2                                    *
000004 //********************************************************************
000005 //STEP1  EXEC PGM=IKJEFT01                                           
000006 //STEPLIB  DD DSN=SYS1.DB2.CLIST,DISP=SHR                                               
000007 //         DD DSN=SYS1.DB2.SDSNEXIT,DISP=SHR                                            
000008 //SYSTSPRT DD  SYSOUT=*         
000009 //SYSTSIN  DD  *                
000010 DSN SYSTEM(DB2SYS)                            
000011 RUN PROGRAM(DSNTIAUL) PLAN(DSNTIAUL) -             
000012    LIB('DB2.SDSNLOAD')                                                                
000013 /*                                                                      
*********************************** Bottom of Data ****************************

  • //JOBNAME é o nome do job.
  • //STEP1 é a etapa de execução.
  • EXEC PGM=IKJEFT01 é o programa de execução. IKJEFT01 é um programa TSO/E usado para executar comandos interativamente.
  • SYSTSPRT é o DD de saída para as mensagens do sistema.
  • SYSTSIN é o DD para fornecer comandos para o programa. Aqui, estamos fornecendo comandos para o programa DSNTIAUL, que é um utilitário DB2 que pode ser usado para várias tarefas, incluindo compilar programas COBOL que acessam o DB2.
  • DSN SYSTEM(DB2SYS) especifica o subsistema DB2 no qual o programa será executado.
  • RUN PROGRAM(DSNTIAUL) PLAN(DSNTIAUL) especifica o programa DSNTIAUL a ser executado com o plano DSNTIAUL.
  • LIB('DB2.SDSNLOAD') especifica a biblioteca de carga do DB2 que contém o programa DSNTIAUL.

Link para aprender comandos e utilitários do JCL.

Como treinar de forma resumida?

  1. Monte o ambiente mainframe;
  2. Aprenda comandos básicos de TSO do link que informei acima, lá tem instruções de como compilar programas.
  3. Crie um programa COBOL;
  4. Se acostume com os erros de compilação estão na terceira aula do módulo TSO, aqui é importante. Provavelmente terá dificuldades.
  5. Aprenda sobre JCL, cartões DD, criação de arquivos, etc.
  6. Tente executar o programa;
  7. Se tiver muito abend(erros de execução) os códigos também estão no portal. Existem esses links com as descrições dos tipos de erros: Abend de sistema, ~Abend de usuário.

Tem essa publicação que já tinha feito. Serve como consulta.

Xau, fui.