Translate

Mostrar mensagens com a etiqueta JOB batch. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta JOB batch. Mostrar todas as mensagens

segunda-feira, 29 de janeiro de 2007

Como Funciona um JOB Batch no Mainframe

 

Bellacosa Mainframe explica como funciona um job no processo batch

Como Funciona um JOB Batch no Mainframe

Quando falamos de:

  • bancos;

  • cartões;

  • PIX;

  • folha salarial;

  • faturamento;

  • processamento noturno;

quase tudo gira em torno de:

JOBs batch.

O processamento batch é um dos pilares do ambiente mainframe IBM Z.

E para organizar milhares de JOBs automaticamente, existem ferramentas chamadas:

schedulers.


O que é um JOB batch?

JOB batch é:

um processamento automático executado sem interação do usuário.

Ele normalmente:

  • lê arquivos;

  • processa dados;

  • atualiza bancos;

  • gera relatórios;

  • integra sistemas.


Analogia simples

Imagine uma fábrica funcionando durante a madrugada.

Existem:

  • centenas de tarefas;

  • ordem correta;

  • dependências;

  • horários;

  • prioridade.

O scheduler funciona como:

o gerente da fábrica.


Fluxo simples de um JOB batch

Scheduler
   ↓
JES2
   ↓
Fila batch
   ↓
Initiator
   ↓
Execução
   ↓
Spool
   ↓
SDSF

O que o JOB batch pode executar?

  • COBOL;

  • SORT;

  • DB2;

  • IDCAMS;

  • FTP;

  • APIs;

  • backups;

  • integrações.


O que é scheduler?

Scheduler é:

ferramenta de automação batch.

Ela:

  • agenda;

  • controla;

  • monitora;

  • encadeia JOBs.


Por que schedulers existem?

Imagine executar manualmente:

  • 20 mil JOBs por noite.

Seria impossível.

Então surgiram ferramentas de automação batch.


O que é scheduling?

Scheduling significa:

gerenciamento de execução batch.


O scheduler controla:

  • horários;

  • dependências;

  • prioridade;

  • falhas;

  • calendário;

  • SLA;

  • rerun;

  • alertas.


Exemplo real

JOB A termina
   ↓
JOB B inicia
   ↓
DB2 atualiza
   ↓
Relatório gerado

Tudo automático.


Principais schedulers do mainframe


IBM IWS

Antigo:

OPC/TWS

Hoje:

IBM Workload Scheduler.


Control-M

Muito popular em ambientes distribuídos e mainframe.


OpCon

Scheduler moderno multiplataforma.


CA-7

Scheduler clássico do mainframe.


AutoSys

Muito usado em ambientes híbridos.


ESP

Scheduler corporativo avançado.


O que é IBM IWS?

IWS significa:

IBM Workload Scheduler


Antigos nomes históricos

OPC
 ↓
TWS
 ↓
IWS

O IWS é extremamente famoso no z/OS

Muito usado em:

  • bancos;

  • seguradoras;

  • governos.


O que o IWS faz?

Ele:

  • agenda JOBs;

  • controla dependências;

  • monitora batch;

  • gerencia workload.


O que é aplicação no IWS?

Conjunto lógico de JOBs.


Exemplo

Aplicação:

FOLHA_PAGAMENTO

Contém:

  • extração;

  • cálculo;

  • DB2;

  • relatório;

  • envio.


O que é predecessor?

JOB anterior obrigatório.


Exemplo

JOBB só executa após JOBA

O que é successor?

JOB seguinte dependente.


O que é job stream?

Fluxo encadeado de JOBs.


Exemplo visual

EXTRACAO
   ↓
SORT
   ↓
COBOL
   ↓
DB2
   ↓
RELATORIO

O que é calendário batch?

Define:

  • dias úteis;

  • feriados;

  • fechamento mensal;

  • execução especial.


O que é SLA?

Service Level Agreement

Tempo esperado de conclusão.


O scheduler monitora SLA

Se atrasar:

  • gera alerta;

  • envia notificação;

  • abre incidente.


O que é rerun?

Reexecutar JOB.


Muito usado após falhas


O que é restart?

Reiniciar JOB em STEP específico.


Exemplo

RESTART=STEP3

Isso evita rerun completo


Como Control-M funciona?

Muito parecido com IWS.

Mas famoso pela integração:

  • Linux;

  • Windows;

  • cloud;

  • APIs;

  • mainframe.


O Control-M possui interface gráfica forte

Muito usado por:

  • DevOps;

  • operações híbridas.


O que o scheduler monitora?

  • RC;

  • ABEND;

  • spool;

  • tempo;

  • CPU;

  • dependências.


O que acontece se JOB falhar?

