Translate

sábado, 31 de março de 2007

O que é Cartridge em Mainframe?

 

Bellacosa Mainframe e a evolução da fita IBM Cartridge

O que é Cartridge em Mainframe?

Quando falamos de armazenamento em mainframe, muitas pessoas conhecem as antigas fitas magnéticas em bobinas abertas (reels) utilizadas nas décadas de 1960 e 1970.

Mas a partir dos anos 1980 surgiu uma evolução que revolucionou o armazenamento em fita:


IBM Cartrdige

O Cartridge

Também conhecido como:

  • Tape Cartridge

  • Cartucho de Fita

  • Cartucho Magnético


Definição simples

Um cartridge é uma fita magnética protegida dentro de um invólucro plástico rígido.

Seu objetivo é:

  • proteger a mídia;

  • facilitar o transporte;

  • automatizar operações;

  • aumentar a confiabilidade.

Em outras palavras:

O cartridge é a evolução moderna das antigas fitas abertas.


Uma analogia simples

Imagine a diferença entre:

Filme fotográfico solto

e

Cartucho de câmera fotográfica

O cartucho protege o conteúdo e facilita seu uso.

O mesmo aconteceu com as fitas de mainframe.


Antes do Cartridge

Nas décadas de 1960 e 1970 eram comuns as fitas em bobinas abertas.

Image

Image

Image

Image

O operador precisava:

  1. localizar a fita;

  2. montar manualmente;

  3. passar a fita pelos guias;

  4. prender no carretel receptor.

Era um processo demorado.


Surgimento do Cartridge

A IBM lançou em 1984 uma das tecnologias mais famosas:

IBM 3480

Image

Image

Image

Image

A partir daí as fitas passaram a ficar protegidas dentro de cartuchos.

Isso trouxe:

  • maior segurança;

  • menos desgaste;

  • automação;

  • melhor armazenamento.


O que existe dentro de um cartridge?

Apesar da aparência externa, dentro dele existe:

  • fita magnética;

  • carretel;

  • sistema de tração;

  • mecanismo de proteção.

A tecnologia continua sendo fita magnética.

O que mudou foi a embalagem.


Principais vantagens

Proteção física

Menor exposição a:

  • poeira;

  • umidade;

  • manuseio incorreto.


Facilidade operacional

Não é necessário passar a fita manualmente.

Basta inserir o cartridge.


Automação

Permite utilização em:

Tape Libraries

Bibliotecas robotizadas que movimentam milhares de cartuchos automaticamente.


Maior confiabilidade

Menos erros operacionais.

Menos danos físicos.


Evolução dos Cartridges IBM

IBM 3480 (1984)

Primeira grande revolução.

Capacidade aproximada:

200 MB

Hoje parece pouco, mas foi enorme para a época.


IBM 3490

Sucessor do 3480.

Maior capacidade.

Maior velocidade.


IBM 3590 Magstar

Década de 1990.

Capacidade medida em gigabytes.


IBM TS1120 / TS1130

Família Enterprise Tape.

Focada em ambientes corporativos.


IBM TS1140

Alta velocidade e alta densidade.


IBM TS1150

Capacidades ainda maiores.


IBM TS1160

Uma das gerações mais modernas da linha Enterprise.


Cartridge e Tape são a mesma coisa?

Não exatamente.

Tape

É a tecnologia de armazenamento.

Cartridge

É o recipiente físico que contém a tape.

Analogia:

Tape = Filme
Cartridge = Estojo do Filme

Como o z/OS utiliza cartridges?

O sistema gerencia:

  • leitura;

  • gravação;

  • catalogação;

  • retenção;

  • recuperação.

Tudo isso ocorre da mesma forma que nas fitas tradicionais.


Exemplo de uso

Quando um job executa:

//BACKUP DD UNIT=TAPE

O sistema pode gravar os dados em um cartridge localizado em uma Tape Library.

O usuário normalmente nem percebe.


O que é uma Tape Library?

Imagine um armário gigante com milhares de cartridges.

Dentro dele existe um robô que:

  • encontra o cartucho;

  • remove o cartucho;

  • leva ao drive;

  • retorna ao local correto.

Tudo automaticamente.


Onde os cartridges são usados?

Backup

Cópias de segurança.


Disaster Recovery

Recuperação de desastres.


Arquivamento

Dados históricos.


Compliance

Retenção legal.


Preservação de longo prazo

Informações corporativas críticas.


Curiosidades incríveis

1. Um cartridge moderno armazena milhares de vezes mais dados que um 3480

A evolução foi gigantesca.


2. Grandes bancos ainda utilizam cartridges diariamente

Principalmente para backup e retenção.


3. A IBM continua investindo em tecnologia de fita

A tecnologia continua viva e evoluindo.


4. Cartridges modernos armazenam dezenas de terabytes

Muito além do que seria imaginável nos anos 1980.


Erros comuns de iniciantes

"Cartridge é a mesma coisa que disco"

Não.

Ele utiliza tecnologia magnética sequencial.


"Tape acabou"

Não.

Ela continua sendo fundamental em grandes corporações.


"Tudo está na nuvem"

Mesmo provedores de nuvem utilizam tecnologias de fita para arquivamento.


Quem trabalha com cartridges?

  • Operadores Mainframe

  • Storage Administrators

  • Sysprogs

  • Equipes de Backup

  • Especialistas de Disaster Recovery


Por que aprender sobre cartridges?

Porque eles fazem parte da infraestrutura de armazenamento corporativo há décadas.

Entender cartridges ajuda a compreender:

  • backup;

  • retenção;

  • arquivamento;

  • storage;

  • continuidade de negócios;

  • recuperação de desastres.


Conclusão

O cartridge foi uma das maiores evoluções da tecnologia de fitas magnéticas no mundo mainframe.

Ao substituir as antigas bobinas abertas por cartuchos protegidos, ele trouxe mais segurança, automação e confiabilidade.

Mesmo em plena era da nuvem, os cartridges continuam sendo utilizados para proteger alguns dos dados mais importantes do planeta, mantendo viva uma das tecnologias mais resilientes da história da computação.


sexta-feira, 30 de março de 2007

O que é Tape em Mainframe?

 

Bellacosa Mainframe old sisteums TAPE

O que é Tape em Mainframe?

Quando alguém começa a estudar mainframe, geralmente se surpreende ao descobrir que uma tecnologia criada há décadas ainda é amplamente utilizada pelos maiores bancos, seguradoras e governos do mundo.

Essa tecnologia é a:

Tape (Fita Magnética)

Apesar de parecer algo do passado, as fitas continuam sendo uma das soluções mais importantes para armazenamento e backup corporativo.


Unidade de Fita Magnetica IBM Tape

Definição simples

Tape é uma mídia de armazenamento baseada em fita magnética utilizada para:

  • backups;

  • arquivamento;

  • recuperação de desastres;

  • retenção histórica;

  • cópias de segurança.

No mundo mainframe, ela continua sendo uma peça fundamental da infraestrutura.


Uma analogia simples

Imagine um cofre de banco.

Você não guarda dinheiro em circulação dentro dele.

Você guarda aquilo que precisa proteger por muito tempo.

A tape funciona da mesma forma.

Ela armazena informações importantes de forma segura e econômica.


O que é uma fita magnética?

Fisicamente é uma fita revestida por material magnético capaz de armazenar dados digitais.

Visualmente lembra uma fita de vídeo antiga, mas utiliza tecnologia extremamente avançada.


Por que ainda usam fitas?

Muitos iniciantes perguntam:

"Se existem SSDs e nuvem, por que usar fita?"

A resposta é simples:

Porque ela ainda é excelente para determinadas situações.


Principais vantagens

Baixo custo

O custo por terabyte é extremamente baixo.


Grande capacidade

Uma única fita moderna pode armazenar dezenas de terabytes.


Alta durabilidade

Quando armazenadas corretamente, podem durar muitos anos.


Segurança

Fitas podem ficar desconectadas da rede.

Isso protege contra:

  • ransomware;

  • ataques hackers;

  • exclusões acidentais.


O conceito de Air Gap

Uma das maiores vantagens da tape.

Air Gap significa:

armazenamento fisicamente isolado.

Uma fita guardada em um cofre não pode ser atacada pela internet.

Por isso muitas empresas continuam utilizando tape como última linha de defesa.


Como funciona uma tape?

O sistema grava dados sequencialmente.

Diferente de um disco.


Disco

Acesso direto.

Registro 100
↓
Acesso imediato

Tape

Acesso sequencial.

