Translate

Mostrar mensagens com a etiqueta Unix System Services. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Unix System Services. Mostrar todas as mensagens

quinta-feira, 29 de janeiro de 2026

💥 VSAM: O “Banco de Dados Gratuito” do z/OS — Muito Mais do Que Você Imagina

 

Bellacosa Mainframe uma visão para padawans do VSAM

💥 VSAM: O “Banco de Dados Gratuito” do z/OS — Muito Mais do Que Você Imagina

🧠 Explicação Enriquecida para Padawns

📌 O que é VSAM?

Tradução:
VSAM significa Virtual Storage Access Method. O termo “Access Method” surgiu lá nos anos 60 com o OS/360 e basicamente define como os dados são acessados (disco, fita, etc.).

Comentário Bellacosa:
👉 “Access Method” é o motor invisível do I/O no mainframe.
👉 VSAM é otimizado para disco — esqueça fita aqui (só backup/export).


📌 Tipos principais: ESDS vs KSDS

Tradução:

  • ESDS (Entry Sequenced Data Set)
    • Acesso via RBA (Relative Byte Address)
  • KSDS (Key Sequenced Data Set)
    • Acesso via chave ou RBA
    • Possui índice

Comentário prático:

TipoQuando usarMentalidade
ESDSLog, append-only, histórico“grava e nunca mexe”
KSDSCRUD clássico“mini banco de dados”

💡 Insight importante:
KSDS = VSAM mais próximo de banco relacional
ESDS = VSAM mais próximo de log estruturado


📌 Alternate Index (AIX)

Tradução:
Você pode criar índices alternativos (AIX) para acessar registros por outras chaves.

Comentário:
👉 Isso é o equivalente a índices secundários no DB2
👉 Mas aqui você controla tudo manualmente

💣 E aqui nasce a dor:

  • consistência
  • manutenção
  • performance

📌 Cluster, Componentes e Sphere

Tradução:

  • ESDS → Data component
  • KSDS → Data + Index component
  • Conjunto com AIX → chamado de Sphere

Comentário:
👉 “Sphere” é basicamente o ecossistema do dataset VSAM
👉 Em produção, isso vira uma mini arquitetura de dados


🚀 VSAM na Vida Real

Tradução:
VSAM continua sendo amplamente usado porque é:

  • rápido
  • escalável
  • já vem com z/OS
  • não exige banco adicional

Comentário forte:
💣 VSAM é o NoSQL original do mainframe
Antes de MongoDB existir, o z/OS já fazia isso há décadas


🔥 Caso real: Criando um Key/Value Store com VSAM

O autor implementa um banco estilo NoSQL key/value.


📌 Requisitos do sistema

Tradução + Expansão:

  • Fácil inserir/recuperar chave
  • Persistente (VSAM)
  • Rápido
  • Sem limite de tamanho
  • Permite agrupamento de chaves

Comentário:
👉 Isso é literalmente um Redis raiz no mainframe


🧪 Exemplo prático

Xsysvar 'MDLB URL'='https://MakingDevelopersLivesBetter.wordpress.com'
Xsysvar 'MDLB URL'

Saída:

https://MakingDevelopersLivesBetter.wordpress.com

💡 Tradução mental:
👉 SET / GET de um banco NoSQL
👉 Só que rodando em USS + VSAM


📦 Agrupamento de dados

Xsysvar -PZOS -C'z/OS CSI' CSI=MVS.GLOBAL.CSI
Xsysvar -l CSI

Saída:

ZOS CSI MVS.GLOBAL.CSI z/OS CSI

Comentário:
👉 Aqui entra conceito de namespace / grouping
👉 Muito parecido com:

  • tags
  • collections
  • schemas

🧠 Design inteligente do VSAM

📌 Problema: chave não pode ser longa

VSAM exige:

  • chave fixa
  • tamanho definido

💡 Solução genial

O autor divide a chave em:

ParteTipo
fixaaté 15 bytes
variávelaté 32K

Comentário avançado:
👉 Isso resolve:

  • limitação do VSAM
  • performance de indexação
  • flexibilidade

💣 Isso é arquitetura de baixo nível de respeito.


🧬 Layout do registro VSAM

Estrutura:

CampoFunção
Iflag ativo/inativo
Pproduct-id
Kchave
Vvalor
offsetsponteiros
Tárea variável
F-Ifiltros

🔥 Insight poderoso