Scheduler pode:

  • parar fluxo;

  • executar contingência;

  • chamar rerun;

  • enviar alerta.


Exemplo real

S0C7 detectado
   ↓
JOB sucessor bloqueado
   ↓
Alerta enviado

O que é batch window?

Janela batch.

Período destinado ao processamento.

Exemplo:

00:00 até 06:00

O que é critical path?

Fluxo crítico do batch.

Se atrasar:

  • impacta negócio;

  • relatórios;

  • PIX;

  • fechamento bancário.


O que é workload automation?

Automação inteligente de workload.


O scheduler conversa com:

  • JES2;

  • SDSF;

  • DB2;

  • CICS;

  • FTP;

  • cloud;

  • APIs.


Como operadores usam scheduler?

Para:

  • monitorar produção;

  • resolver falhas;

  • rerun;

  • acompanhar SLA.


Como programadores usam scheduler?

Para:

  • automatizar processos;

  • integrar aplicações;

  • encadear JOBs.


Curiosidades incríveis

1. Grandes bancos executam milhões de JOBs diariamente


2. Alguns batchs noturnos duram poucas horas mas processam bilhões de registros


3. O scheduler é considerado o “cérebro” da produção batch


4. Muitas empresas possuem operação 24x7 baseada em schedulers


Erros comuns de iniciantes


1. Confundir JES2 com scheduler

JES2:
executa/controla JOB.

Scheduler:
organiza automação batch.


2. Ignorar dependências

Pode quebrar fluxo inteiro.


3. Fazer rerun incorreto

Pode duplicar processamento.


4. Não monitorar SLA

Impacta negócio.


Dicas importantes

Aprenda:

  • predecessor;

  • successor;

  • rerun;

  • restart.


Entenda critical path


Leia spool e RC


Aprenda JES2 e SDSF junto com scheduler


Como isso aparece no dia a dia?

Praticamente em tudo:

  • COBOL;

  • DB2;

  • PIX;

  • cartões;

  • faturamento;

  • folha salarial;

  • cloud híbrida.


Resumo rápido

ConceitoSignificado
SchedulerAutomação batch
IWSIBM Workload Scheduler
Control-MScheduler corporativo
PredecessorJOB anterior
SuccessorJOB seguinte
RerunReexecutar JOB
RestartReiniciar STEP

Conclusão

O processamento batch é um dos pilares do ambiente mainframe IBM Z.

Ferramentas como IWS, Control-M, CA-7 e outros schedulers permitem automatizar milhares de JOBs diariamente, controlando dependências, prioridades, falhas e SLA de forma extremamente eficiente e confiável.


quarta-feira, 24 de janeiro de 2007

O que é PROC no JCL?

 

Bellacosa Mainframe o que é PROC em Job JCL

O que é PROC no JCL?

Quando começamos a trabalhar com JCL em ambientes corporativos, rapidamente encontramos algo muito importante:

PROC

Ela é uma das estruturas mais usadas em produção no z/OS.

Praticamente todo ambiente mainframe grande utiliza:

  • PROCs;

  • bibliotecas PROC;

  • variáveis simbólicas;

  • JCL reutilizável.


O que significa PROC?

PROC significa:

Procedure

Em português:

procedimento reutilizável.


Definição simples

Uma PROC é:

um JCL reutilizável.

Ela permite:

  • evitar repetição;

  • padronizar execução;

  • facilitar manutenção;

  • reutilizar STEPs.


Analogia simples

Imagine uma receita pronta.

Em vez de escrever toda a receita novamente:

  • você reutiliza o modelo;

  • apenas troca alguns ingredientes.

PROC funciona exatamente assim.


Problema que PROC resolve

Imagine uma empresa com:

  • 500 JOBs;

  • todos executando SORT;

  • DB2;

  • backup;

  • mesmas etapas.

Sem PROC:

  • muito JCL duplicado;

  • manutenção difícil;

  • alto risco operacional.


Então surgiu a PROC

Ela permite:

centralizar lógica JCL.


Exemplo sem PROC

//STEP1 EXEC PGM=SORT
//SORTIN DD ...
//SORTOUT DD ...
//SYSIN DD ...

Repetido centenas de vezes.


Exemplo com PROC

//STEP1 EXEC PROC=SORTPROC

Muito mais simples.


Onde a PROC fica?

Normalmente em:

bibliotecas PROC.

Exemplo:

SYS1.PROCLIB

ou:

USUARIO.PROCLIB

Como o sistema encontra PROC?

Usando:

JCLLIB

ou bibliotecas configuradas no JES2.


Estrutura básica de PROC


Exemplo simples

//MINHAPRC PROC
//STEP1   EXEC PGM=IEFBR14
//PEND

Entendendo


PROC

Início da procedure.


PEND

Fim da procedure.