Registro 1
Registro 2
Registro 3
Registro 4
...
Registro 100

Para chegar ao registro 100, o sistema percorre a sequência.


O que é uma Tape Drive?

É o equipamento responsável por:

  • ler fitas;

  • gravar fitas;

  • posicionar fitas.

Funciona como um "leitor de fitas".


O que é uma Tape Library?

Em grandes ambientes existem milhares de fitas.

Seria impossível trocar tudo manualmente.

Por isso existem:

Tape Libraries

São robôs automatizados que:

  • armazenam fitas;

  • localizam fitas;

  • carregam fitas automaticamente.


Uma analogia simples

Imagine uma biblioteca.

O bibliotecário sabe exatamente onde cada livro está.

A Tape Library faz isso automaticamente com as fitas.


O que é Volser?

Cada fita possui uma identificação única.

Chamada:

VOLSER

Volume Serial Number

Exemplo:

TAPE01
TAPE02
BACK99
PROD01

É como a placa de um carro.

Cada fita possui seu próprio identificador.


Como o z/OS utiliza fitas?

O sistema operacional gerencia:

  • montagem;

  • desmontagem;

  • catalogação;

  • leitura;

  • gravação.

Tudo de forma automática.


Exemplo de JCL usando Tape

//BACKUP DD DSN=BACKUP.CLIENTES,
// DISP=(NEW,CATLG),
// UNIT=TAPE,
// LABEL=(1,SL)

Nesse exemplo o dataset será gravado em uma fita.


Onde as tapes são utilizadas?


Backup

Uso mais comum.

Exemplo:

Backup diário
Backup semanal
Backup mensal

Arquivamento

Dados antigos podem ser movidos para fitas.


Disaster Recovery

Fundamental para estratégias de recuperação.


Compliance

Muitas regulamentações exigem retenção de dados por anos.


Histórico corporativo

Informações que precisam ser preservadas por décadas.


O que é Mount?

Mount significa:

montar uma fita

Antigamente o operador recebia uma mensagem:

MOUNT TAPE ABC123

Ele localizava a fita e a colocava no drive.

Hoje isso normalmente é feito pela Tape Library.


O que é Scratch Tape?

São fitas disponíveis para reutilização.

Exemplo:

SCRATCH

Prontas para receber novos dados.


O que é Tape Management?

Grandes ambientes possuem sistemas especializados para controlar fitas.

Exemplos:

  • CA-1

  • TLMS

  • DFSMSrmm

Esses produtos controlam:

  • localização;

  • retenção;

  • expiração;

  • reutilização.


Curiosidades incríveis

1. A IBM continua desenvolvendo tecnologia de fitas

Tape não é tecnologia abandonada.

Ela continua evoluindo.


2. Muitas nuvens usam fitas

Mesmo grandes provedores utilizam fitas para arquivamento.


3. Bancos mantêm informações por décadas

Muitas dessas informações estão armazenadas em tape.


4. Uma biblioteca de fitas pode armazenar petabytes

Capacidade suficiente para gigantescos volumes de dados.


Erros comuns de iniciantes

"Tape é tecnologia morta"

Não.

Ela continua sendo amplamente utilizada.


"SSD substituiu completamente fitas"

Não.

Cada tecnologia possui objetivos diferentes.


"Tape é lenta"

Para acesso aleatório sim.

Para backup massivo ela continua extremamente eficiente.


Profissionais que trabalham com Tape

  • Operadores Mainframe

  • Storage Administrators

  • Sysprogs

  • Especialistas de Backup

  • Equipes de Disaster Recovery


Por que aprender Tape?

Porque ela continua sendo um dos pilares da computação corporativa.

Ao entender tape você compreende:

  • backup;

  • recuperação;

  • retenção;

  • storage;

  • disaster recovery;

  • proteção de dados.


Conclusão

Tape é uma mídia de armazenamento magnético utilizada principalmente para backup, arquivamento e recuperação de desastres.

Mesmo após décadas de evolução tecnológica, continua sendo uma das soluções mais seguras, econômicas e confiáveis para preservar informações críticas.

No universo mainframe, as fitas permanecem desempenhando um papel essencial na proteção dos dados que movimentam bancos, governos e grandes corporações em todo o mundo.


quinta-feira, 29 de março de 2007

O que é REXX?

 

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.

quarta-feira, 28 de março de 2007

O que é Disaster Recovery (DR) em Mainframe?

 

Bellacosa Mainframe introduz o disaster recovery

O que é Disaster Recovery (DR) em Mainframe?

Imagine a seguinte situação:

É uma segunda-feira de manhã.

Milhões de pessoas estão:

  • usando PIX;

  • comprando com cartão;

  • acessando Internet Banking;

  • consultando seguros;

  • realizando operações financeiras.

De repente, ocorre uma falha grave no datacenter principal.

Pode ser:

  • incêndio;

  • enchente;

  • apagão;

  • falha elétrica;

  • erro humano;

  • ataque cibernético.

Se não existir um plano de recuperação, toda a operação pode parar.

É exatamente para isso que existe o:

Disaster Recovery (DR)


Definição simples

Disaster Recovery é o conjunto de processos, tecnologias e procedimentos criados para recuperar sistemas críticos após um desastre.

Seu objetivo é garantir que a empresa continue operando mesmo diante de eventos graves.

Em português podemos chamar de:

Plano de Recuperação de Desastres.


Uma analogia simples

Imagine um hospital.

Se faltar energia:

  • os geradores entram em ação;

  • equipamentos continuam funcionando;

  • pacientes permanecem seguros.

O DR funciona da mesma forma.

Ele garante que os sistemas possam continuar operando mesmo quando algo muito sério acontece.


Por que o DR é importante?

Empresas modernas dependem totalmente de sistemas computacionais.

Imagine:

  • um banco fora do ar por horas;

  • uma companhia aérea sem reservas;

  • uma seguradora sem acesso aos clientes;

  • uma bolsa de valores indisponível.

O prejuízo pode atingir milhões ou até bilhões de reais.

Por isso o DR é considerado essencial.


O que pode causar um desastre?

Existem diversos cenários.

Falhas de hardware

Problemas em:

  • servidores;

  • storage;

  • redes;

  • equipamentos elétricos.


Falhas humanas

Exemplos:

  • exclusão acidental de dados;

  • configurações incorretas;

  • procedimentos executados de forma errada.


Falhas elétricas

Exemplos:

  • apagões;

  • surtos de energia;

  • problemas em subestações.


Desastres naturais

Como:

  • enchentes;

  • terremotos;

  • incêndios;

  • tempestades severas.


Ataques cibernéticos

Exemplos:

  • ransomware;

  • invasões;

  • sabotagem;

  • vazamento de dados.


O que o DR protege?

O DR protege:

  • aplicações;

  • bancos de dados;

  • datasets;

  • sistemas operacionais;

  • transações;

  • informações corporativas.


Como funciona um ambiente de DR?

Normalmente existem dois locais:

Site Primário

É o datacenter principal.

Onde as operações acontecem diariamente.


Site Secundário

Também chamado:

  • DR Site;

  • Recovery Site;

  • Site de Contingência.

É o ambiente preparado para assumir as operações caso o principal falhe.


Arquitetura simplificada

SITE PRINCIPAL
      │
      │ Replicação
      ▼
SITE DE DR

Os dados são copiados continuamente entre os dois ambientes.


O que é replicação?

Replicação é o processo de copiar dados de um ambiente para outro.

Assim, o site de recuperação permanece atualizado.


Replicação síncrona

Os dados são gravados simultaneamente nos dois locais.

Vantagem:

  • praticamente nenhuma perda de dados.

Desvantagem:

  • maior custo;

  • necessidade de baixa latência.


Replicação assíncrona

Os dados são enviados em intervalos.

Vantagem:

  • menor custo;

  • maior distância entre sites.

Desvantagem:

  • pequena possibilidade de perda de dados recentes.


Objetivos principais do DR

Existem duas métricas famosas.


RTO

Recovery Time Objective

Representa:

Quanto tempo o sistema pode ficar parado.

Exemplo:

RTO = 2 horas

A recuperação deve ocorrer em até duas horas.


RPO

Recovery Point Objective

Representa:

Quanto dado a empresa aceita perder.

Exemplo:

RPO = 15 minutos

A empresa aceita perder no máximo os últimos quinze minutos de informações.


Estratégias de recuperação


1. Backup e Restore

A mais simples.

Processo:

  1. realizar backup;

  2. armazenar cópia;

  3. restaurar quando necessário.

Vantagem:

  • menor custo.