👉 VSAM aqui está sendo usado como:

  • banco
  • indexador
  • storage engine

👉 Tudo manual

💣 Isso é o que bancos modernos fazem internamente!


⚠️ Limitação crítica do ESDS

Problema:

  • não permite aumentar tamanho do registro

Solução usada:

  • marca registro antigo como inativo
  • cria novo registro

💥 Tradução prática

👉 Isso é um UPDATE = DELETE + INSERT

Exatamente como:

  • Kafka log
  • bancos append-only

🧑‍💻 Acesso via C no z/OS

Funções usadas:

  • fopen()
  • fread()
  • fwrite()
  • flocate()
  • fupdate()

📌 Exemplo lógico

flocate(file, key);
fread(...);
fupdate(...);

💡 Comentário

👉 Isso é praticamente uma API de banco
👉 Só que nível kernel/mainframe


🔍 Função mais importante: vsamxlocate

O que faz:

  • busca chave
  • aplica filtros
  • percorre registros

💥 Tradução moderna

👉 Isso é um:

  • SELECT com WHERE
    • scan manual

🚀 Criação do VSAM (automação)

Comando:

crtvsam cluster repro key

💡 Comentário

👉 Isso substitui:

  • JCL complexo
  • IDCAMS manual

👉 Usando Z Open Automation Utilities


🔥 Conclusão (estilo Bellacosa)

👉 VSAM não é “arquivo”
👉 VSAM é um engine de dados low-level

💣 Você pode construir:

  • banco NoSQL
  • cache distribuído
  • config store
  • sistema transacional

🧠 Sacadas de Ouro

  • VSAM = NoSQL antes do NoSQL
  • ESDS = log append-only
  • KSDS = índice + acesso direto
  • AIX = índices secundários
  • UPDATE = recriação de registro
  • Performance vem do design da chave

🚀 Expansão além do texto (o pulo do gato)

💣 Se você quiser levar isso pro próximo nível:

Você pode:

1. Criar um Redis-like no z/OS

  • VSAM + C + USS

2. Criar API REST

  • z/OS Connect
  • consumindo VSAM

3. Integrar com COBOL

READ VSAM-FILE
KEY IS WS-KEY

🔥 Pergunta provocativa pra você

👉 E se você substituísse config files, tabelas pequenas e até alguns DB2 por VSAM bem modelado?

💣 Você reduziria:

  • custo
  • latência
  • dependência

sábado, 30 de março de 2024

JCL e USS: Eu Sabia Fazer... Até Descobrir que Precisava Aprender de Novo

 

Bellacosa Mainframe jcl e uss eu sabia fazer ate que li esse artigo

☕ Um Café no Bellacosa Mainframe

Eu Sabia Fazer... Até Descobrir que Precisava Aprender de Novo

JCL, USS e a maior lição que um Programador Mainframe pode aprender na era da Modernização

"O conhecimento verdadeiro não está em decorar comandos. Está em reconhecer padrões, independentemente da linguagem utilizada."


Existe um momento curioso na carreira de praticamente todo profissional de tecnologia.

Não importa se você programa em COBOL, Java, Python ou C.

Não importa se trabalha em Linux, Windows ou IBM z/OS.

Mais cedo ou mais tarde você olha para uma tarefa simples — algo que faz há vinte anos — e pensa:

"Espera... como é mesmo que faz isso aqui?"

A primeira reação costuma ser de frustração.

"Será que estou esquecendo?"

Na maioria das vezes, não.

Você continua sabendo exatamente o que precisa ser feito.

O problema é que o ambiente mudou.

E quando o ambiente muda, a maneira de conversar com ele também muda.

Foi exatamente isso que aconteceu quando muitos profissionais Mainframe conheceram o USS (Unix System Services).

Eles não estavam aprendendo um novo trabalho.

Estavam aprendendo uma nova língua.

E, curiosamente, isso costuma ser muito mais difícil.

Pegue uma xícara de café.

Hoje vamos conversar sobre uma das maiores armadilhas da modernização do IBM Z.


Quando o piloto entra em outro avião

Imagine um comandante com trinta anos de experiência pilotando um Boeing 737.

Um belo dia ele recebe treinamento para voar um Airbus A320.

Ele esqueceu como voar?

Claro que não.

Ele continua entendendo:

  • sustentação

  • velocidade

  • meteorologia

  • navegação

  • segurança

Tudo isso continua igual.

