Track Desarrollo
Plan de capacitación para desarrolladores: programar en IBM i, exponer servicios, integrar y automatizar el portafolio.
Objetivos y criterios
Track Desarrollo
Objetivo del rol
Programar sobre IBM i con tooling moderno, exponer servicios desde IBM i, integrar y extender los aplicativos del portafolio (Quick EDD, Connect CDC, Flash for i). Garantizar que las aplicaciones nuevas no rompan los pipelines de HA y CDC.
Audiencia y perfil
- •Desarrolladores con experiencia (back-end, integración, DBA).
- •Pueden venir de RPG/CL legacy o de stacks modernos (Node, Python, Java).
- •Expectativa: trabajar tanto en código de aplicación como en automatización del operativo.
Prerequisitos
- •Onboarding de empresa completo.
- •Git y VS Code configurados.
- •Cuenta de desarrollo en el laboratorio compartido (con permisos de cambio).
- •Cuenta en portales Precisely Support y M81.
Día 0 común
2 horas. Base común de plataforma. Ver modulo-hardware.md y modulo-ibm-i.md.
Plan de capacitación
| Orden | Tema | Duración | Material principal | |---|---|---|---| | 1 | Hardware iSeries / Power | ½ día | Hardware — Para Desarrollo | | 2 | IBM i (sistema operativo) | 5 días | IBM i — Para Desarrollo | | 3 | AIX | 1 día | AIX — Para Desarrollo | | 4 | Assure Quick EDD | 2 días | Quick EDD — Para Desarrollo | | 5 | Connect CDC | 3 días | Connect CDC — Para Desarrollo | | 6 | Flash For i | 1 día | Flash For i — Para Desarrollo |
Total: 12½ días lectivos. Hasta 18 días con el proyecto integrador extendido.
Foco práctico del track
Capacidades que un desarrollador debe demostrar al final:
- •RPG IV / RPG free-form moderno — incluyendo opcodes nuevos de IBM i 7.5:
SND-MSG,ON-EXCP,DATA-GEN(JSON/CSV desde RPG),FOR-EACH. Ver IBM i — Para Desarrollo. - •CL para automatización y wrappers.
- •SQL embebido, stored procedures, IBM i Services.
- •APIs del sistema (
QSY*,QC2*). - •Servicios web — exponer programas RPG/CL como REST con Integrated Web Services.
- •Open source nativo en IBM i — Node.js, Python, PHP, Git vía RPM.
- •Code for IBM i en VS Code con Git.
- •Integraciones con Quick EDD (APIs, exits, automatización de role-swap), Connect CDC (configuración avanzada, mapping, transformaciones) y Flash for i (scripting alrededor del ciclo).
Laboratorio durante el track
- •LPAR de desarrollo con Git, RPM-yum, IWS habilitado.
- •Conector configurado a un destino Snowflake/Kafka de prueba.
- •Quick EDD con un par source/target de práctica.
- •Flash for i en modo de prueba.
Entregable de cierre
Proyecto integrador end-to-end. El desarrollador debe:
- •Crear un servicio en IBM i que exponga un dato del sistema vía REST/JSON, respetando journaling sobre los archivos involucrados.
- •Configurar un pipeline Connect CDC que replique cambios de ese dato a un destino externo (Snowflake o Kafka) en tiempo real.
- •Consumir el dato desde una app cliente (Node.js o Python) y verificar el flujo completo.
- •Automatizar monitoreo con scripts que envíen métricas/alertas de Quick EDD a la consola corporativa de monitoreo.
Documentación del proyecto:
- •Diagrama de arquitectura.
- •Código en repositorio Git.
- •README con cómo desplegar y probar.
- •Discusión de buenas prácticas aplicadas.
Criterios de aprobación
- •Código RPG/CL legible en estilo moderno (free-form, modular, ILE).
- •Journaling correcto sobre todos los objetos productivos creados; sin objetos huérfanos.
- •REST funcional con manejo de errores.
- •Pipeline CDC operando con cambios end-to-end visibles.
- •Documentación completa.
Buenas prácticas que se enseñan explícitamente
- •Toda biblioteca/objeto productivo creado en runtime nace journaled (caso contrario rompe Quick EDD y Connect CDC).
- •Documentar contratos de datos hacia downstream (qué tablas/columnas son públicas).
- •Cambios de schema con coexistencia — no borrar columnas usadas por CDC sin coordinar.
- •Logs centralizados — mandar reportes a la consola corporativa.
- •Versionado — código y configuración (Quick EDD scripts, Connect CDC pipelines) en Git.
- •Test antes de prod — usar un clon Flash for i o el target de Quick EDD como ambiente de validación.
Mentoría y desarrollo continuo
- •Code reviews con un desarrollador senior durante los primeros 60 días.
- •Aporte continuo a librerías internas reusables.
- •Renovación anual: nuevas TRs de IBM i (impactan opcodes RPG, IBM i Services), nuevas versiones de los aplicativos.
- •Participación en COMMON, Common Europe, IBM Champions, blogs especializados (IT Jungle, etc.).
Recursos transversales
Módulos del track
Agenda día por día
Agenda día por día — Track Desarrollo
Cronograma base de 12½ días lectivos (extensible a 18 con proyecto integrador prolongado). Bloques estándar: mañana 9:00–13:00, tarde 14:00–17:00.
Track completo: track-desarrollo.md.
Día 0 — Día común
14:00–16:00 (2 h). Historia, portafolio, vocabulario.
Día 1 (mañana) — Hardware (½ día)
- •9:00–10:30 Contexto mínimo: dónde corre el código (LPAR, partition, IASP).
- •11:00–13:00 Cuándo escalar al equipo de infra (saturación, IASP nuevo, cloud).
Material: Hardware — Para Desarrollo.
Días 1 (tarde) – 5 — IBM i (deep dev)
Día 1 (tarde)
- •14:00–17:00 RPG IV / RPG free-form moderno. Procedimientos, service programs, activation groups.
Día 2
- •9:00–13:00 Nuevos opcodes IBM i 7.5:
SND-MSG,ON-EXCP,DATA-GEN,FOR-EACH. Práctica con ejercicios. - •14:00–17:00 IBM i 7.4 features para dev: ODBC nativo, idb-connector, paquetes Python ML, R, ActiveMQ. (Ver IBM i 7.4 features)
Día 3 — CL + SQL
- •9:00–13:00 CL: wrappers, batch, automatización. Manejo de excepciones a nivel comando.
- •14:00–17:00 SQL embebido en RPG/CL. Stored procedures.
Día 4 — DB2 for i + APIs
- •9:00–13:00 DB2 for i avanzado, IBM i Services (
OBJECT_STATISTICS,SYSTEM_VALUE_INFO,ACTIVE_JOB_INFO). - •14:00–17:00 APIs del sistema (
QSY*,QC2*).
Día 5 — Servicios web + open source
- •9:00–13:00 Integrated Web Services (IWS): exponer programas RPG/CL como REST. Observabilidad de IWS en 7.5.
- •14:00–17:00 Open source nativo: Node.js, Python, PHP. Code for IBM i en VS Code con Git.
Material: IBM i — Para Desarrollo.
Día 6 — AIX
Mañana (4 h)
- •9:00–10:30 POSIX + ksh / bash.
cron. Compiladores xlC / GCC. - •11:00–13:00 PASE en IBM i — runtime AIX-compatible.
Tarde (3 h)
- •14:00–17:00 Integración con el portafolio: Connect CDC con destino sobre AIX (Db2 LUW, Oracle), scripts de monitoreo en AIX,
mksysborquestado.
Material: AIX — Para Desarrollo.
Días 7–8 — Quick EDD (dev)
Día 7 — APIs y exits
- •9:00–13:00 APIs y exits de Quick EDD (verificar versión exacta en docs Precisely).
- •14:00–17:00 Lab: script de monitoreo que envía métricas a consola corporativa.
Día 8 — Automatización + buenas prácticas
- •9:00–13:00 Lab: orquestación de role-swap automatizado para drills periódicos.
- •14:00–17:00 Buenas prácticas en aplicación:
STRJRNPFde objetos creados en runtime; documentar bibliotecas/objetos por release.
Material: Quick EDD — Para Desarrollo.
Días 9–11 — Connect CDC (dev)
Día 9 — Configuración como código
- •9:00–13:00 Versionar configuraciones de pipeline en Git. Pipelines parametrizables (dev/QA/prod).
- •14:00–17:00 Despliegue controlado.
Día 10 — Mapping y transformaciones
- •9:00–13:00 Mapping declarativo, lookups, derivaciones. Cuándo transformar en CDC vs en destino (dbt/Snowflake/Spark).
- •14:00–17:00 Lab: pipeline con transformaciones simples + tests.
Día 11 — Streaming + buenas prácticas IBM i
- •9:00–13:00 Kafka (estrategia de tópicos, schemas Avro, particionado), Confluent Schema Registry.
- •14:00–17:00 Buenas prácticas: tablas que nacen journaled
AFTER/BOTH, contratos de datos, schema evolution con coexistencia.
Material: Connect CDC — Para Desarrollo.
Día 12 — Flash For i (dev) + arranque del proyecto integrador
Mañana (4 h)
- •9:00–10:30 Wrappers en CL/Bash para encadenar Flash for i con otros pasos.
- •11:00–13:00 Coordinación con scheduler corporativo. Integración con pipelines de datos.
Tarde (3 h)
- •14:00–17:00 Kickoff del Proyecto integrador: definir alcance individual, repositorio Git, ambiente.
Material: Flash For i — Para Desarrollo.
Día 13 — Cierre del proyecto integrador
Día completo
- •Implementar:
- •Servicio en IBM i que exponga un dato por REST/JSON, con journaling correcto.
- •Pipeline Connect CDC que replique cambios a destino externo.
- •App cliente (Node.js/Python) que consuma el dato.
- •Monitoreo automatizado de Quick EDD a consola corporativa.
- •Entrega final con documentación, código en Git, README.
Material: Entregable — Track Desarrollo.
Días 14–18 (opcional)
- •Proyecto integrador extendido con features extra (más transformaciones, más fuentes/destinos, schema evolution real).
- •Code reviews con dev senior sobre el proyecto.
- •Aporte a librerías internas reusables.