Desvantagem:

  • recuperação mais lenta.


2. Site Frio (Cold Site)

Existe infraestrutura básica.

Os sistemas precisam ser instalados após o desastre.

Vantagem:

  • barato.

Desvantagem:

  • recuperação lenta.


3. Site Morno (Warm Site)

Parte dos sistemas já está preparada.

Vantagem:

  • recuperação moderada.

Desvantagem:

  • exige sincronização constante.


4. Site Quente (Hot Site)

Ambiente totalmente pronto.

Praticamente uma cópia do ambiente principal.

Vantagem:

  • recuperação rápida.

Desvantagem:

  • alto custo.


Como funciona no mundo Mainframe?

Os ambientes IBM Z utilizam tecnologias avançadas de recuperação.


GDPS

Geographically Dispersed Parallel Sysplex

Permite:

  • automação de failover;

  • gerenciamento de desastres;

  • recuperação rápida.

É uma das soluções mais sofisticadas do mundo mainframe.


Parallel Sysplex

Permite múltiplos sistemas z/OS trabalhando juntos.

Caso um sistema falhe:

outro pode assumir.


DFSMS

Gerencia:

  • storage;

  • backup;

  • recuperação;

  • movimentação de dados.


FlashCopy

Tecnologia que cria cópias rápidas de volumes de armazenamento.

Muito utilizada em estratégias de DR.


Processo de recuperação

Quando ocorre um desastre:

1. Detecção

A equipe identifica o problema.


2. Avaliação

Analisa-se:

  • impacto;

  • risco;

  • extensão da falha.


3. Ativação do DR

O plano de recuperação é acionado.


4. Recuperação

Os sistemas são iniciados no site secundário.


5. Validação

As equipes verificam:

  • aplicações;

  • bancos;

  • transações;

  • usuários.


6. Retorno

Após a normalização, os sistemas retornam ao ambiente principal.


O papel dos testes

Um DR que nunca foi testado não pode ser considerado confiável.

Por isso as empresas realizam:

  • simulações;

  • exercícios;

  • failovers programados;

  • testes de restauração.


Curiosidades incríveis

1. Alguns sites de DR ficam em outras cidades

Ou até em outros estados.

Isso reduz riscos de eventos regionais.


2. Grandes bancos possuem múltiplos ambientes

Muitas instituições operam com:

  • produção;

  • contingência;

  • homologação;

  • desenvolvimento.


3. O failover pode ser automático

Em alguns ambientes a troca ocorre com mínima intervenção humana.


4. O DR é exigido por auditorias

Órgãos reguladores frequentemente exigem comprovação dos planos de recuperação.


Erros comuns de iniciantes

"Backup é a mesma coisa que DR"

Não.

Backup é apenas uma parte do Disaster Recovery.


"Nunca vamos precisar usar"

Muitas empresas descobrem a importância do DR somente após uma crise.


"Ter um segundo servidor resolve"

Não.

Um plano completo envolve:

  • pessoas;

  • processos;

  • tecnologia;

  • documentação;

  • testes.


Profissionais envolvidos

Diversas equipes participam do DR:

  • operadores;

  • sysprogs;

  • DBAs;

  • storage administrators;

  • especialistas RACF;

  • equipes de rede;

  • infraestrutura;

  • segurança.


Por que aprender DR?

Porque ele é um dos pilares da computação corporativa.

Entender DR ajuda a compreender:

  • continuidade de negócios;

  • alta disponibilidade;

  • segurança operacional;

  • arquitetura corporativa;

  • gestão de riscos.


Conclusão

Disaster Recovery é muito mais do que um simples backup.

Ele representa a capacidade de uma organização continuar funcionando mesmo diante de eventos graves e inesperados.

No universo mainframe, onde milhões de transações dependem de disponibilidade contínua, o DR é uma das camadas mais importantes para garantir que bancos, governos e grandes empresas continuem operando com segurança, confiabilidade e resiliência.

terça-feira, 27 de março de 2007

Introdução aos Conceitos de Performance em Mainframe

 

Bellacosa Mainframe e a introdução a performance no mainframe

Introdução aos Conceitos de Performance em Mainframe

Quando falamos em Performance em Mainframe, estamos falando da arte e da ciência de fazer com que aplicações, bancos de dados, transações online e processos batch executem com máxima eficiência, consumindo o mínimo possível de recursos computacionais.

No universo IBM Z, performance não significa apenas velocidade. Ela envolve:

✅ Tempo de resposta

✅ Consumo de CPU

✅ Uso de memória

✅ Acesso a disco

✅ Tráfego de rede

✅ Custos de licenciamento

✅ Capacidade futura do ambiente


O Que é Performance?

De forma simples:

Performance =
Quantidade de trabalho realizado
÷
Recursos consumidos

Um sistema é considerado eficiente quando consegue processar mais transações utilizando menos recursos.


Por Que Performance é Tão Importante?

Em ambientes Mainframe, pequenas melhorias podem representar economias enormes.

Exemplo:

1% de redução de CPU
↓
Menos consumo de MSU
↓
Redução de custos
↓
Economia anual significativa

Por isso, grandes bancos possuem equipes dedicadas exclusivamente à performance.


Os Quatro Pilares da Performance

CPU

É o cérebro do Mainframe.

Responsável por executar:

  • COBOL

  • PL/I

  • Java

  • CICS

  • IMS

  • DB2

Exemplo:

CPU = 90%

Pode indicar gargalo.


Memória

Armazena programas e dados em execução.

Analisa-se:

  • Frames

  • Real Storage

  • Paging

  • Cache

Problemas comuns:

Pouca memória
↓
Paging excessivo
↓
Lentidão

I/O (Entrada e Saída)

Envolve:

  • Discos

  • Storages

  • FICON

  • VSAM

  • DB2

Muitas vezes o gargalo não está na CPU, mas no acesso aos dados.


Rede

Hoje os Mainframes estão conectados a:

  • APIs

  • Cloud

  • Mobile

  • Open Banking

Logo, performance também envolve:

TCP/IP
OSA
HiperSockets
TLS

Conceitos Fundamentais

Tempo de Resposta

Quanto tempo o usuário espera.

Exemplo:

Consulta Saldo
↓
0,3 segundos

Excelente.


Throughput

Quantidade de trabalho processado.

Exemplo:

50.000 transações/segundo

Latência

Tempo necessário para iniciar uma operação.

Exemplo:

Aplicação
↓
DB2
↓
Resposta

Quanto menor, melhor.


Utilização

Percentual de uso de um recurso.

Exemplo:

CPU = 40%

Capacidade

Quanto o ambiente suporta antes de saturar.


Performance em Batch

Muito importante em Mainframe.

Exemplo:

JOB NOTURNO

Início: 22:00
Fim:    04:00

Objetivo:

22:00
↓
01:30

Menor janela batch.


Performance em CICS

Em ambiente online analisa-se:

  • Tempo de resposta

  • Número de transações

  • Esperas

  • Locks

Fluxo:

Terminal
↓
CICS
↓
COBOL
↓
DB2

Cada etapa é medida.


Performance em DB2

Grande parte dos problemas de performance está no SQL.

Exemplo ruim:

SELECT *
FROM CLIENTES

Melhor:

SELECT NOME
FROM CLIENTES
WHERE CPF = ?

Aspectos analisados:

  • Índices

  • Buffer Pools

  • Access Path

  • Tablespaces


Performance em COBOL

Algumas boas práticas:

Evitar Leitura Desnecessária

Ruim:

READ ARQUIVO

milhões de vezes.


Carregar Tabelas em Memória

Melhor:

READ UMA VEZ
↓
WORKING-STORAGE

Utilizar SEARCH ALL

Mais eficiente que busca sequencial.


Reduzir Chamadas ao Banco

Menos SQL significa:

Menos I/O
↓
Mais Performance

Principais Gargalos

CPU

Uso excessivo

Disco

I/O elevado

SQL

Full Table Scan

Rede

Latência

Aplicação

Loops ineficientes

Ferramentas de Performance

RMF

Resource Measurement Facility

Ferramenta nativa do z/OS.

Monitora:

  • CPU

  • Memória

  • I/O

  • Rede


SMF

System Management Facility

Gera registros estatísticos.

Exemplo:

SMF Type 30
SMF Type 110
SMF Type 101

OMEGAMON

Monitoramento em tempo real.

Muito utilizado para:

  • CICS

  • DB2

  • IMS

  • z/OS


MainView

Solução Broadcom.


Capacity Planning

Não basta analisar o presente.