O que muda é:

  • onde fica cada botão;

  • como os sistemas conversam;

  • quais procedimentos devem ser executados.

Durante alguns dias ele parece um iniciante.

Mas ele não voltou ao zero.

Ele apenas precisa reconstruir seus reflexos.

É exatamente isso que acontece quando um programador experiente em JCL começa a trabalhar no USS.


O erro mais comum dos iniciantes

Quando um programador júnior aprende COBOL, tudo é novidade.

Ele aceita naturalmente ser iniciante.

Mas existe um problema curioso com profissionais experientes.

Quando entram em um ambiente parecido...

...eles esperam que tudo funcione igual.

E aí começam as comparações.

"Cadê o EXEC PGM?"

"Cadê o DD?"

"Cadê o DSN?"

"Cadê o DISP?"

"Cadê o SYSIN?"

A resposta é simples.

Eles continuam existindo...

...mas não da forma que você espera.


O IBM z/OS possui dois universos

Muitos iniciantes imaginam que existe um único ambiente Mainframe.

Na verdade existem dois mundos convivendo harmoniosamente.

Mundo tradicional

  • Batch

  • JES2/JES3

  • JCL

  • DFSORT

  • IDCAMS

  • IEBGENER

  • TSO/ISPF

  • Dataset

É o universo clássico.

É onde o Mainframe cresceu.


Mundo USS

Agora imagine colocar um Unix inteiro dentro do z/OS.

Foi exatamente isso que a IBM fez.

O USS oferece:

  • Shell

  • Bash

  • Diretórios

  • Arquivos

  • Scripts

  • Permissões POSIX

  • OpenSSH

  • Python

  • Git

  • Java

  • Node.js

  • Zowe CLI

Sem sair do z/OS.

Esse detalhe é importantíssimo.

O USS não substitui o Mainframe.

Ele amplia o Mainframe.


O maior equívoco sobre o USS

Muita gente pensa:

"Agora o Mainframe virou Linux."

Não.

Nem perto disso.

O Kernel continua sendo o z/OS.

O gerenciamento de memória continua sendo do z/OS.

O Workload Manager continua sendo do z/OS.

O RACF continua protegendo recursos.

O JES continua executando Batch.

O USS apenas fornece outra interface para conversar com o sistema operacional.

É como trocar o painel de instrumentos de um carro.

O motor continua o mesmo.


Dataset não morreu

Uma das primeiras confusões acontece aqui.

Durante décadas escrevemos:

CLIENTE.VENDAS.ARQUIVO

No USS passamos a enxergar algo como:

/u/vagner/clientes/vendas.txt

A primeira impressão é:

"Agora só existem arquivos."

Não.

Os datasets continuam existindo.

Inclusive é possível acessá-los a partir do USS.

Da mesma forma, programas Batch conseguem trabalhar com arquivos do USS.

Os dois mundos conversam.

E isso é fantástico.


DD Statements versus Pathnames

Durante anos aprendemos:

//INPUT DD DSN=CLIENTE.INPUT,DISP=SHR

O programa COBOL nunca conhecia o nome físico do dataset.

Ele apenas dizia:

SELECT CLIENTES
ASSIGN TO INPUT.

O JCL fazia a ligação.

Isso separava infraestrutura do programa.

No USS isso muda.

Agora normalmente fazemos:

programa entrada.txt saida.txt

Ou

fopen("/u/input/clientes.txt")

É outra filosofia.

Não melhor.

Não pior.

Diferente.


EXEC PGM virou comando

No Batch.

//STEP01 EXEC PGM=COBPROG

No USS.

./cobprog

Ou

cobprog

A intenção continua exatamente igual.

Executar um programa.

Mas agora o pensamento é imperativo.

Você manda executar imediatamente.

Enquanto o JCL descreve um processo inteiro.


Ordenação: o exemplo perfeito

Durante décadas utilizamos DFSORT.

//STEP EXEC PGM=SORT

Depois:

SORT FIELDS=(1,10,CH,A)

No USS tudo parece diferente.

Agora temos:

sort arquivo.txt

Ou:

syncsort

Ou pipelines:

cat clientes.txt | sort

Ou:

sort clientes.txt > clientes_ordenados.txt

Você continua ordenando.

Mas agora conversa diretamente com o sistema operacional.


Copiar arquivos

Batch.

IEBGENER.

PGM=IEBGENER

USS.

cp origem destino

