Mostrar mensagens com a etiqueta dbb. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta dbb. Mostrar todas as mensagens

sexta-feira, 26 de dezembro de 2025

UrbanCode DBB: Controle de Versionamento no Mainframe, do Jeito Certo


UrbanCode DBB: Controle de Versionamento no Mainframe, do Jeito Certo

Se você já trabalhou em mainframe, sabe que cada linha de código é sagrada. Um erro de versionamento e você pode acordar com todo o departamento olhando para você como se tivesse errado o compilador na sexta-feira à tarde. Foi justamente pensando nisso que nasceu o UrbanCode DBB, o guardião do código COBOL, PL/I, Assembler, JCL e tudo mais que roda em z/OS.


História e Origem

O DBB, que significa Dependency Based Build, começou sua vida nos laboratórios da IBM como uma forma de modernizar o build de aplicações mainframe. A ideia era simples: parar de depender de scripts complicados de JCL e REXX espalhados pelo servidor e criar algo que entendesse as dependências reais do seu código.

Em 2016, o UrbanCode comprou a tecnologia e integrou no seu portfólio de DevOps, transformando o DBB numa peça central para mainframe moderno, pronto para integração com pipelines CI/CD, Git, Jenkins e até o mundo do container e cloud.


Para que serve e por que usar

Imagine o seu sistema legado com dezenas de programas COBOL interdependentes. Alterou um copybook ou uma tabela DB2? Então você precisa recompilar tudo que depende disso, mas somente o que realmente depende. Aqui entra o DBB:

  • Detecção de dependências: Ele analisa seu código e entende as relações entre programas, módulos e copybooks.

  • Build incremental inteligente: Só recompila o que precisa, economizando horas de batch.

  • Integração DevOps: Pode ser chamado por Jenkins, GitLab, UrbanCode Deploy, tornando o mainframe parte do fluxo ágil.

Em resumo: DBB é o cupido do build, unindo o que mudou com o que precisa mudar.

Como usar: dicas práticas

  1. Estrutura de projetos: Organize seu código como projetos, módulos e pacotes. DBB adora clareza.

  2. Dependência declarativa: Marque copybooks, DB2 DDL e includes. Quanto mais informação ele tiver, mais eficiente será o build.

  3. Log e rastreabilidade: Sempre revise os logs. DBB é detalhista — ele te conta cada recompilação que fez.

  4. Pipeline CI/CD: Integre DBB ao Jenkins ou UrbanCode Deploy para builds automáticos e consistentes.

Exemplo básico

Imagine que você tem um programa PAYROLL que depende de EMPLOYEE e SALARY. Se você altera apenas SALARY, DBB identifica que apenas PAYROLL precisa de recompilação, poupando tempo e evitando que outros programas sejam recompilados desnecessariamente.

PROJECT PAYROLL
   MODULE EMPLOYEE
   MODULE SALARY
   MODULE PAYROLL
   DEPENDS_ON SALARY, EMPLOYEE
ENDPROJECT

Simples, mas poderoso.

Curiosidade e Easter Egg

Você sabia que o DBB foi inspirado em técnicas de build usadas em ambientes UNIX? A diferença é que ele traduziu essas ideias para o z/OS, entendendo a complexidade do JCL, copybooks e DB2.

E o easter egg? Se você examinar os logs detalhados, verá pequenos comentários de debug deixados pelos engenheiros: mensagens como "Aqui mora o fantasma do COBOL" ou "Não acorde o compilador antes do café"… só quem vive de batch entende.

Comentários finais

O DBB é um salvavidas para equipes que querem DevOps sem abandonar o mainframe. Ele reduz erros, agiliza deploys e ainda preserva aquela aura mística de que o código mainframe “funciona sozinho, mas precisa de respeito”.

Se você ainda não experimentou, vale a pena. Modernizar builds não é apenas um luxo, é sobre manter a sanidade e ganhar tempo para o café da tarde.

sexta-feira, 15 de junho de 2018

Cronologia do DEVOPS no IBM Mainframe Z

 

Bellacosa Mainframe apresenta a Cronologia do DEVOps no IBM Mainframe

Cronologia do DEVOPS no IBM Mainframe Z

📅 2012 (± 1 ano)

📌 Por que 2012?

Porque é nesse período que três pilares do DevOps começam a convergir de forma consistente no ecossistema IBM Z:


🔹 1. Adoção real de Agile no mainframe (2010–2012)

  • Grandes ambientes z/OS passam a adotar Scrum/Kanban para times COBOL, PL/I e Assembler.

  • Integração de ferramentas como:

    • Endevor

    • Changeman

    • ISPW

  • Começa a quebra do modelo puramente “batch noturno + releases trimestrais”.

👉 Sem Agile, DevOps não existe.


