| Bellacosa Mainframe e o laboratorio pratico de yaml |
☕ O Holocron do YAML
20 Laboratórios Práticos de YAML para um Padawan COBOL
☕ Introdução – A Jornada do Padawan COBOL pelo Universo YAML
Durante muitos anos, programadores COBOL desenvolveram aplicações robustas utilizando JCL, PROCs, PARMLIBs, SYSIN, tabelas de parâmetros e arquivos de configuração proprietários. Entretanto, a modernização do IBM Z aproximou o ambiente mainframe das práticas de DevOps, automação, APIs, containers, integração contínua e Inteligência Artificial. Nesse cenário, o YAML tornou-se uma das linguagens mais importantes para profissionais que desejam participar dessas iniciativas sem abandonar sua experiência no ecossistema z/OS.
A metodologia proposta neste laboratório foi construída em formato incremental, semelhante ao aprendizado de um Padawan. Os primeiros exercícios apresentam conceitos básicos, como pares chave-valor, listas e estruturas hierárquicas. Em seguida, são introduzidos recursos intermediários, incluindo âncoras, aliases, variáveis e validação. Por fim, os laboratórios avançados exploram aplicações práticas em GitHub Actions, Ansible para IBM Z, Zowe, Docker, OpenShift e pipelines DevOps.
A principal vantagem de executar os laboratórios é desenvolver familiaridade com uma tecnologia amplamente utilizada em projetos modernos envolvendo IBM Z, Cloud Pak, Kubernetes, z/OS Connect, Ansible Automation Platform e agentes de IA. O objetivo não é substituir conhecimentos tradicionais de mainframe, mas ampliá-los.
Ao concluir esta trilha, o desenvolvedor COBOL deverá ser capaz de ler, interpretar, validar e criar arquivos YAML, compreender sua utilização em processos de automação, colaborar com equipes DevOps e atuar com mais segurança em iniciativas de modernização do ambiente IBM Z, tornando-se um profissional mais versátil, atualizado e preparado para os desafios tecnológicos atuais.
Do SYSIN ao Kubernetes sem ABEND de Indentação
Uma das melhores maneiras de aprender YAML para quem vem do universo COBOL é parar de enxergá-lo como uma linguagem nova.
Pense nele como uma mistura de:
PARMLIB
SYSIN
PROC Cataloged
Copybook
Control Cards DFSORT
JCL parametrizado
Estes 20 laboratórios foram organizados em ordem crescente de dificuldade.
LAB 01 — Seu Primeiro YAML
Objetivo
Aprender chave e valor.
Arquivo
config.yaml
nome: Bellacosa
linguagem: COBOL
idade: 52
Desafio
Adicionar:
empresa
cidade
Solução
nome: Bellacosa
linguagem: COBOL
idade: 52
empresa: IBM
cidade: Itatiba
LAB 02 — Trabalhando com Listas
Objetivo
Criar arrays.
Arquivo
tecnologias:
- COBOL
- JCL
- CICS
Desafio
Adicionar DB2.
Solução
tecnologias:
- COBOL
- JCL
- CICS
- DB2
LAB 03 — Estruturas Hierárquicas
Objetivo
Objetos aninhados.
usuario:
nome: vagner
perfil: admin
Solução
usuario:
nome: vagner
perfil: admin
email: vagner@email.com
LAB 04 — Configuração de Região CICS
cics:
regiao: CICSPRD
aplid: CICS01
porta: 32000
Adicionar SIT.
Solução
sit: DFHSIT01
LAB 05 — Simulando DSNs
datasets:
production:
cobol: PROD.COBOL
load: PROD.LOAD
Desafio
Criar TEST.
Solução
datasets:
test:
cobol: TEST.COBOL
load: TEST.LOAD
LAB 06 — Booleanos
racf:
enabled: true
audit: false
LAB 07 — Datas
backup:
data: 2026-06-27
LAB 08 — Comentários
# Região crítica
cics:
region: CICSPRD
LAB 09 — Strings Multilinhas
descricao: |
Sistema Bancário
Batch
Online
API
LAB 10 — Folded Style
descricao: >
COBOL
CICS
DB2
Resultado
Linha única.
LAB 11 — YAML para Copybook
copybook:
nome: CLIENTE
campos:
- nome: CPF
tamanho: 11
- nome: NOME
tamanho: 40
LAB 12 — Ambiente DEV TEST PROD
ambientes:
DEV:
db2: DSNDEV
TEST:
db2: DSNTEST
PROD:
db2: DSNPROD
LAB 13 — Âncoras
Objetivo
Evitar duplicação.
padrao: &cfg
memoria: 4GB
cpu: 2
Servidor
server1:
<<: *cfg
Solução
server2:
<<: *cfg
LAB 14 — Alias
base: &db
tipo: DB2
versao:13
db2a:
<<: *db
db2b:
<<: *db
LAB 15 — Variáveis
host: ${HOST}
Desafio
Criar USER.
Solução
usuario: ${USER}
LAB 16 — GitHub Actions
Objetivo
Criar pipeline.
name: Build
Solução
jobs:
compile:
runs-on: ubuntu
LAB 17 — Docker Compose
services:
db2:
image: ibmcom/db2
Adicionar COBOL.
Solução
cobol:
image: ibm-z
LAB 18 — Ansible para IBM Z
Objetivo
Submeter JOB.
- hosts: zos
tasks:
- name: Submit
zos_job_submit:
src: JOB1
Desafio
Copiar membro.
Solução
- name: Copy
zos_copy:
src: TESTE
dest: USER.COBOL(TESTE)
LAB 19 — Zowe CLI
Objetivo
Criar perfil.
profiles:
zosmf:
host: zos.company.com
port:443
Adicionar usuário.
Solução
user: padawan
LAB 20 — Projeto Final
Construindo um Mini Catálogo Mainframe
Objetivo
Criar um arquivo único representando uma aplicação COBOL moderna.
Arquivo
catalogo.yaml
aplicacao:
nome: COBOLBANK
versao: 1.0
owner: Bellacosa
ambiente:
tipo: PROD
db2:
subsystem: DSN1
versao:13
cics:
regiao: CICSPRD
mq:
queue: COBOL.REQUEST
datasets:
loadlib: PROD.LOAD
source: PROD.COBOL
pipeline:
ferramenta: Tekton
ansible:
colecao:
ibm.ibm_zos_core
usuarios:
- nome: sysprog
perfil: SYSADM
- nome: padawan
perfil: DEV
ia:
assistente:
watsonx
automacao:
true
Desafio Mestre Bellacosa
Ao concluir os 20 laboratórios, o Padawan COBOL será capaz de:
✅ Ler YAML sem medo
✅ Criar playbooks Ansible para IBM Z
✅ Configurar Zowe CLI
✅ Entender pipelines GitHub Actions
✅ Trabalhar com OpenShift e Kubernetes
✅ Consumir arquivos YAML usados por agentes de IA
✅ Mapear configurações YAML para conceitos familiares de JCL, PARMLIB, PROCs e SYSIN
✅ Participar de iniciativas DevOps em IBM Z sem abandonar suas raízes COBOL.
Missão bônus: tente converter um membro PARMLIB, um PROC catalogado ou um conjunto de parâmetros de uma aplicação COBOL em YAML. É um excelente exercício para perceber que, em muitos casos, YAML é apenas um velho conhecido do mainframe usando roupas novas. ☕🚀
Sem comentários:
Enviar um comentário