Uma linha.

Fim.


Excluir arquivos

Batch.

DELETE CLIENTE.ARQ

USS.

rm arquivo

Mesma ação.

Outra gramática.


O verdadeiro desafio é psicológico

Essa talvez seja a parte mais interessante.

Quando tudo é completamente novo...

Nosso cérebro aceita aprender.

Mas quando algo parece familiar...

Tentamos usar nossos velhos reflexos.

É aí que começamos a tropeçar.

É como trocar de carro.

Você continua sabendo dirigir.

Mas procura o limpador de para-brisa no lugar errado.


O cérebro funciona por padrões

Programadores experientes não decoram comandos.

Eles criam padrões mentais.

Por exemplo.

Quando alguém fala:

"Preciso copiar dados."

Seu cérebro já responde:

IEBGENER.

Isso virou memória muscular.

Agora imagine trocar isso por:

cp

Não é difícil.

Mas o cérebro insiste em procurar o antigo caminho.


O mesmo acontece em outras tecnologias

COBOL → Java

Você continua escrevendo lógica.

Mudam:

  • sintaxe;

  • paradigma;

  • bibliotecas.


DB2 → PostgreSQL

SQL continua sendo SQL.

Mas:

  • utilitários;

  • administração;

  • backup;

  • tuning;

mudam completamente.


ISPF → VS Code

Você continua editando programas.

Mas os atalhos mudam.

A organização muda.

O fluxo muda.


JCL → Shell Script

Você continua automatizando processos.

Mas agora usa:

  • variáveis;

  • loops;

  • funções;

  • pipelines;

  • redirecionamento;

  • permissões.


Shell pensa diferente

JCL é declarativo.

Você descreve.

Quero executar isso.

Depois usar esse dataset.

Depois gravar ali.

Depois liberar espaço.

O sistema organiza tudo.

Shell é imperativo.

Você diz:

faça isso

agora isso

agora aquilo

agora copie

agora compacte

agora envie

Parece uma conversa.


A revolução silenciosa

Pouca gente percebe.

Hoje praticamente todas as ferramentas modernas do IBM Z passam pelo USS.

Git.

Python.

OpenSSH.

OpenSSL.

Java.

Node.js.

Ansible.

Docker Build Tools.

Make.

Maven.

Gradle.

VS Code.

Zowe CLI.

IBM Dependency Based Build.

Open Enterprise SDK.

Tudo isso vive ou conversa intensamente com o USS.

Quem domina USS ganha acesso ao universo moderno do Mainframe.


Curiosidade #1

O USS segue os padrões POSIX.

Isso significa que muito software originalmente criado para Unix pode ser recompilado para z/OS com poucas adaptações.

É um dos motivos pelos quais Python, Git e OpenSSH funcionam tão bem no IBM Z.


Curiosidade #2

Você pode acessar datasets tradicionais usando caminhos especiais dentro do USS.

Algo parecido com:

//CLIENTE.INPUT

Ou utilizando APIs específicas do z/OS.

É uma ponte entre os dois mundos.


Curiosidade #3

O comando ls mostra arquivos.

Mas também pode mostrar permissões POSIX.

Enquanto datasets continuam possuindo atributos completamente diferentes como:

  • RECFM

  • LRECL

  • BLKSIZE

  • DSORG

São dois modelos coexistindo.


Curiosidade #4

Muitos programas COBOL modernos conseguem trabalhar simultaneamente com:

  • datasets tradicionais;

  • arquivos USS;

  • bancos DB2;

  • APIs REST;

  • filas MQ.

Tudo no mesmo programa.

Essa integração é uma das maiores forças do IBM Z atual.


Dicas para o Programador Júnior

Não tente decorar comandos

Aprenda conceitos.

Quem entende conceitos aprende comandos rapidamente.


Entenda o objetivo

Antes de perguntar:

"Qual comando faz isso?"

Pergunte:

"O que eu quero fazer?"

A resposta quase sempre será:

  • copiar;

  • ordenar;

  • executar;

  • pesquisar;

  • transformar.

Depois descubra como cada ambiente expressa essa ideia.


Aprenda os dois mundos

Não escolha entre JCL e USS.

Aprenda ambos.

O mercado procura profissionais híbridos.


Pratique pequenos scripts

Faça scripts simples.

Copie arquivos.

Liste diretórios.

Ordene textos.

Execute programas.

