Translate

Mostrar mensagens com a etiqueta Liberty Server. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Liberty Server. Mostrar todas as mensagens

quinta-feira, 1 de junho de 2017

IBM z/OS Connect 20 Laboratórios Práticos para um Padawan COBOL

 

Bellacosa Mainframe e 20 laboratorios praticos para z/os connect

☕ O Holocron do IBM z/OS Connect


Durante muitos anos, um programador COBOL precisava dominar JCL, CICS, DB2, VSAM e as ferramentas tradicionais do IBM Z para construir aplicações robustas. Hoje, entretanto, o mercado exige um novo conjunto de habilidades: integrar sistemas legados ao universo das APIs, aplicações móveis, microsserviços, cloud e Inteligência Artificial. É exatamente nesse cenário que o IBM z/OS Connect Enterprise Edition (z/OS Connect EE) se torna uma das tecnologias mais importantes da plataforma IBM Z.

Esta sequência de 20 laboratórios foi desenvolvida seguindo uma metodologia de aprendizado progressivo, inspirada no conceito de "Padawan". Cada laboratório apresenta um desafio prático que amplia gradualmente o conhecimento do desenvolvedor, começando pelos conceitos fundamentais da arquitetura do z/OS Connect, passando pela configuração do Liberty Server, publicação de programas COBOL como APIs REST, integração com CICS, IMS e DB2, segurança com RACF, TLS, OAuth e JWT, monitoramento, observabilidade e boas práticas de desempenho.

Ao concluir esta jornada, espera-se que o desenvolvedor seja capaz de compreender toda a arquitetura do z/OS Connect, publicar e consumir APIs com segurança, interpretar logs e métricas, diagnosticar problemas de integração e participar de projetos de modernização do IBM Z. Mais do que aprender uma ferramenta, o objetivo é formar profissionais capazes de conectar décadas de conhecimento em COBOL às arquiteturas modernas, tornando o mainframe um protagonista na era das APIs, da nuvem híbrida e dos agentes de Inteligência Artificial.

20 Laboratórios Práticos para um Padawan COBOL

Do "Hello REST" até Construir APIs Enterprise para IBM Z

Objetivo: transformar um programador COBOL tradicional em um desenvolvedor capaz de publicar, consumir, monitorar e administrar APIs utilizando o IBM z/OS Connect Enterprise Edition.

Cada laboratório foi pensado para ser executado em sequência. Ao final, o aluno terá construído uma pequena arquitetura moderna baseada em COBOL, CICS, REST, JSON, OpenAPI e observabilidade.


LAB 01 — Conhecendo o z/OS Connect

Objetivo

Entender onde o z/OS Connect fica dentro da arquitetura IBM Z.

Aprender

  • Liberty Server

  • HTTPS

  • JSON

  • REST

  • CICS

  • IMS

  • Batch

  • DB2

Exercício

Desenhar a arquitetura completa.

Cliente

HTTPS

Liberty

z/OS Connect

CICS

Programa COBOL

Solução

Compreender que o z/OS Connect não substitui o COBOL.

Ele apenas traduz protocolos.


LAB 02 — Instalando o Liberty Server

Objetivo

Criar um servidor Liberty.

Exercício

Criar

ZCONN01

Subir o servidor.

Verificar:

  • logs

  • porta

  • servidor ativo

Solução

Servidor respondendo em HTTPS.


LAB 03 — Conhecendo o server.xml

Editar

server.xml

Identificar

  • features

  • portas

  • SSL

  • aplicações

Solução

Entender como Liberty é configurado.


LAB 04 — Explorando a estrutura USS

Navegar

/var/zosconnect

Identificar

  • logs

  • config

  • certificates

  • api archives

Solução

Compreender que grande parte da configuração fica no USS.


LAB 05 — Primeiro Hello World

Criar uma API simples.

Endpoint

GET /hello

Retornar

Hello IBM Z

Solução

Primeira API publicada.


LAB 06 — Importando um Copybook COBOL

Criar

CLIENTE.cpy

Importar utilizando o Toolkit.

Solução

Gerar automaticamente o JSON Schema.