🔹 2. Automação de build e deploy (2012–2014)

  • Surgimento e adoção de:

    • IBM Dependency Based Build (DBB) (embrião)

    • JCL generation automática

    • Rational Team Concert (RTC) com pipelines

  • UrbanCode Deploy (adquirido pela IBM em 2013) passa a ser usado também para z/OS.

👉 Aqui nasce o “Ops automatizado” no mainframe.


🔹 3. Integração com ferramentas distribuídas (2013–2015)

  • Introdução gradual de:

    • Git como sistema de versionamento (substituindo ou convivendo com PDS/Endevor)

    • Jenkins chamando jobs z/OS

    • REXX e scripts como glue entre mundos

👉 Esse é o ponto onde o mainframe entra oficialmente no pipeline DevOps corporativo.


🔹 Marco simbólico importante

📍 2013–2014

  • Lançamento e evolução do z/OSMF Workflows

  • Primeiros pipelines CI/CD híbridos (Linux + z/OS)

  • Mainframe deixa de ser “ilha” e vira plataforma DevOps


📚 Linha do tempo resumida

AnoMarco
2008–2010Agile começa a tocar o mainframe
2012🔥 Início teórico do DevOps no IBM Z
2013UrbanCode + RTC no z/OS
2014z/OSMF workflows
2015–2017Git, Jenkins, DBB, pipelines modernos
2018+DevOps corporativo completo no IBM Z

🧠 Definição acadêmica possível

“DevOps no IBM Z começou quando práticas Agile, automação de deploy e integração contínua passaram a ser aplicadas sistematicamente ao ciclo de vida de aplicações z/OS.”

📌 Ano de referência: 2012


sábado, 5 de maio de 2012

Bellacosa Mainframe: Série DevOps e Modernização no IBM Z

 

Bellacosa Mainframe apresenta DEVOPS e Modernização IBM Z

Bellacosa Mainframe: Série DevOps e Modernização no IBM Z


1️⃣ DevOps no IBM Z – Pipeline E2E com GitLab e DBB

Origem:
O pipeline end-to-end no mainframe integra GitLab, IBM DBB, IDz, UrbanCode Deploy e ADDI. Ele automatiza desde o coding até o monitoring, garantindo qualidade e velocidade na entrega.

Exemplo:

  • Desenvolvedor altera um módulo COBOL

  • DBB identifica dependências

  • Jenkins compila apenas os módulos impactados

  • UrbanCode Deploy publica o artefato nos ambientes de teste/prod

  • IZOA (IBM Z Operational Analytics) monitora métricas em tempo real

Dicas:

  • Use build incremental do DBB para reduzir tempo

  • Crie repositórios de componentes separados para acelerar deploys

  • Monitore cada fase com dashboards GitLab/IDz

Curiosidades & Easter Eggs:

  • Em grandes bancos, pipelines E2E reduzem meses de entrega para semanas

  • Alguns times chamam o DBB de “o Sherlock Holmes do COBOL” por identificar dependências invisíveis

Fofoquices:

  • Equipes que adotam CI/CD moderno relatam menos reuniões de emergência às sextas-feiras.


2️⃣ Migrando z/OS para Git – Code Page & Copybooks

Origem:
A migração de código z/OS para Git envolve conversão de code pages (EBCDIC → ASCII) e gestão de copybooks compartilhados.

Exemplo:

  • Migrar 1000 módulos COBOL

  • DBB inicializa metadados de dependências

  • Copybooks são publicados via UrbanCode Deploy garantindo compatibilidade

Dicas:

  • Configure triggers de publicação de copybooks no pipeline

  • Use repos Git separados para código x copybooks

  • Automatize conversão de code pages para evitar erros silenciosos

Curiosidades & Easter Eggs:

  • Alguns copybooks têm nomes que datam da década de 80 – um verdadeiro “Fósseis do COBOL”

  • Git permite versionar copybooks e gerar histórico de mudanças detalhado, algo impossível no Changeman

Fofoquices:

  • Times antigos choram quando veem um merge automático de copybooks funcionando perfeitamente — “parece mágica”.


3️⃣ Branching e Release-Based Development

Origem:
Modelos de branching em mainframe podem ser complexos. O uso de Feature, Development e Release branches permite controle fino e CI/CD confiável.

Exemplo:

  • Branch Feature: desenvolvedor adiciona nova função

  • Branch Development: integração com outros módulos

  • Branch Release: build completo e deploy controlado

Dicas:

  • Não use branch única em produção

  • Faça merges frequentes para reduzir conflitos

  • Adote release-based workflow para previsibilidade

Curiosidades & Easter Eggs:

  • Alguns times chamam o branch de Release de “a linha da vida”, porque qualquer erro ali pode travar todo o mainframe

  • Git no Z permite trazer práticas modernas para décadas de código legado