Quanto mais prática, menos estranhos parecerão os comandos.


Leia JCL antigo

Muita lógica de negócio ainda vive em Batch.

Conhecer esse mundo é um enorme diferencial.


Explore o USS sem medo

Abra um shell.

Digite:

pwd
ls
cd
mkdir
cp
mv
rm
cat
grep
sort
find

São comandos simples.

Mas representam uma mudança enorme na forma de pensar.


Easter Egg do Bellacosa ☕

Existe uma frase famosa entre administradores Unix:

"Everything is a file."

No mundo Mainframe poderíamos adaptá-la para:

"Everything is a dataset... até você conhecer o USS."


Easter Egg Mainframe Nerd 🤓

Repare na sequência dos utilitários clássicos:

  • IEBGENER copia.

  • IEBCOPY copia PDS.

  • IDCAMS administra VSAM e datasets.

  • DFSORT organiza dados.

Agora observe os equivalentes Unix:

  • cp

  • mv

  • rm

  • sort

Quatro comandos substituem dezenas de utilitários especializados. Isso não significa que um modelo seja superior ao outro; significa apenas que cada ecossistema evoluiu para atender necessidades diferentes. O z/OS privilegiou controle, rastreabilidade e processamento corporativo em larga escala. O Unix priorizou simplicidade, composição de ferramentas e interatividade.


Conclusão: Aprender de Novo Não é Recomeçar

Existe uma enorme diferença entre recomeçar do zero e reconstruir seus referenciais.

Quando um desenvolvedor COBOL aprende Java, ele não esquece lógica de programação.

Quando um DBA DB2 aprende PostgreSQL, ele não esquece bancos de dados.

Quando um especialista em JCL aprende USS, ele não desaprende Batch.

Ele apenas descobre uma nova maneira de conversar com o mesmo sistema.

E talvez essa seja a maior lição da modernização do IBM Z: a tecnologia evolui, as interfaces mudam, as ferramentas se renovam, mas os princípios fundamentais permanecem. Quem entende esses princípios consegue atravessar décadas de inovação sem perder sua essência técnica.

No fim das contas, a verdadeira competência não está em decorar comandos como EXEC PGM, cp, sort ou rm. Ela está em compreender o problema, reconhecer padrões e adaptar-se rapidamente a novas formas de expressar soluções.

É por isso que os melhores profissionais de Mainframe não são aqueles que conhecem apenas o legado, nem os que dominam apenas as ferramentas modernas. São aqueles capazes de caminhar com naturalidade entre o JCL e o Bash, entre o ISPF e o VS Code, entre o dataset e o pathname, entre o Batch e o DevOps.

Porque, no IBM Z, existem dois mundos. E o profissional do futuro é aquele que fala fluentemente os dois.


domingo, 17 de fevereiro de 2019

IBM Mainframe Discovery : Capítulo XIV — O Jardim Secreto da Nave

 

Bellacosa Mainframe apresenta ibm mainframe parte xiv

☕ Um Café no Bellacosa Mainframe

Capítulo XIV — O Jardim Secreto da Nave

UNIX System Services (USS): O Lugar Onde o Mainframe Aprendeu a Falar a Língua das Estrelas


DÉCIMA PRIMEIRA REGRA DOS VIAJANTES CÓSMICOS

Se alguém lhe disser:

"Mainframe não roda Linux, não roda Python e não entende UNIX..."

...sorria.

Ofereça um café.

Respire fundo.

E pergunte gentilmente:

"Em que século você está morando?"

Porque existe um lugar dentro do IBM Z que muitos exploradores jamais visitaram.

Um lugar escondido atrás de corredores discretos.

Ali não existem PDS.

Nem membros.

Nem JCL.

Pelo menos...

não da forma que você está acostumado.

Ali existem:

  • diretórios;

  • arquivos texto;

  • Shell;

  • Bash;

  • Korn Shell;

  • Python;

  • Perl;

  • Java;

  • Git;

  • SSH;

  • OpenSSL;

  • Node.js;

  • Makefiles.

É quase como atravessar um portal dimensional.

Bem-vindo ao UNIX System Services.

Ou simplesmente...

USS.


O Boato Mais Persistente da Galáxia

Existe uma antiga lenda espacial.

Ela diz:

"O Mainframe vive isolado."

Outra afirma:

"Ele não conversa com tecnologias modernas."

Outra ainda garante:

"É impossível desenvolver software moderno dentro dele."