LAB 07 — Gerando OpenAPI

Gerar documentação Swagger.

Verificar

  • GET

  • POST

  • parâmetros

  • responses

Solução

Publicação da documentação automática.


LAB 08 — Expondo um Programa COBOL

Programa

CONSCLI

Recebe

ID

Retorna

Nome

Saldo

Cidade

Solução

Transformar em API REST.


LAB 09 — Testando com Postman

Executar

GET

POST

PUT

DELETE

Visualizar

Headers

Body

Status HTTP

Solução

Validar comunicação.


LAB 10 — Debug de JSON

Gerar erros

Campo inexistente

Formato inválido

Número onde deveria existir texto

Solução

Interpretar mensagens BAQRxxxx.


LAB 11 — Segurança com RACF

Criar usuário.

Criar grupo.

Configurar autenticação.

Solução

Acesso protegido.


LAB 12 — HTTPS e Certificados

Criar

Keyring

Certificado

Handshake TLS

Solução

API funcionando via HTTPS.


LAB 13 — OAuth e JWT

Adicionar autenticação.

Testar token.

Validar expiração.

Solução

API segura.


LAB 14 — Chamando DB2

Programa COBOL consulta DB2.

Retorna JSON.

Solução

API consultando banco de dados.


LAB 15 — Chamando CICS

Programa

EXEC CICS LINK

Publicar via REST.

Solução

Primeira integração CICS.


LAB 16 — Consumindo APIs Externas

Usar API Requester.

Consumir

  • CEP

  • Clima

  • Cotação

Receber JSON.

Enviar ao COBOL.

Solução

COBOL consumindo REST.


LAB 17 — Performance

Executar

100

500

1000

5000

requisições.

Medir

CPU

Response Time

TPS

Heap Java

Solução

Descobrir gargalos.


LAB 18 — Monitoramento

Consultar

SMF

RMF

messages.log

trace.log

/health

/metrics

Solução

Criar dashboard.


LAB 19 — Tratamento de Erros

Simular

CICS indisponível

DB2 parado

MQ indisponível

Timeout

JSON inválido

Certificado expirado

Solução

Aprender troubleshooting.


LAB 20 — Projeto Final Enterprise

Construir uma API bancária.

Endpoints

GET /clientes

GET /clientes/{id}

POST /clientes

PUT /clientes

DELETE /clientes

GET /saldo

POST /transferencia

GET /extrato

GET /pix

GET /limite

Backend

COBOL

CICS

DB2

z/OS Connect

REST

Postman

Swagger

OpenAPI

Grafana

OpenTelemetry

Solução

Projeto completo pronto para produção.


Desafios Extras (Modo Mestre Jedi)

  • Publicar múltiplas versões da mesma API (v1 e v2).

  • Implementar paginação, filtros e ordenação.

  • Criar políticas de Rate Limiting e CORS.

  • Integrar com IBM API Connect para gerenciamento do ciclo de vida das APIs.

  • Instrumentar a aplicação com OpenTelemetry e visualizar traces em Grafana.

  • Consumir a API por uma aplicação React, Angular ou Flutter.

  • Configurar CI/CD com Git, Jenkins ou GitHub Actions para publicação automática.

  • Criar um serviço que transforme dados EBCDIC em UTF-8.

  • Implementar autenticação via JWT com RACF.

  • Expor um programa COBOL que utiliza VSAM KSDS.

  • Criar um API Requester para consumir um serviço de IA (LLM) e retornar a resposta para um programa COBOL.

  • Desenvolver uma API que converta um Copybook COBOL em JSON e vice-versa.

  • Medir throughput, latência e uso de CPU sob diferentes cargas utilizando ferramentas de benchmark.


Resultado Esperado