Fofoquices:

  • Programadores mais antigos ainda guardam planilhas de branches antigas “para o caso de emergência”


4️⃣ IBM ADDI – Business Rule Discovery e Integração CI/CD

Origem:
ADDI permite descobrir regras de negócio ocultas em sistemas legados, mapear dependências e alimentar pipelines CI/CD.

Exemplo:

  • Projeto de exemplo gera workbook de regras de negócio

  • Keywords são mapeadas e inventário de termos é criado

  • Pipeline Jenkins lê essas informações para validar mudanças

Dicas:

  • Integre ADDI antes do build para shift-left

  • Gere inventário de pacotes de negócio para rastreabilidade

  • Use ADDI junto com DBB para builds inteligentes

Curiosidades & Easter Eggs:

  • Alguns nomes de regras vêm de decisões dos anos 70 – dá para descobrir a história da empresa!

  • Ferramenta ajuda a revelar “regra oculta” que ninguém sabia que existia

Fofoquices:

  • Times chamam ADDI de “detective de regras”. Quando falha, todo mundo olha para o DBA como se fosse culpado.


5️⃣ Azure DevOps + Wazi as a Service no IBM Z

Origem:
Com Wazi aaS e Azure DevOps, é possível provisionar instâncias z/OS na nuvem e integrá-las em pipelines modernos.

Exemplo:

  • IDz conectado a Wazi aaS

  • Git + Azure DevOps Pipeline executa build e deploy

  • Time remoto pode trabalhar sem precisar acessar LPAR físico

Dicas:

  • Wazi aaS acelera onboarding de novos desenvolvedores

  • Padronize pipelines híbridos para mainframe + cloud-native

  • Aproveite isolamento de ambientes para testes seguros

Curiosidades & Easter Eggs:

  • O nome Wazi vem do termo “simplicidade” em alguns dialetos africanos

  • Times contam que criar instância z/OS em nuvem é mais rápido que abrir café no mainframe físico

Fofoquices:

  • Novos devs acham mágico ver COBOL compilando em cloud, achando que o mainframe “viajou no tempo”.


6️⃣ Testes Unitários e Code Coverage no IBM Z

Origem:
O uso de zUnit e Code Coverage integrado ao CI/CD é essencial para qualidade e confiabilidade.

Exemplo:

  • zUnit executa testes unitários

  • DBB identifica módulos impactados

  • Code Coverage gera métricas e falha o build se critério mínimo não for atendido

Dicas:

  • Configure build incremental para testes rápidos

  • Versione testes no Git como qualquer outro código

  • Combine zUnit + DBB + Jenkins para pipeline robusto

Curiosidades & Easter Eggs:

  • COBOL unit tests eram considerados “impossíveis” até alguns anos atrás

  • Alguns times chamam zUnit de “pequeno herói silencioso”, porque pega bugs que ninguém percebe

Fofoquices:

  • Equipes que adotam testes unitários relatam menos reuniões de emergência às sextas-feiras (repetido, mas verdadeiro!).


7️⃣ Packaging e Deployment Modernos

Origem:
Para CI/CD moderno, é crucial desacoplar build, packaging e deploy, usando repositórios de artefatos e componentização.

Exemplo:

  • Build → Package → Deploy em pipeline desacoplado

  • Artifact Repository armazena pacotes prontos para múltiplos ambientes

  • UrbanCode Deploy realiza deploy controlado e rastreável

Dicas:

  • Crie artefatos versionados

  • Mantenha build independente do deploy

  • Adoção de padrões reduz falhas em produção

Curiosidades & Easter Eggs:

  • Alguns times chamam artefatos versionados de “legado moderno”

  • Pipeline desacoplado permite experimentar deploy em paralelo sem arriscar produção

Fofoquices:

  • Desenvolvedores que criam pipelines desacoplados ganham fama de “magos do COBOL” no time


Resumo do Estilo Bellacosa Mainframe

O que aprendemos nesta série:

  1. Pipelines E2E + GitLab + DBB aumentam produtividade e confiabilidade

  2. Migração para Git requer atenção a code pages e copybooks

  3. Branching e release-based workflows tornam CI/CD previsível

  4. ADDI descobre regras de negócio e alimenta pipelines

  5. Wazi aaS + Azure DevOps traz mainframe para a nuvem

  6. zUnit + Code Coverage garante qualidade e shift-left

  7. Build, packaging e deploy desacoplados promovem flexibilidade

Curiosidades gerais:

  • Alguns copybooks têm mais de 40 anos

  • Pipelines modernos reduzem meses de entrega para dias

  • Ferramentas modernas tornam mainframe mais “cool” para novos devs

Easter Eggs & Fofoquices:

  • Times chamam DBB de Sherlock Holmes

  • ADDI de detective de regras

  • zUnit de herói silencioso

  • Artefatos versionados de “legado moderno”