Essas histórias continuam viajando pela galáxia...

...mesmo estando completamente desatualizadas.


Um Jardim Dentro da Fortaleza

Imagine uma gigantesca fortaleza.

Paredes de aço.

Portões blindados.

Salas cheias de computadores.

Agora imagine descobrir...

...um enorme jardim escondido em seu interior.

Árvores.

Lagos.

Bibliotecas.

Observatórios.

É exatamente essa sensação que muitos profissionais têm ao conhecer o USS pela primeira vez.


O Grande Equívoco do Padawan

Todo Programador COBOL iniciante imagina que o IBM Z funciona apenas assim:

TSO

ISPF

JCL

COBOL

Fim.

Na realidade...

isso representa apenas uma parte do universo.

Existe um continente inteiro esperando para ser explorado.


Um Novo Continente

Imagine que sua nave pousou em outro planeta.

Curiosamente...

os habitantes utilizam comandos familiares.

Você digita:

ls

E funciona.

Depois:

cd projetos

Também funciona.

Depois:

pwd

Novamente funciona.

O Padawan olha para a tela.

Olha novamente.

Coça a cabeça.

E pergunta:

"Isso é mesmo um Mainframe?"

Sim.

É.


A Floresta dos Diretórios

No mundo tradicional do z/OS aprendemos sobre:

PDS.

PDSE.

Datasets.

HLQ.

LRECL.

RECFM.

No USS encontramos outra paisagem.

Diretórios.

Subdiretórios.

Arquivos.

Links.

Permissões.

É como trocar uma gigantesca biblioteca de fichários por uma cidade repleta de ruas e endereços.


O Explorador Galáctico

Imagine um explorador.

Ele caminha pela floresta.

Anota tudo.

Descobre cavernas.

Mede rios.

Esse explorador possui uma ferramenta.

Ela chama-se:

Shell.

O Shell é o intérprete que conversa com o sistema operacional.

É como um tradutor entre o explorador e a nave.


O Diário de Bordo Automatizado

Agora imagine que o explorador repete exatamente a mesma missão todos os dias.

Acender sensores.

Verificar radares.

Enviar relatórios.

Atualizar mapas.

Depois do terceiro dia...

ele percebe que pode automatizar tudo.

Assim nasceram os:

Shell Scripts.

Pequenos programas que executam tarefas repetitivas automaticamente.


Permissões — As Chaves da Cidade

Imagine uma cidade.

Nem todas as portas podem ser abertas por qualquer pessoa.

Algumas pertencem ao laboratório.

Outras ao cofre.

Outras à ponte de comando.

No USS encontramos exatamente esse conceito.

Cada arquivo possui permissões.

Quem pode:

ler.

escrever.

executar.

Tudo cuidadosamente controlado.

O USS implementa um ambiente compatível com padrões POSIX, permitindo controle refinado de usuários, grupos e permissões enquanto convive com os mecanismos tradicionais de segurança do z/OS.


POSIX — A Constituição Planetária

Imagine dezenas de planetas.

Cada um possui leis diferentes.

Até que todos concordam em criar uma constituição comum.

Essa constituição chama-se:

POSIX.

Graças a ela...

programas escritos para UNIX podem ser adaptados muito mais facilmente ao USS.

Não é magia.

É padronização.


ASCII Encontra EBCDIC

Chegamos a uma das conversas mais curiosas da galáxia.

Imagine dois povos.

Um escreve da esquerda para a direita.

Outro utiliza símbolos completamente diferentes.

Ambos precisam trocar documentos.

No IBM Z isso acontece diariamente.

O mundo UNIX normalmente utiliza:

ASCII ou UTF-8.

O mundo tradicional do Mainframe utiliza:

EBCDIC.

O USS atua como uma ponte entre esses universos, oferecendo mecanismos para conversão de caracteres e integração entre ambientes.


Python Entra na Nave

Imagine um jovem cientista chegando à nave.

Ele pergunta:

"Posso usar Python?"

Os veteranos sorriem.

A resposta é:

"Claro."

Hoje o USS permite executar aplicações Python diretamente no IBM Z, possibilitando automação, análise de dados, APIs e integração com aplicações tradicionais.


Git Também Mora Aqui

Outro visitante curioso chega.

Ele pergunta:

"Existe Git?"

Sim.

Existe.

Imagine uma gigantesca biblioteca onde cada alteração fica registrada.

