Translate

quarta-feira, 12 de abril de 2017

20 Laboratórios Práticos de YAML para um Padawan COBOL

 

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