✨ Bem-vindo ao meu espaço! ✨ Este blog é o diário de um otaku apaixonado por animes, tecnologia de mainframe e viagens. Cada entrada é uma mistura única: relatos de viagem com fotos, filmes, links, artigos e desenhos, sempre buscando enriquecer a experiência de quem lê. Sou quase um turista profissional: adoro dormir em uma cama diferente, acordar em um lugar novo e registrar tudo com minha câmera sempre à mão. Entre uma viagem e outra, compartilho também reflexões sobre cultura otaku/animes
sábado, 6 de abril de 2024
O que é um Diagrama de Fluxo de Dados.
sexta-feira, 5 de abril de 2024
Pessoas erram... Cobol: ainda não morreu
quinta-feira, 4 de abril de 2024
Mainframe e suas ferramentas CASE
IBM Tape Data Cartridge 700 GB
quarta-feira, 3 de abril de 2024
terça-feira, 2 de abril de 2024
O mundo do Mainframe nos anos cinquenta do século passado
sábado, 16 de março de 2024
🧾 JCL – Linha do Tempo Completa
🧾 JCL – Linha do Tempo Completa
Do cartão perfurado ao DevOps no z/OS
🧠 Antes do JCL (anos 1950 – início dos 60)
Contexto
-
Programas rodavam em batch puro, controlados manualmente.
-
Operadores plugavam cabos, montavam fitas, ajustavam switches.
-
Cada sistema tinha seu próprio “jeito” de rodar jobs.
📌 Problema:
Não existia uma linguagem padrão para dizer o que rodar, quando e com quais recursos.
👉 Solução da IBM: criar uma linguagem declarativa para controlar o sistema.
🟦 1964 – NASCE O JCL (OS/360)
Sistema: OS/360
Hardware: IBM System/360
Evento histórico: um único SO para toda a linha de hardware.
O que surge
-
JCL formalmente introduzido
-
Conceitos fundamentais:
-
//JOB -
//EXEC -
//DD
-
-
Sintaxe baseada em cartões perfurados
-
Colunas fixas, 80 caracteres, tolerância zero a erro
📌 Impacto
-
Pela primeira vez, o operador deixa de decidir tudo manualmente
-
O job descreve:
-
programa
-
datasets
-
dispositivos
-
prioridade
-
🧨 Easter Egg histórico
Fred Brooks (IBM) disse que JCL foi uma das linguagens mais difíceis já criadas —
mas impossível de abandonar.
🟨 1966–1971 – JCL no DOS/360 e OS/360 amadurece
Sistemas: DOS/360, OS/360 MFT/MVT
Evolução
-
Pequenas variações de JCL entre DOS e OS
-
Mais parâmetros em
DD -
Introdução de:
-
datasets temporários
-
concatenação
-
procedimentos simples
-
📌 Nota Bellacosa
Aqui nasce a primeira dor do mainframer:
👉 “Esse JCL roda no MVT mas não no DOS?”
🟧 1972–1974 – A Era do Virtual Storage (OS/VS → MVS)
Sistemas: OS/VS1, OS/VS2, depois MVS
O que muda no JCL
-
Nada quebra (compatibilidade total)
-
Mas o poder cresce:
-
mais steps
-
mais memória
-
mais jobs simultâneos
-
-
Procedures catalogadas se tornam padrão
-
JCL passa a ser infraestrutura crítica
📌 Marco invisível
O JCL deixa de ser “controle de job”
e vira linguagem de orquestração do datacenter.
🟥 Final dos anos 70 – JES2 / JES3
Subsistemas: JES2 e JES3
Evolução prática
-
JCL começa a dialogar mais com o spool
-
Controle refinado de:
-
SYSOUT
-
classes
-
prioridades
-
-
Ambientes multi-LPAR começam a surgir
🧠 Filosofia
JCL continua simples…
mas o ambiente em volta vira um monstro.
🟪 Anos 80 – Estabilidade Absoluta
Sistemas: MVS/XA, MVS/ESA
O que muda
-
Quase nada na sintaxe
-
Muitos novos parâmetros
-
JCL vira uma “linguagem fossilizada viva”
📌 Realidade
Um JCL de 1975 ainda roda.
Um COBOL também.
O estagiário não.
🟩 1995 – OS/390 (o JCL entra na era corporativa moderna)
Sistema: OS/390
Evolução
-
Consolidação:
-
MVS
-
JES
-
DFSMS
-
-
JCL passa a lidar fortemente com:
-
SMS
-
storage groups
-
políticas corporativas
-
📌 Mudança cultural
O JCL deixa de ser “do operador”
e vira ativo estratégico da empresa.
🟦 2000 – z/OS nasce (JCL entra no século XXI)
Sistema: z/OS 1.1
O que muda (sem quebrar nada)
-
Integração com:
-
Unix System Services (USS)
-
arquivos POSIX
-
-
JCL agora convive com:
-
shell scripts
-
Java
-
C/C++
-
-
Melhor controle condicional
📌 Importante
Nenhum “JCL 2.0”
Nenhuma revolução sintática
👉 só evolução silenciosa.
🟨 2005–2015 – JCL + Automação
Novidades
-
IF / THEN / ELSE / ENDIFno JCL -
Mais lógica declarativa
-
Menos dependência de retorno via utilitários externos
📌 JCL começa a pensar
Não é programação…
mas já decide caminhos.
🟧 2016–2020 – JCL encontra o DevOps
Mudanças indiretas
-
JCL versionado em Git
-
Edição em VS Code (Z Open Editor)
-
Integração com pipelines
-
JCL analisado, validado, automatizado
🧠 Paradoxo
A linguagem mais antiga do datacenter
vira parte do pipeline moderno.
🟥 2020–2025 – JCL nos z/OS atuais (2.5, 3.x)
Situação atual
-
JCL continua:
-
estável
-
retrocompatível
-
crítico
-
-
Novos parâmetros continuam surgindo
-
Integração com:
-
Zowe
-
APIs
-
observabilidade
-
automação corporativa
-
📌 Verdade absoluta
Se o JCL parar,
o banco para.
O país sente.
🧭 Linha do tempo resumida
| Ano | Sistema | Estado do JCL |
|---|---|---|
| 1964 | OS/360 | JCL nasce |
| 1974 | MVS | JCL escala |
| 1980s | MVS/XA/ESA | JCL estabiliza |
| 1995 | OS/390 | JCL corporativo |
| 2000 | z/OS | JCL moderno |
| 2010s | z/OS | JCL condicional |
| 2020s | z/OS 3.x | JCL + DevOps |
☕ Comentário final (Bellacosa Mode ON)
JCL não evoluiu para agradar desenvolvedores.
Evoluiu para não quebrar o mundo.
Enquanto linguagens vêm e vão,
o JCL permanece,
silencioso, feio, poderoso
e absolutamente indispensável.