Cada capítulo.

Cada linha.

Cada revisão.

É exatamente isso que o Git proporciona.

E ele funciona muito bem dentro do USS.


OpenSSH — O Portal Interestelar

Agora imagine que um engenheiro deseja acessar a nave remotamente.

Sem precisar utilizar um terminal 3270.

Ele abre o computador.

Digita:

ssh usuario@servidor

E poucos segundos depois...

está dentro do USS.

Como se estivesse sentado na própria ponte de comando.


Java, Node.js e Companhia

Curiosamente...

o USS não recebe apenas Python.

Ali vivem também:

Java.

Node.js.

PHP.

Ruby.

Go.

C.

C++.

Ferramentas modernas compartilham espaço com aplicações COBOL que executam há décadas.

É como assistir a um mestre artesão e um engenheiro de robótica trabalhando lado a lado.


O Laboratório de Ferramentas

Imagine uma oficina gigantesca.

Existem:

grep.

awk.

sed.

find.

tar.

gzip.

vi.

vim.

nano.

curl.

wget.

Cada ferramenta resolve um problema específico.

Separadamente parecem simples.

Juntas...

transformam-se em um verdadeiro canivete suíço da administração de sistemas.


Pipelines — A Esteira da Fábrica

Imagine uma fábrica.

Um robô corta.

Outro pinta.

Outro monta.

Outro embala.

Nenhum faz tudo.

Mas juntos produzem algo extraordinário.

O Shell utiliza exatamente essa filosofia.

cat log.txt | grep ERROR | sort | uniq

Cada comando faz apenas uma tarefa.

O resultado final parece magia.


O USS Conversa com o z/OS

Talvez a parte mais fascinante seja esta.

O USS não vive isolado.

Ele conversa continuamente com:

JES.

CICS.

Db2.

MQ.

RACF.

z/OSMF.

COBOL.

REXX.

JCL.

É um cidadão legítimo da Federação.

Não um visitante.


O Nascimento do DevOps no IBM Z

Agora imagine um engenheiro moderno.

Ele deseja:

Git.

Jenkins.

Ansible.

Docker.

OpenShift.

CI/CD.

Automação.

Todos esses elementos podem utilizar o USS como ponto de integração.

É ali que muitas ferramentas open source encontram um lar natural dentro do IBM Z.


O Que Diz Spruth?

Quando Wilhelm G. Spruth escreveu seu relatório, já destacava que o suporte a UNIX representava um passo decisivo na integração do System z com o restante da indústria, permitindo que aplicações e ferramentas desenvolvidas segundo padrões abertos coexistissem com os tradicionais ambientes z/OS.

Na época, essa visão já apontava para um futuro em que o IBM Z deixaria de ser visto como uma plataforma isolada e passaria a fazer parte do ecossistema aberto da computação empresarial.


O Que Mudou Desde 2010?

Se Spruth pudesse visitar um IBM z17 hoje...

provavelmente ficaria impressionado.

O USS evoluiu para suportar um universo ainda maior:

  • Python para IA e automação;

  • Git integrado ao desenvolvimento COBOL;

  • Zowe CLI e Zowe Explorer;

  • VS Code e IBM Z Open Editor;

  • Jenkins;

  • Ansible;

  • OpenSSH;

  • OpenSSL;

  • APIs REST;

  • Node.js;

  • Java 21;

  • Open Liberty;

  • OpenTelemetry;

  • Kubernetes e OpenShift;

  • contêineres em Linux on Z;

  • automação baseada em IA.

O jardim secreto transformou-se em uma verdadeira metrópole tecnológica.


Uma Lição Para Além da Tecnologia

Existe uma mensagem escondida neste capítulo.

As maiores inovações raramente acontecem quando destruímos o passado.

Elas acontecem quando construímos pontes.

O USS não substituiu o TSO.

Não aposentou o COBOL.

Não eliminou o JCL.

Ele simplesmente ampliou o universo.

Mostrou que tradição e inovação podem dividir a mesma nave.

Talvez essa seja uma das maiores lições da história do IBM Z.


Curiosidades do Diário de Bordo

🌿 O USS implementa uma interface compatível com POSIX dentro do z/OS, aproximando o ambiente IBM Z do ecossistema UNIX.

🐍 Python, Java, Node.js, Git, OpenSSH e diversas ferramentas open source podem ser utilizados diretamente nesse ambiente.