É necessário prever o futuro.

Perguntas comuns:

O ambiente suporta
o crescimento do próximo ano?

Avalia:

  • CPU

  • Memória

  • Storage

  • Rede


MIPS e MSU

MIPS

Million Instructions Per Second

Métrica histórica.


MSU

Million Service Units

Mais utilizada atualmente.


zIIP e Performance

Os processadores zIIP ajudam a reduzir carga dos CPs.

Executam:

  • Java

  • XML

  • JSON

  • DB2

  • Analytics


Fluxo:

CP
↓
zIIP
↓
Menos CPU

Workload Manager (WLM)

Controla prioridades.

Exemplo:

PIX
↓
Alta Prioridade

Relatório
↓
Baixa Prioridade

Performance e Cloud

Hoje também envolve:

APIs
OpenShift
Containers
z/OS Connect
LinuxONE

O Papel do Analista de Performance

Ele atua como um "médico do Mainframe".

Analisa:

  • Sintomas

  • Gargalos

  • Tendências

  • Crescimento

E propõe otimizações.


Curiosidade

Muitas das técnicas modernas de observabilidade utilizadas em Cloud Computing possuem origem em conceitos que os profissionais de Mainframe já utilizavam desde as décadas de 1970 e 1980 através de ferramentas como RMF, SMF e monitores de desempenho.


Resumo Rápido

ConceitoObjetivo
CPUProcessamento
MemóriaArmazenamento temporário
I/OAcesso a dados
RedeComunicação
ThroughputVolume processado
LatênciaTempo de espera
RMFMonitoramento
SMFEstatísticas
OMEGAMONTempo real
WLMPriorização
zIIPOffload de processamento
Capacity PlanningPlanejamento futuro

Conclusão

Performance em Mainframe é uma disciplina estratégica que busca maximizar a eficiência dos recursos do IBM Z. Ela envolve monitoramento, análise, tuning e planejamento de CPU, memória, I/O, rede, aplicações COBOL, CICS, IMS e DB2. Dominar esses conceitos é fundamental para garantir que ambientes críticos continuem processando milhões de transações com rapidez, estabilidade e o menor custo possível.


segunda-feira, 26 de março de 2007

O que é um Dataset no Mainframe?

 

Bellacosa Mainframe o que é um dataset

O que é Dataset no Mainframe?

No ambiente mainframe IBM Z, um dos conceitos mais importantes é:

Dataset.

Praticamente tudo no z/OS gira em torno deles:

  • programas;

  • JCL;

  • arquivos COBOL;

  • relatórios;

  • bibliotecas;

  • cargas batch;

  • bancos VSAM.


Definição simples

Dataset é:

um conjunto organizado de dados armazenado no disco do mainframe.

É equivalente a:

  • arquivos no Windows;

  • arquivos Linux;

  • documentos digitais.

Mas no mainframe os datasets possuem:

muito mais controle e estrutura.


Analogia simples


Windows

C:\TEMP\CLIENTES.TXT

Mainframe

EMPRESA.PROD.CLIENTES

Dataset = arquivo do mainframe


Onde datasets ficam?

Normalmente em:

DASD.


O que é DASD?

Direct Access Storage Device

Disco do mainframe.


Tipos mais comuns de dataset


Sequential Dataset (PS)

Arquivo sequencial.


PDS

Partitioned Dataset.

Biblioteca com membros.


PDSE

Versão moderna do PDS.


VSAM

Dataset avançado indexado.


GDG

Geração de datasets.


Dataset sequencial (PS)

Muito usado em:

  • COBOL batch;

  • relatórios;

  • arquivos entrada;

  • saída batch.


Exemplo

BANCO.CLIENTES.ARQ

Como funciona?

Os registros são lidos:

em sequência.


Fluxo

REG1
 ↓
REG2
 ↓
REG3

Muito usado com COBOL READ


O que é PDS?

Partitioned Dataset

Dataset dividido em:

membros.


Analogia

Como uma pasta contendo:

  • vários arquivos.


Muito usado para:

  • JCL;

  • PROC;

  • COBOL source;

  • CLIST;

  • REXX.


Exemplo

USER.JCLLIB

Membros:

TESTE
COBOL
BACKUP

O que é PDSE?

Versão moderna do:

PDS.


Vantagens do PDSE

  • menos fragmentação;

  • gerenciamento automático;

  • mais eficiente;

  • mais moderno.


O que é VSAM?

Dataset mais sofisticado.

Pode possuir:

  • índice;

  • acesso direto;

  • chave.


Muito usado em:

  • bancos;

  • sistemas online;

  • CICS.


O que é GDG?

Generation Data Group

Controle de versões de datasets.


Exemplo

RELATORIO(+1)

Como datasets são identificados?

Por:

DSN.


DSN = Dataset Name


Exemplo

EMPRESA.FINANCEIRO.CLIENTES

Regras comuns

  • separados por ponto;

  • até 44 caracteres;

  • níveis hierárquicos.


Estrutura visual

EMPRESA
   ↓
FINANCEIRO
   ↓
CLIENTES

Como datasets aparecem no JCL?

Via:

DD statement.


Exemplo

//CLIENTE DD DSN=EMPRESA.CLIENTES,
//            DISP=SHR

Explicando

ElementoFunção
DDDefine dataset
DSNNome dataset
DISPTipo acesso

DISP mais comuns

DISPSignificado
SHRCompartilhado
OLDExclusivo
NEWNovo dataset
MODAcrescentar dados

Como COBOL usa dataset?

Através de:

  • SELECT;

  • ASSIGN;

  • READ;

  • WRITE.


Exemplo COBOL

SELECT ARQCLI
ASSIGN TO CLIENTE.

Ligação COBOL ↔ JCL

COBOL ASSIGN
      ↓
DDNAME JCL
      ↓
Dataset real

O que é layout do dataset?

Estrutura do registro.


Exemplo

12345JOAO SILVA          0001500

Layout COBOL

05 ID      PIC 9(5).
05 NOME    PIC X(20).
05 SALDO   PIC 9(7).

Dataset pode conter:

  • texto;

  • números;

  • binários;

  • packed decimal;

  • JCL;

  • programas.


Dataset no SDSF/ISPF

Muito acessado usando:

  • 3.4 ISPF;

  • SDSF;

  • utilities.


Comandos famosos

LISTCAT

ALLOC

IEBGENER

O que é catalog?

Catálogo do z/OS.

Guarda:

  • localização;

  • volume;

  • informações dataset.


O que é volume?

Disco físico/lógico onde dataset está.


Dataset temporário

Criado temporariamente no JOB.


Exemplo

//TEMP DD DSN=&&TEMP

Dataset permanente

Fica armazenado após execução.


Dataset e batch

Praticamente todo batch:

  • lê datasets;

  • processa;

  • grava novos datasets.


Fluxo batch clássico

INPUT DATASET
      ↓
COBOL PROCESSA
      ↓
OUTPUT DATASET

Curiosidades incríveis

1. Mainframes armazenam bilhões de datasets


2. PDS foi uma revolução para bibliotecas JCL/COBOL


3. VSAM ainda é extremamente usado em bancos


4. Muitos datasets existem há décadas em produção


Erros comuns de iniciantes


1. Confundir PDS com dataset sequencial


2. DDNAME diferente do ASSIGN


3. DISP incorreto


4. Layout incompatível


5. Não entender organização do dataset


Dicas importantes

Entenda PS vs PDS vs VSAM


Sempre valide DDNAME


Aprenda DISP corretamente


Conheça layouts COBOL


Resumo rápido

TipoFunção
PSSequencial
PDSBiblioteca
PDSEBiblioteca moderna
VSAMIndexado
GDGVersionamento
DSNNome dataset
DDAssociação JCL

Conclusão

Dataset é a estrutura fundamental de armazenamento no ambiente mainframe IBM Z.

Eles armazenam programas, arquivos batch, bibliotecas, dados corporativos e informações críticas, sendo essenciais para COBOL, JCL, CICS e processamento no z/OS.

domingo, 25 de março de 2007

O que é DL/I em IMS?

 

Bellacosa Mainframe analisando o DL/I em IMS

O que é DL/I em IMS?

O DL/I (Data Language/I) é a linguagem de acesso a dados e transações utilizada pelo IMS (Information Management System) da IBM.

Ele funciona como uma interface entre os programas (COBOL, PL/I, Assembler) e os bancos de dados hierárquicos do IMS.

De forma simples:

Programa COBOL
       ↓
      DL/I
       ↓
Banco IMS

O que Significa DL/I?