Ao concluir os 20 laboratórios, o Padawan COBOL terá desenvolvido competências para:

  • Compreender profundamente a arquitetura do IBM z/OS Connect EE.

  • Publicar programas COBOL, CICS, IMS e Batch como APIs REST.

  • Consumir APIs externas diretamente do IBM Z.

  • Trabalhar com JSON, OpenAPI e Swagger.

  • Configurar Liberty Server, SSL/TLS, RACF e autenticação JWT/OAuth.

  • Diagnosticar erros utilizando logs, códigos BAQR, SMF e métricas.

  • Monitorar APIs com OpenTelemetry, Grafana e ferramentas de observabilidade.

  • Aplicar boas práticas de performance, segurança, versionamento e governança.

  • Integrar aplicações legadas com arquiteturas modernas de microserviços e agentes de IA.

  • Atuar em projetos reais de modernização IBM Z utilizando COBOL sem reescrever décadas de regras de negócio.

Ao final dessa jornada, o Padawan perceberá que o IBM z/OS Connect não substitui o legado: ele o conecta ao futuro, permitindo que programas COBOL continuem sendo protagonistas na era das APIs, da nuvem híbrida e da Inteligência Artificial.


domingo, 28 de maio de 2017

IBM z/OS Connect : Como um Padawan COBOL Pode Transformar Programas de 30 Anos em APIs REST sem Invocar Magia Negra

  

Bellacosa Mainframe e o z/os connect

☕ Um Café no Bellacosa Mainframe

O Holocron do IBM z/OS Connect

Como um Padawan COBOL Pode Transformar Programas de 30 Anos em APIs REST sem Invocar Magia Negra

"Mestre Bellacosa, como um programa COBOL escrito quando Ayrton Senna ainda corria pode conversar com um aplicativo em um iPhone?"

Meu jovem Padawan...

Pegue sua caneca de café, abra um SDSF em uma aba, um ISPF na outra, e vamos falar sobre uma das tecnologias mais interessantes que surgiram no universo IBM Z nos últimos quinze anos.

Hoje conheceremos o IBM z/OS Connect.

Talvez a ferramenta que mais salvou programas COBOL de serem aposentados injustamente.


A origem do z/OS Connect

Durante décadas, sistemas COBOL executavam perfeitamente.

O problema nunca foi o COBOL.

O problema era o mundo ao redor.

Anos 70

Terminal 3270.

Anos 80

CICS.

Anos 90

MQ.

Anos 2000

SOAP.

Anos 2010

REST.

Anos 2020

Microservices.

Anos 2030?

Agentes de IA consumindo APIs.

IBM percebeu algo.

Empresas não queriam reescrever bilhões de linhas COBOL.

Queriam algo muito mais simples.

Expor programas existentes como APIs.

Nasce então:

IBM z/OS Connect Enterprise Edition

Também chamado:

zCEE

Primeira geração:

z/OS Connect V1

Atual:

z/OS Connect EE 3.x

Atualmente roda sobre:

Liberty Server

WebSphere Liberty Profile

Java

USS

z/OS


O que ele faz?

Imagine isso.

Programa COBOL:

CONSULTA-SALDO.

Recebe:

AGENCIA
CONTA

Retorna:

SALDO
LIMITE
NOME

z/OS Connect transforma isso em:

GET

/api/cliente/12345

Resposta:

{

"nome":"JOAO",

"saldo":1500.00,

"limite":3000.00

}

Sem alterar COBOL.

Magia?

Não.

Arquitetura.


Como funciona internamente

Fluxo:

Cliente

HTTPS

Liberty

z/OS Connect

Service Archive

CICS

IMS

Batch

MQ

DB2

Programa COBOL

JSON

Cliente

Ele é um tradutor.

JSON

COPYBOOK COBOL


O que ele armazena?

Pouca gente sabe.

Ele não armazena dados de negócio.

Ele guarda principalmente:

Configurações

APIs

Metadados

Certificados

Logs

Definições


Tipos de datasets envolvidos

USS

Diretórios USS

Exemplo

/var/zosconnect/

PDSE

Procedures

Libraries


PARMLIB

Parâmetros


RACF datasets

Segurança


LOGSTREAMS

Mensagens


SMF

Métricas


Formatos dos registros

SMF

Binário

JSON

UTF-8

XML

ocasionalmente

YAML

em automações

Properties


port=9443


host=0.0.0.0


Componentes principais

API

Define endpoint


Service

Conecta backend