🛰️ O USS tornou-se peça fundamental para iniciativas de DevOps, automação e desenvolvimento moderno no IBM Z.

🚀 Muitas equipes utilizam o USS como ponte entre aplicações clássicas em COBOL e ferramentas contemporâneas de integração contínua e desenvolvimento colaborativo.


Diário de Bordo do Padawan COBOL

Antes de deixar o Jardim Secreto da Nave, registre estas coordenadas no seu Holocron Técnico:

✅ O UNIX System Services amplia o universo do IBM Z, oferecendo um ambiente compatível com padrões UNIX e POSIX.

✅ O USS permite integrar tecnologias modernas sem abandonar a robustez do z/OS.

✅ Shell Scripts, Python, Git, SSH e ferramentas open source convivem harmoniosamente com COBOL, JCL, CICS e Db2.

✅ O verdadeiro segredo da longevidade do IBM Z nunca foi resistir às mudanças. Foi aprender a incorporá-las sem perder sua identidade.


Missão Seguinte

No próximo capítulo seguiremos para a Grande Oficina dos Construtores da Federação: WebSphere, Java e z/OS Connect.

Descobriremos como programas COBOL escritos há quarenta anos podem conversar com APIs REST, microsserviços, aplicações em nuvem, dispositivos móveis e Inteligência Artificial, transformando a velha nave da Frota Estelar em um dos mais modernos centros de integração da galáxia. Lá entenderemos que o futuro não substituiu o legado — ele simplesmente aprendeu a conversar com ele.

☕ Um Café no Bellacosa Mainframe

O Guia Galáctico do IBM Z

Dezoito capítulos e uma conclusão reunidos em um painel interativo. Escolha uma missão, abra no visor e continue explorando diretamente no artigo original.

Não entre em pânico: se o Blogger impedir a exibição dentro do iframe, use “Abrir artigo”. Os links diretos continuam visíveis para leitores e motores de busca.
01

Capítulo I — Não Entre em Pânico!

Leia no visor ou abra a publicação original.

Abrir artigo
02

Capítulo II — A Planta da Nave Mais Duradoura da Galáxia

Leia no visor ou abra a publicação original.

Abrir artigo
03

Capítulo III — A Nave Que Se Recusa a Explodir

Leia no visor ou abra a publicação original.

Abrir artigo
04

Capítulo IV — A Sala dos Cofres Cósmicos

Leia no visor ou abra a publicação original.

Abrir artigo
05

Capítulo V — A Frota Invisível do Transporte Interestelar

Leia no visor ou abra a publicação original.

Abrir artigo
06

Capítulo VI — O Grande Maestro Invisível

Leia no visor ou abra a publicação original.

Abrir artigo
07

Capítulo VII — O Grande Terminal de Embarque da Galáxia

Leia no visor ou abra a publicação original.

Abrir artigo
08

Capítulo VIII — A Metrópole das Transações Infinitas

Leia no visor ou abra a publicação original.

Abrir artigo
09

Capítulo IX — A Federação das Naves Invisíveis

Leia no visor ou abra a publicação original.

Abrir artigo
10

Capítulo X — A Consciência Coletiva da Galáxia

Leia no visor ou abra a publicação original.

Abrir artigo
11

Capítulo XI — O Almirante Invisível da Frota

Leia no visor ou abra a publicação original.

Abrir artigo
12

Capítulo XII — A Biblioteca Infinita da Galáxia

Leia no visor ou abra a publicação original.

Abrir artigo
13

Capítulo XIII — O Serviço Postal Mais Confiável da Galáxia

Leia no visor ou abra a publicação original.

Abrir artigo
14

Capítulo XIV — O Jardim Secreto da Nave

Leia no visor ou abra a publicação original.

Abrir artigo
15

Capítulo XV — O Tradutor Universal da Federação

Leia no visor ou abra a publicação original.

Abrir artigo
16

Capítulo XVI — A Fábrica Automática da Federação

Leia no visor ou abra a publicação original.

Abrir artigo
17

Capítulo XVII — A Última Fronteira Nunca Foi o Espaço

Leia no visor ou abra a publicação original.

Abrir artigo
18

Capítulo XVIII — O Guia Nunca Terminou

Leia no visor ou abra a publicação original.

Abrir artigo
19

Conclusão — Não Entre em Pânico... A Jornada Está Apenas Começando

Leia no visor ou abra a publicação original.

Abrir artigo