Como usar PROC?

No JOB:

//STEP1 EXEC PROC=MINHAPRC

Fluxo simples

JOB
 ↓
EXEC PROC
 ↓
JES2 expande PROC
 ↓
EXECUÇÃO

O que significa “expandir PROC”?

O JES2 substitui:

EXEC PROC

pelo conteúdo real da PROC.


O usuário vê isso?

Sim.

No spool:

JESJCL

mostra o JCL expandido.


O que são variáveis simbólicas?

Um dos recursos mais importantes das PROCs.

Também chamadas:

symbolic parameters.


Elas funcionam como variáveis

Permitem alterar:

  • datasets;

  • programas;

  • parâmetros;

  • classes;

  • SYSOUT.

Sem alterar a PROC original.


Exemplo simples

//MINHAPRC PROC ARQ=CLIENTES
//STEP1 EXEC PGM=MEUPGM
//INPUT DD DSN=&ARQ,
//      DISP=SHR
//PEND

O que significa "&ARQ"?

Variável simbólica.


Como usar?

//STEP1 EXEC PROC=MINHAPRC,
//       ARQ=PRODUCAO.CLIENTES

Resultado expandido

//INPUT DD DSN=PRODUCAO.CLIENTES

Isso é extremamente poderoso

Porque permite:

  • reutilização;

  • flexibilidade;

  • padronização.


Variáveis mais comuns


Dataset

&DSN

Classe

&CLASS

Programa

&PGM

SYSOUT

&OUT

Exemplo profissional

//COBPROC PROC PGM=COBPGM,
//             IN=CLIENTE.ARQ,
//             OUT=RELAT.SAIDA
//STEP1 EXEC PGM=&PGM
//INPUT DD DSN=&IN,DISP=SHR
//OUTPUT DD DSN=&OUT,
// DISP=(NEW,CATLG,DELETE)
//PEND

Chamada

//STEP1 EXEC PROC=COBPROC,
// PGM=FINANCE,
// IN=FINAN.ENTRADA,
// OUT=FINAN.SAIDA

O que é PROC catalogada?

PROC armazenada em:

PROCLIB.

Mais comum em produção.


O que é PROC inline?

PROC escrita dentro do próprio JOB.


Exemplo inline

//MINHA PROC
//STEP1 EXEC PGM=IEFBR14
//PEND
//
//JOB1 EXEC MINHA

Vantagens da PROC


Reutilização


Padronização


Menos erros


Manutenção centralizada


Menos duplicação


Muito usada em produção


O que é override?

Alterar parâmetros da PROC no JOB.


Exemplo

PROC:

//STEP1 EXEC PGM=COBOL

JOB:

//STEP1.STEP1 EXEC PGM=TESTE

Isso substitui o EXEC original


O que é nested PROC?

PROC chamando outra PROC.

Muito usado em ambientes grandes.


O que é JCLLIB?

Define bibliotecas PROC.


Exemplo

//JCLLIB JCLLIB ORDER=USUARIO.PROCLIB

O que acontece se PROC não for encontrada?

Erro no JESJCL.

Exemplo:

PROC NOT FOUND

Curiosidades incríveis

1. Grandes bancos possuem milhares de PROCs


2. Muitas automações batch dependem delas


3. Algumas PROCs existem há décadas


4. PROCs ajudam muito em padronização operacional


Erros comuns de iniciantes


1. Esquecer PEND

Erro clássico.


2. Variável simbólica incorreta

Exemplo:

&ARQ

não definida.


3. PROC não encontrada

Problema de PROCLIB.


4. Override errado

Pode alterar execução sem perceber.


Dicas importantes

Sempre use nomes claros


Padronize variáveis


Leia JESJCL expandido


Use PROC para lógica repetitiva


Como PROC aparece no dia a dia?

Praticamente em tudo:

  • COBOL;

  • DB2;

  • SORT;

  • backups;

  • produção batch;

  • automação.


Por que aprender PROC?

Porque PROC é:

uma das estruturas mais importantes do JCL corporativo.

Quem domina PROC entende:

  • automação batch;

  • reutilização JCL;

  • produção z/OS;

  • arquitetura operacional.


Resumo rápido

ConceitoSignificado
PROCJCL reutilizável
PENDFinal da PROC
Symbolic ParameterVariável JCL
PROCLIBBiblioteca de PROC
OverrideSubstituição de parâmetro
Inline PROCPROC dentro do JOB
Cataloged PROCPROC em biblioteca

Conclusão

PROC é um dos recursos mais poderosos do JCL no ambiente z/OS.

Ela permite reutilizar etapas batch, padronizar processamento e criar JOBs flexíveis usando variáveis simbólicas, sendo fundamental para operações corporativas em mainframe IBM Z.