API Requester

Mainframe consome API externa.

Exemplo

COBOL chamando Salesforce.


API Provider

API exposta pelo mainframe.


Quantos tipos existem?

Basicamente:

API Provider

API Requester

E integra:

CICS

IMS

Batch

MQ

DB2

Stored Procedures

Java

REXX

Assembler


Instalando

Padawan Sysprog.

Passo 1

SMP/E

Instalar FMIDs.

Passo 2

Criar Liberty

server create ZCONN01

Passo 3

Configurar

server.xml


Passo 4

Importar certificados.

RACF

Keyrings


Passo 5

Subir servidor


START ZCONN01


Exemplo prático

Temos COBOL.

COPYBOOK


01 CLIENTE.

05 ID PIC 9(05).

05 NOME PIC X(30).

05 SALDO PIC S9(7)V99.



Programa:


LINKAGE SECTION.

01 CLIENTE.


PROCEDURE DIVISION.


MOVE 1234 TO SALDO.


GOBACK.



Criando serviço

Toolkit z/OS Connect.

Importa copybook.

Gera schema.

Resultado:

OpenAPI.

Swagger.

JSON.


Publicação


zosconnect deploy



Teste


GET


/clientes/100



Retorno


{

"id":100,

"nome":"BELLACOSA",

"saldo":1234.00

}


Segurança

TLS

OAuth2

JWT

RACF

SAF

PassTickets

Client Certificates


Onde ficam os logs?

USS

messages.log

trace.log

ffdc


Visualizar


tail -f messages.log


Problemas comuns

JSON inválido

Erro clássico.

Campos incompatíveis.


COMP-3

Problema comum.

Não vira JSON diretamente.

Precisa mapping.


Packed Decimal

Erro

BAQR0406E


Charset

EBCDIC

UTF8

Conversão.


Timeout

Backend lento.

CICS preso.


Certificado vencido

HTTPS falha.


Ajustes importantes

Heap Java

Thread Pool

Connection Pool

Caching

TLS 1.3

HTTP/2


Monitoramento

SMF 120

RMF

OMEGAMON

Splunk

Elastic

Grafana


Consultar status


server status ZCONN01


API list


zosconnect list apis


Healthcheck


/health



Metrics


/metrics


Easter Eggs e curiosidades

Poucos profissionais sabem.

z/OS Connect usa internamente muitos recursos herdados do Liberty.

Pode produzir documentação OpenAPI praticamente automática.

Consegue consumir APIs cloud.

AWS.

Azure.

OpenAI.

Salesforce.

SAP.

ServiceNow.

Um COBOL escrito em 1989 pode hoje conversar com um LLM.

Sem ser reescrito.

Apenas encapsulado.

É quase um "hiperespaço" tecnológico.

O motor continua sendo o mesmo velho cargueiro Corelliano.

Mas agora ele possui uma porta de acoplamento universal.


Ligação com COBOL

Na prática, z/OS Connect tornou-se uma das habilidades mais valiosas para um programador COBOL moderno.

Antes, um desenvolvedor COBOL conhecia:

JCL

VSAM

DB2

CICS

Hoje ele também precisa entender:

REST

JSON

Swagger

OpenAPI

JWT

OAuth

TLS

Observabilidade

DevOps

Git

Containers

APIs

O grande segredo é perceber que o COBOL não morreu.

Ele ganhou uma nova interface.

Se antes conversava com um terminal verde 3270, hoje conversa com celulares, fintechs, aplicativos de delivery, sistemas de IA e agentes autônomos.

E talvez esta seja a maior lição para um Padawan COBOL: não se apaixone pela tela, pelo protocolo ou pela moda do momento. Apaixone-se pelas regras de negócio. O programa COBOL continua fazendo aquilo que sempre fez melhor: processar dados com estabilidade absurda. O z/OS Connect apenas atua como um tradutor universal, permitindo que décadas de conhecimento corporativo atravessem gerações tecnológicas sem precisar ser reescritas. O verdadeiro Jedi do IBM Z não destrói sistemas legados. Ele constrói pontes entre o legado e o futuro.