DL/I
Data Language / Interface

É a API original criada pela IBM para acessar bancos IMS.


Por que o DL/I Foi Criado?

Na década de 1960, não existia SQL.

O IMS armazenava dados em estruturas hierárquicas.

Para acessar esses dados era necessário um mecanismo específico.

A IBM criou então:

DL/I

DL/I é o SQL do IMS?

De certa forma, sim.

Compare:

DB2

SELECT *
FROM CLIENTE
WHERE CPF = '12345678900'

IMS DL/I

GU CLIENTE

seguido da navegação hierárquica.


Estrutura Hierárquica do IMS

Exemplo:

CLIENTE
   │
   ├── CONTA
   │      │
   │      └── MOVIMENTO
   │
   └── CARTAO

Como o DL/I Navega?

O DL/I percorre a hierarquia.

CLIENTE
   ↓
CONTA
   ↓
MOVIMENTO

Tipos de Chamadas DL/I

O DL/I trabalha através de comandos conhecidos como:

CALL DL/I

Exemplo COBOL:

CALL 'CBLTDLI'
     USING GU
           PCB-MASK
           AREA-CLIENTE
           SSA-CLIENTE.

Principais Comandos DL/I

GU

Get Unique

Busca um registro específico.


Exemplo:

GU CLIENTE

Resultado:

CLIENTE 12345

GN

Get Next

Busca o próximo segmento.


Exemplo:

CLIENTE 1
CLIENTE 2
CLIENTE 3

Fluxo:

GN
↓
Próximo registro

GNP

Get Next Within Parent

Busca o próximo filho.


Exemplo:

CLIENTE
   │
   ├── CONTA1
   ├── CONTA2
   └── CONTA3

Com:

GNP

navega entre as contas.


GHU

Get Hold Unique

Lê e bloqueia registro.


Utilizado antes de atualização.


GHN

Get Hold Next

Lê próximo registro com bloqueio.


ISRT

Insert

Insere novo segmento.


Exemplo:

Novo Cliente

COBOL:

CALL 'CBLTDLI'
     USING ISRT
           PCB-MASK
           AREA-CLIENTE.

REPL

Replace

Atualiza registro existente.


Fluxo:

GHU
 ↓
REPL

DLET

Delete

Remove segmento.


Fluxo:

GHU
 ↓
DLET

Exemplo Completo

Banco IMS:

CLIENTE
    ↓
CONTA

Passo 1

Buscar cliente.

GU

Passo 2

Alterar dados.

GHU

Passo 3

Atualizar.

REPL

SSA (Segment Search Argument)

Equivalente ao WHERE do SQL.


SQL:

WHERE CPF='123'

DL/I:

CLIENTE(CPF=123)

Exemplo

01 SSA-CLIENTE.
   05 FILLER PIC X(8)
      VALUE 'CLIENTE('.

PCB

Program Communication Block

Define o acesso ao banco.


Exemplo:

PCB CLIENTE

Contém:

  • Status

  • Banco

  • Permissões


Status Codes

Após cada chamada DL/I.


Espaços

'  '

Sucesso.


GE

GE

Registro não encontrado.


GB

GB

Fim de banco.


II

II

Inserção inválida.


Exemplo de Leitura Sequencial

GU
 ↓
GN
 ↓
GN
 ↓
GN

Resultado:

CLIENTE1
CLIENTE2
CLIENTE3
CLIENTE4

Exemplo COBOL

CALL 'CBLTDLI'
     USING GU
           PCB-CLIENTE
           REG-CLIENTE
           SSA-CLIENTE.

Verificando retorno:

IF PCB-STATUS = '  '
   DISPLAY 'ENCONTRADO'
END-IF.

DL/I em Ambiente Online

Muito comum em:

CICS
IMS TM

Fluxo:

Terminal
    ↓
IMS TM
    ↓
COBOL
    ↓
DL/I
    ↓
IMS DB

DL/I em Batch

Também muito utilizado.

JOB
 ↓
COBOL
 ↓
DL/I
 ↓
IMS DB

Comparação SQL x DL/I

SQL (DB2)DL/I (IMS)
SELECTGU/GN
INSERTISRT
UPDATEREPL
DELETEDLET
WHERESSA
CursorGN
LockGHU

Vantagens do DL/I

✅ Extremamente rápido

✅ Baixo consumo de CPU

✅ Excelente para grandes volumes

✅ Muito usado em bancos

✅ Altamente confiável


Curiosidades

1. O DL/I surgiu antes do SQL

2. Foi criado para o Projeto Apollo da NASA

3. Ainda processa bilhões de transações diariamente

4. Continua amplamente utilizado em bancos e seguradoras

5. É uma das APIs de banco de dados mais antigas ainda em produção


Resumo Rápido

ComandoFunção
GUGet Unique
GNGet Next
GNPGet Next Within Parent
GHUGet Hold Unique
GHNGet Hold Next
ISRTInsert
REPLReplace
DLETDelete
SSACritério de busca
PCBControle de acesso

Conclusão

O DL/I (Data Language/I) é a interface de acesso ao banco de dados IMS. Ele permite que programas COBOL, PL/I e Assembler leiam, insiram, atualizem e removam segmentos em bancos hierárquicos IMS por meio de comandos como GU, GN, ISRT, REPL e DLET. Embora seja anterior ao SQL, continua sendo uma das tecnologias mais importantes do universo Mainframe, sustentando aplicações críticas em bancos, governos, seguradoras e grandes corporações ao redor do mundo.


sábado, 24 de março de 2007

Como Funciona o FTP no Ambiente Mainframe (Modo Batch e Modo Online)

 

Bellacosa Mainframe tranferindo arquivos com FTP

Como Funciona o FTP no Ambiente Mainframe (Modo Batch e Modo Online)

O FTP (File Transfer Protocol) é uma das formas mais tradicionais de transferir arquivos entre Mainframes, servidores Linux, Windows, Unix e plataformas Cloud.

No z/OS, o FTP pode ser executado de duas formas:

Modo Online (TSO)

Modo Batch (JCL)


O que é FTP?

FTP significa:

File Transfer Protocol

É um protocolo utilizado para:

  • Enviar arquivos

  • Receber arquivos

  • Trocar datasets

  • Integrar sistemas


Arquitetura Básica

Mainframe
     ↓
FTP
     ↓
Servidor Linux

ou

Mainframe A
      ↓
FTP
      ↓
Mainframe B

Modos de Transferência

ASCII

Converte caracteres.

Utilizado para:

JCL
COBOL
TXT
PROC

BINARY

Não converte conteúdo.

Utilizado para:

LOADLIB
XMIT
ZIP
PDF
Executáveis

FTP Online (TSO)

Executado diretamente no terminal TSO.


Passo 1 – Entrar no FTP

No prompt TSO:

FTP 192.168.1.100

ou

FTP servidor.empresa.com

Passo 2 – Informar Usuário

Name:

Digite:

USER01

Passo 3 – Informar Senha

Password:

Digite:

*******

Conexão Estabelecida

Connected to server.

Comandos Básicos


Listar Diretório

LS

ou

DIR

Mudar Diretório

CD /home/arquivos

Ver Diretório Atual

PWD

Enviando Arquivos

Exemplo

Dataset:

USER.CLIENTES

Comando:

PUT 'USER.CLIENTES' clientes.txt

Fluxo:

Dataset Mainframe
      ↓
PUT
      ↓
Arquivo Linux

Recebendo Arquivos

GET clientes.txt 'USER.CLIENTES'

Fluxo:

Linux
 ↓
GET
 ↓
Dataset z/OS

Definindo Modo ASCII

ASCII

Definindo Modo BINARY

BINARY

Exemplo Completo Online

FTP servidor.empresa.com

USER user01
PASS senha

ASCII

PUT 'USER.COBOL.SOURCE(MEUCOBOL)' programa.cbl

QUIT

Resultado:

programa.cbl

enviado para o servidor.


FTP Batch (JCL)

Muito utilizado em produção.


Vantagens

✅ Automação

✅ Execução noturna

✅ Integração Batch

✅ Sem intervenção humana


Estrutura Básica

//FTPJOB JOB ...
//STEP01 EXEC PGM=FTP
//SYSPRINT DD SYSOUT=*
//INPUT DD *
...
/*

Exemplo 1 – Enviar Arquivo

//FTPJOB JOB CLASS=A,MSGCLASS=X

//FTPSTEP EXEC PGM=FTP
//SYSPRINT DD SYSOUT=*
//OUTPUT   DD SYSOUT=*
//INPUT DD *

192.168.1.100

USER01
SENHA

ASCII

PUT 'USER.CLIENTES' clientes.txt

QUIT

/*

Fluxo

JCL
 ↓
FTP
 ↓
Servidor
 ↓
clientes.txt

Exemplo 2 – Receber Arquivo

//FTPJOB JOB CLASS=A

//FTPSTEP EXEC PGM=FTP
//SYSPRINT DD SYSOUT=*
//INPUT DD *

192.168.1.100

USER01
SENHA

ASCII

GET clientes.txt 'USER.CLIENTES'

QUIT

/*

Exemplo 3 – Transferindo XMIT

Arquivo:

USER.COBOL.XMIT

Sempre usar:

BINARY

JCL:

//FTPSTEP EXEC PGM=FTP
//INPUT DD *

192.168.1.100

USER01
SENHA

BINARY

PUT 'USER.COBOL.XMIT' COBOL.XMIT

QUIT

/*

Recebendo Arquivo XMIT

GET COBOL.XMIT 'USER.COBOL.XMIT'

Depois:

RECEIVE INDSN('USER.COBOL.XMIT')

FTP Entre Mainframes

Muito comum.


Mainframe A:

BANCO A

PUT 'PROD.CLIENTES'

BANCO B

Criando Dataset Remoto

Muitos servidores FTP do z/OS aceitam:

SITE

Exemplo:

SITE RECFM(F B) LRECL(80) BLKSIZE(8000)

Depois:

PUT CLIENTES.TXT 'USER.CLIENTES'

SITE Command

Muito importante.

Permite definir:

  • LRECL

  • BLKSIZE

  • RECFM

  • SPACE


Exemplo

SITE

RECFM(FB)
LRECL(80)
CYLINDERS
PRIMARY=5
SECONDARY=2

FTP Seguro

Atualmente utiliza-se:

FTPS

FTP com TLS.


SFTP

Via SSH.


Fluxo:

Mainframe
 ↓
SFTP
 ↓
Linux

Exemplos de Uso Real


Banco

PIX
 ↓
FTP
 ↓
Arquivo BACEN

Seguradora

Batch Noturno
 ↓
FTP
 ↓
Parceiro

Governo

Arrecadação
 ↓
FTP
 ↓
Receita

Erros Mais Comuns

Login Inválido

530 Login Incorrect

Dataset Não Encontrado

550 File Not Found

Permissão Negada

550 Access Denied

ASCII x BINARY

Erro clássico.

Enviar XMIT em ASCII:

Arquivo Corrompido

Correto:

BINARY

Boas Práticas

✅ XMIT → BINARY

✅ LOADLIB → BINARY

✅ Texto COBOL → ASCII

✅ Usar FTPS/SFTP

✅ Automatizar via JCL

✅ Validar retorno FTP


Resumo Rápido

ComandoFunção
FTP hostConectar
PUTEnviar
GETReceber
ASCIIModo texto
BINARYModo binário
DIRListar
CDTrocar diretório
QUITEncerrar
SITEDefinir atributos
RECEIVERestaurar XMIT

Exemplo Clássico de Produção

JOB Batch
      ↓
FTP
      ↓
Arquivo Remessa
      ↓
Banco Parceiro
      ↓
Processamento
      ↓
Arquivo Retorno
      ↓
FTP GET
      ↓
Mainframe

Esse é um dos cenários mais comuns em bancos, seguradoras, telecomunicações e órgãos governamentais que utilizam Mainframe para integração de arquivos em larga escala.


sexta-feira, 23 de março de 2007

O que é XMIT em Mainframe?

 

Bellacosa Mainframe explica o XMIT

O que é XMIT em Mainframe?

O comando XMIT (Transmit) é um utilitário do TSO/E utilizado para empacotar e transmitir datasets entre usuários, sistemas z/OS ou ambientes Mainframe.

Ele funciona como uma espécie de:

ZIP do Mainframe
+
Envio de Arquivos

O resultado é um arquivo especial conhecido como:

XMIT File
ou
Transmitted Dataset

Muito utilizado para:

✅ Compartilhar JCLs

✅ Enviar fontes COBOL

✅ Transferir PDSs completos

✅ Distribuir ferramentas

✅ Migrar objetos entre ambientes


Como Funciona?

Imagine que você possui uma biblioteca:

USER.COBOL.SOURCE

Com dezenas de programas COBOL.

O XMIT transforma tudo em um único arquivo:

USER.COBOL.XMIT

que pode ser enviado para outro usuário.


Fluxo Simplificado

PDS
 ↓
XMIT
 ↓
Arquivo XMIT
 ↓
FTP / E-mail / Connect:Direct
 ↓
RECEIVE
 ↓
PDS Restaurada

Comando Básico XMIT

No TSO:

XMIT USERID -
DSNAME('USER.COBOL.SOURCE')

Onde:

USERID = Destinatário

DSNAME = Dataset enviado

Exemplo 1 – Enviar um PDS

Suponha:

USER.JCL

contendo:

JOB1
JOB2
JOB3

Execute:

XMIT BELLACOSA -
DSNAME('USER.JCL')

Resultado:

Arquivo Transmitido

na fila do usuário destino.


Exemplo 2 – Criar Arquivo XMIT

Muito comum para download.

XMIT BELLACOSA -
DSNAME('USER.JCL') -
OUTDSN('USER.JCL.XMIT')

Resultado:

USER.JCL.XMIT

Agora você pode:

FTP
IND$FILE
Download
Connect:Direct

Estrutura

Antes:

USER.JCL
   ├── JOB001
   ├── JOB002
   └── JOB003

Depois:

USER.JCL.XMIT

Como Receber?

Utilizando RECEIVE.


Comando RECEIVE

RECEIVE INDSN('USER.JCL.XMIT')

Sistema pergunta:

Restore dataset?

Resposta:

YES

Dataset restaurado.


Exemplo Completo

Passo 1

Criar arquivo transmitido.

XMIT BELLACOSA -
DSNAME('USER.COBOL.SOURCE') -
OUTDSN('USER.COBOL.XMIT')

Passo 2

Transferir.

FTP
IND$FILE
SFTP
Connect:Direct

Passo 3

Receber.

RECEIVE INDSN('USER.COBOL.XMIT')

Passo 4

Confirmar restauração.

Restore?
YES

Passo 5

Dataset recriado.

USER.COBOL.SOURCE

Enviando PDS Completa

XMIT preserva:

✅ Membros

✅ Estatísticas

✅ Estrutura

✅ Atributos


Exemplo:

USER.COBOL

contendo:

PROG001
PROG002
PROG003

Após RECEIVE:

PROG001
PROG002
PROG003

continuam intactos.


XMIT via Batch

Também pode ser executado por JCL.


Exemplo:

//STEP01 EXEC PGM=IKJEFT01
//SYSTSPRT DD SYSOUT=*
//SYSTSIN  DD *
 XMIT USERID
  DSNAME('USER.JCL')
/*

RECEIVE via Batch

//STEP01 EXEC PGM=IKJEFT01
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
 RECEIVE INDSN('USER.JCL.XMIT')
/*

O que Pode Ser Transmitido?

PDS

USER.JCL

PDS/E

USER.COBOL

Sequential

USER.ARQUIVO

Load Library

USER.LOADLIB

O que NÃO É Recomendado?

Arquivos muito grandes.

Exemplo:

DB2 Tablespace
VSAM Gigantesco

Normalmente usa-se:

DFDSS
ADRDSSU
FTP

XMIT e FTP

Fluxo muito comum:

Mainframe A
      ↓
XMIT
      ↓
Arquivo .XMIT
      ↓
FTP
      ↓
Mainframe B
      ↓
RECEIVE

XMIT e IND$FILE

Muito usado para baixar exemplos da internet.


Passo típico:

Site Mainframe
      ↓
Arquivo.XMIT
      ↓
Download PC
      ↓
Upload Mainframe
      ↓
RECEIVE

Erros Comuns

Dataset Não Existe

DATA SET NOT FOUND

Espaço Insuficiente

INSUFFICIENT SPACE

RECEIVE em Dataset Inválido

INVALID TRANSMISSION DATASET

Vantagens

✅ Fácil utilização

✅ Preserva atributos

✅ Mantém membros

✅ Funciona em qualquer z/OS

✅ Muito usado na comunidade Mainframe


Curiosidade

Durante décadas, a comunidade Mainframe distribuiu ferramentas, utilitários, macros, exits e exemplos COBOL através de arquivos .XMIT. Muitos pacotes clássicos disponíveis em fóruns, grupos SHARE e CBT Tape eram distribuídos exatamente nesse formato.


Resumo Rápido

ComandoFunção
XMITTransmitir dataset
RECEIVERestaurar dataset
OUTDSNCriar arquivo XMIT
DSNAMEDataset origem
IKJEFT01Executar via Batch
PDS/PDSETotalmente suportados

Exemplo Clássico

XMIT BELLACOSA -
DSNAME('USER.COBOL.SOURCE') -
OUTDSN('USER.COBOL.XMIT')

Depois:

RECEIVE INDSN('USER.COBOL.XMIT')

Resultado:

PDS original restaurada
com todos os membros.

Essa é a forma mais tradicional de empacotar e transportar bibliotecas COBOL, JCL, PROC e utilitários entre ambientes Mainframe z/OS.


quinta-feira, 22 de março de 2007

O que é DSN em JCL?

 

Bellacosa Mainframe explicando dsn em jcl

O que é DSN em JCL?

No ambiente Mainframe, DSN significa:

Data Set Name

Ou seja:

Nome de um Dataset

O parâmetro DSN= é um dos mais utilizados em JCL e serve para informar qual arquivo (dataset) será utilizado por um programa, utility ou procedimento.


Definição Simples

Pense no DSN como o caminho de um arquivo no Windows.

Windows:

C:\ARQUIVOS\CLIENTES.TXT

Mainframe:

USER.PROJETO.CLIENTES

Esse nome é o DSN.


Exemplo Básico

//ARQENT DD DSN=USER.PROJETO.CLIENTES,
//       DISP=SHR

Onde:

DSN=USER.PROJETO.CLIENTES

é o dataset utilizado.


Significado da Sigla

SiglaSignificado
DSData Set
NName
DSNData Set Name

Estrutura de um DSN

Um dataset é composto por qualificadores.

Exemplo:

EMPRESA.FINANCEIRO.CLIENTES

Cada parte possui significado.

EMPRESA
   ↓
FINANCEIRO
   ↓
CLIENTES

Exemplo Corporativo

BANCO.PRODUCAO.COBOL
BANCO.TESTE.COBOL
BANCO.CLIENTES.VSAM
BANCO.JCL.PROC

Uso em DD Statements

O uso mais comum.

//ENTRADA DD DSN=USER.ARQ.ENTRADA,
//            DISP=SHR

Dataset Sequencial

//SAIDA DD DSN=USER.ARQ.SAIDA,
//          DISP=OLD

Dataset VSAM

//CLIENTE DD DSN=BANCO.CLIENTE.KSDS,
//            DISP=SHR

Dataset GDG

//RELAT DD DSN=USER.RELATORIO.GDG(+1),
//          DISP=(NEW,CATLG)

Dataset Temporário

//SORTWK DD DSN=&&TEMP,
//           DISP=(NEW,PASS)

O dataset existe apenas durante o Job.


DSN e DISP

Normalmente aparecem juntos.

//ARQ DD DSN=USER.CLIENTES,
//        DISP=SHR

Onde:

DSN = Nome do Dataset

DISP = Como será utilizado

DSN em Criação de Arquivos

//SAIDA DD DSN=USER.NOVO.ARQUIVO,
//          DISP=(NEW,CATLG,DELETE),

O dataset será criado.


DSN em SYSUT1 e SYSUT2

Muito comum em utilities.

//SYSUT1 DD DSN=USER.ARQ.ORIGEM,
//            DISP=SHR
//SYSUT2 DD DSN=USER.ARQ.DESTINO,
//            DISP=(NEW,CATLG)

DSN em IDCAMS

//ARQVSAM DD DSN=EMPRESA.CLIENTE.KSDS

DSN em SORT

//SORTIN DD DSN=USER.CLIENTES,
//           DISP=SHR

//SORTOUT DD DSN=USER.CLIENTES.ORD,
//            DISP=(NEW,CATLG)

DSN e Catálogo

O catálogo do z/OS mantém informações sobre o dataset.

Quando informamos:

DSN=USER.CLIENTES

o sistema consulta o catálogo para localizar o arquivo.


Regras para Nomes

Um DSN:

✅ Pode ter até 44 caracteres

✅ Pode possuir vários qualificadores

✅ Usa ponto (.) como separador


Exemplo:

EMPRESA.FINANCEIRO.ARQUIVOS.CLIENTES

Qualificadores

Cada qualificador pode ter:

1 a 8 caracteres

Exemplo:

EMPRESA
FINANCE
CLIENTES

Caracteres Permitidos

Normalmente:

A-Z
0-9
@
#
$

Exemplo Real

//STEP01 EXEC PGM=COBOLPGM

//ENTRADA DD DSN=BANCO.PROD.CLIENTES,
 //          DISP=SHR

//SAIDA DD DSN=BANCO.PROD.RELATORIO,
 //         DISP=(NEW,CATLG,DELETE)

Erros Comuns

Dataset Não Existe

IEC141I
DATA SET NOT FOUND

Nome Incorreto

JCL ERROR

Dataset Em Uso

DATA SET IN USE

Boas Práticas

✅ Utilizar nomenclatura padronizada

✅ Separar Produção e Teste

✅ Usar qualificadores significativos

✅ Evitar nomes genéricos


Curiosidade

O conceito de DSN existe desde os primeiros sistemas OS/360 da IBM nos anos 1960. Mesmo após décadas de evolução tecnológica, ele continua sendo uma das estruturas fundamentais do z/OS, organizando bilhões de datasets utilizados diariamente por bancos, seguradoras e governos.


Resumo Rápido

ComandoFunção
DSN=USER.ARQDataset existente
DSN=ARQ(+1)Nova geração GDG
DSN=&&TEMPDataset temporário
DSN=ARQ.VSAMArquivo VSAM
DSN=ARQ.SEQArquivo sequencial

Conclusão

O DSN (Data Set Name) é o nome lógico de um dataset no Mainframe. Utilizado principalmente em instruções DD do JCL, ele identifica arquivos sequenciais, VSAM, GDGs, bibliotecas, datasets temporários e diversos outros recursos do z/OS. Dominar o uso de DSN é um dos primeiros passos para compreender JCL, Batch e administração de arquivos em ambientes Mainframe.


quarta-feira, 21 de março de 2007

O que é a Norma ISO 1989?

 

Bellacosa Mainframe e a norma iso 1989 a certidao de nascimento do cobol

O que é a Norma ISO 1989?

A ISO 1989 é a norma internacional que define oficialmente a linguagem COBOL (Common Business-Oriented Language).

Ela estabelece as regras, sintaxe, recursos e padrões que os compiladores COBOL devem seguir para garantir compatibilidade e portabilidade entre diferentes fabricantes e plataformas.

Em resumo:

ISO 1989 = Padrão Oficial do COBOL

O que é ISO?

ISO significa:

International Organization for Standardization

É a organização responsável pela criação de padrões internacionais utilizados em praticamente todos os setores da tecnologia e da indústria.


Objetivo da ISO 1989

O principal objetivo é garantir que um programa COBOL escrito em um ambiente possa ser compreendido e executado em outros ambientes compatíveis.

Exemplo:

IBM COBOL
     ↓
COBOL Padrão ISO
     ↓
Micro Focus COBOL

História da Norma

O COBOL nasceu em:

1959

através do comitê CODASYL.

Posteriormente surgiu a necessidade de padronização internacional.


Evolução da ISO 1989

ISO 1989:1978

Primeira padronização internacional.


ISO 1989:1985

Conhecida como:

COBOL-85

Foi a versão mais popular da história.

Introduziu:

  • END-IF

  • Escopo explícito

  • Melhor legibilidade


Exemplo:

IF SALDO > 0

   DISPLAY 'OK'

END-IF

ISO 1989:2002

Grande modernização da linguagem.

Introduziu:

  • Programação Orientada a Objetos

  • XML

  • Tipos de dados modernos

  • Métodos


ISO 1989:2014

Atualização importante.

Incluiu:

  • JSON

  • Melhorias OO

  • Novos recursos de interoperabilidade


ISO 1989:2023

Versão mais recente da norma.

Incorpora diversas melhorias acumuladas ao longo dos anos para manter o COBOL alinhado às necessidades modernas de integração e desenvolvimento corporativo.


O que a Norma Define?


Estrutura do Programa

IDENTIFICATION DIVISION.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.

Regras de Sintaxe

Exemplo:

MOVE A TO B

Tipos de Dados

PIC X
PIC 9
COMP
COMP-3

Comandos

  • IF

  • PERFORM

  • CALL

  • READ

  • WRITE

  • OPEN

  • CLOSE


Arquivos

QSAM

VSAM

Sequential

Indexed

Relative


Funções

FUNCTION CURRENT-DATE

Manipulação de Strings

STRING
UNSTRING
INSPECT

Benefícios da Padronização

Portabilidade

Permite mover aplicações entre compiladores.


Compatibilidade

Reduz dependência de fornecedor.


Evolução Controlada

Novos recursos seguem um padrão global.


Treinamento

Facilita formação de profissionais.


COBOL IBM e a ISO 1989

O Enterprise COBOL da IBM segue a norma ISO, mas também possui extensões próprias.

Exemplos:

CICS
DB2
JSON
XML
LE

Padrão ISO x Extensões Proprietárias

Padrão ISO

IF A = B

Extensão do Fabricante

EXEC CICS
END-EXEC

Áreas Cobertas pela Norma

ÁreaCoberta
Sintaxe COBOLSim
Tipos de DadosSim
ArquivosSim
FunçõesSim
OO COBOLSim
XMLSim
JSONSim
CICSNão
DB2Não
IMSNão

Relação com Mainframe

Grande parte dos programas COBOL executados hoje em:

  • IBM Z

  • z/OS

  • CICS

  • Batch

  • DB2

segue conceitos definidos pela ISO 1989.


Exemplo Clássico ISO COBOL

IDENTIFICATION DIVISION.
PROGRAM-ID. EXEMPLO.

DATA DIVISION.

WORKING-STORAGE SECTION.

01 WS-NOME PIC X(20).

PROCEDURE DIVISION.

MOVE 'BELLACOSA' TO WS-NOME

DISPLAY WS-NOME

GOBACK.

Curiosidades

1. COBOL é uma das poucas linguagens com padrão ISO formal há décadas.

2. A versão COBOL-85 (ISO 1989:1985) ainda influencia milhares de sistemas em produção.

3. Muitas funcionalidades modernas de JSON e XML foram incorporadas às versões recentes da norma.

4. A IBM participa ativamente dos grupos internacionais que evoluem o padrão COBOL.

5. Milhões de linhas de código executadas diariamente em bancos e governos seguem regras definidas pela ISO 1989.


Resumo Rápido

NormaMarco
ISO 1989:1978Primeiro padrão
ISO 1989:1985COBOL-85
ISO 1989:2002Orientação a Objetos
ISO 1989:2014JSON e melhorias
ISO 1989:2023Atualização moderna

Conclusão

A ISO 1989 é a norma internacional que define oficialmente a linguagem COBOL. Ela garante padronização, compatibilidade e evolução controlada da linguagem desde os anos 1970, permitindo que aplicações COBOL continuem sendo desenvolvidas e mantidas em ambientes modernos como IBM Z, LinuxONE, Cloud, APIs REST, XML e JSON, preservando décadas de investimento tecnológico das organizações.


terça-feira, 20 de março de 2007

O que é CODASYL?

 

Bellacosa Mainframe apresenta o Codasyl

O que é CODASYL?

O CODASYL (Conference on Data Systems Languages) foi um consórcio criado em 1959 por fabricantes de computadores, empresas e órgãos governamentais com o objetivo de desenvolver padrões para linguagens e sistemas de informação.

O CODASYL ficou mundialmente famoso por dois grandes legados:

✅ A criação da linguagem COBOL

✅ O modelo de banco de dados em rede (Network Database Model)


Significado da Sigla

CODASYL
Conference on Data Systems Languages

Em português:

Conferência sobre Linguagens para Sistemas de Dados

Como Surgiu?

No final da década de 1950 existiam diversos fabricantes:

  • IBM

  • UNIVAC

  • Burroughs

  • Honeywell

  • RCA

Cada um possuía sua própria linguagem.

O problema era:

Programa IBM
      ≠
Programa UNIVAC

Não havia portabilidade.


A Missão do CODASYL

Criar padrões que permitissem:

  • Compartilhamento de conhecimento

  • Portabilidade

  • Padronização

  • Integração entre fabricantes


O Nascimento do COBOL

Em 1959 o CODASYL criou um comitê para desenvolver uma linguagem de negócios.

O resultado foi:

COBOL

Common Business Oriented Language

Curiosidade Histórica

Grace Hopper participou ativamente das discussões que influenciaram a criação do COBOL.


O Modelo CODASYL de Banco de Dados

Na década de 1960 o grupo criou outro marco importante:

Banco de Dados em Rede

(Network Database Model)


Como Funciona?

Os registros são ligados por relacionamentos.

Exemplo:

CLIENTE
    │
    ├── CONTA
    │
    ├── CARTÃO
    │
    └── EMPRÉSTIMO

Conceitos Básicos

Record

Equivalente a um registro.

CLIENTE

Set

Relacionamento entre registros.

CLIENTE
      ↓
   CONTA

Owner

Registro proprietário.

CLIENTE

Member

Registro associado.

CONTA

Exemplo Visual

CLIENTE (Owner)
      │
      ├──── CONTA 1
      │
      ├──── CONTA 2
      │
      └──── CONTA 3

Comparação com Modelo Hierárquico

Hierárquico (IMS)

CLIENTE
    ↓
CONTA
    ↓
MOVIMENTO

Um único caminho.


CODASYL

CLIENTE
   ↔
CONTA
   ↔
CARTÃO
   ↔
EMPRÉSTIMO

Múltiplos caminhos.


Vantagem do CODASYL

Maior flexibilidade.


Exemplo Bancário

CLIENTE
     │
     ├── CONTA
     │
     ├── CARTÃO
     │
     ├── INVESTIMENTO
     │
     └── SEGURO

Linguagem de Acesso

Os programas navegavam diretamente pelos relacionamentos.

Exemplo:

FIND CLIENTE
↓
FIND CONTA
↓
FIND MOVIMENTO

Navegação

O programador precisava conhecer:

Caminhos
Relacionamentos
Estruturas

do banco.


Produtos Baseados em CODASYL

Os mais conhecidos foram:

IDMS

(Integrated Database Management System)

Muito utilizado em Mainframe.


IDS

Integrated Data Store.


TOTAL

Outro banco de dados famoso da época.


CODASYL x Banco Relacional

Década de 1970:

Edgar F. Codd propõe:

Modelo Relacional


CODASYL:

Navegação

Relacional:

SELECT *
FROM CLIENTES

Exemplo

CODASYL:

CLIENTE
 ↓
CONTA
 ↓
MOVIMENTO

Relacional:

SELECT *
FROM MOVIMENTO
WHERE CONTA = 123

Diferenças

CODASYLRelacional
NavegacionalDeclarativo
RecordTabela
SetRelacionamento
OwnerPai
MemberFilho
Acesso físicoSQL

CODASYL e Mainframe

Durante décadas foi extremamente utilizado em:

  • Bancos

  • Seguradoras

  • Governo

  • Telecom


Muitos sistemas críticos ainda utilizam:

IDMS

baseado no modelo CODASYL.


Influência Atual

Embora o modelo relacional tenha se tornado dominante, várias ideias do CODASYL influenciaram:

  • Bancos orientados a grafos

  • Bancos NoSQL

  • Neo4j

  • Modelagem de relacionamentos complexos


CODASYL x Grafos

Curiosamente:

CODASYL (1969)
       ↓
Relacionamentos
       ↓
Grafos Modernos

Existe certa semelhança conceitual.


Curiosidades

1. O CODASYL ajudou a criar o COBOL

2. O modelo de banco em rede surgiu antes do DB2

3. O IDMS ainda existe em alguns ambientes Mainframe

4. Foi um dos modelos de banco mais importantes da história

5. Influenciou conceitos utilizados em bancos de grafos modernos


Resumo Rápido

ConceitoDescrição
CODASYLOrganização de padronização
COBOLCriado sob o CODASYL
Modelo RedeBanco de dados em rede
RecordRegistro
SetRelacionamento
OwnerRegistro pai
MemberRegistro filho
IDMSBanco baseado em CODASYL
IMSModelo hierárquico
DB2Modelo relacional

Conclusão

O CODASYL foi uma das organizações mais importantes da história da computação. Além de participar da criação do COBOL, desenvolveu o modelo de banco de dados em rede, que dominou muitos ambientes corporativos antes da popularização dos bancos relacionais. Seu legado permanece vivo em sistemas Mainframe, especialmente em ambientes IDMS, e influenciou conceitos modernos de modelagem de dados e bancos orientados a relacionamentos.