Blueprint: Transformation CICS & IMS vers Open Source

Architecture de migration mainframe vers infrastructure cloud-native

Accès Externe
Gateway & Sécurité
Routage
Message Queues
Event-Driven
Processing
Data Layer
🌐 EXTERNAL ACCESS LAYER Disponibilité 24/7
REST API Mobile/Web
  • Applications mobiles iOS/Android
  • Portails web clients
  • Partenaires B2B
GraphQL Clients
  • Requêtes flexibles
  • Agrégation de données
  • Subscriptions temps réel
gRPC Services
  • Communication inter-services
  • Haute performance
  • Streaming bidirectionnel
WebSocket Real-time
  • Notifications push
  • Mises à jour en direct
  • Dashboards temps réel
🔐 API GATEWAY & ROUTING LAYER Équivalent CICS Gateway + IMS Connect
Kong Gateway / Apache APISIX
Open Source Cloud Native
  • Rate Limiting & Throttling
  • Circuit Breaker pattern
  • Load Balancing intelligent
  • Protocol Translation (REST → MQ)
  • Authentication Pre-processing
  • Request/Response transformation
Security & IAM - Keycloak
Open Source Red Hat
  • OAuth2 / OpenID Connect
  • SAML 2.0 Federation
  • JWT Token Management
  • User/Service Authentication
  • RBAC (Role-Based Access)
  • ABAC (Attribute-Based Access)
🔀 TRANSACTION DISPATCHER & ROUTER Équivalent CICS TOR + IMS Control Region
Unified Transaction Controller
Spring Boot Custom Logic
⚡ CICS-Style Routing
  • Transaction Code → AOR
  • Function Shipping → FOR
  • DPL (Distributed Program Link)
  • Modes Async/Sync
📨 IMS-Style Routing
  • Trans Code → MPP Region
  • PSB Selection
  • Message Queue Scheduling
  • BMP Job Submission
Routing Table
Transaction Type Target Mode
CC00 CICS-MPP AOR-POOL-1 Sync, COMMAREA
TRAN1 IMS-MPP MPP-REGION-2 Async, Message Queue
BILLRUN IMS-BMP BMP-EXECUTOR Batch, Checkpoint/Restart
ACCTUPD CICS-DPL AOR-POOL-3 Sync, Channel-based
📬 MESSAGE QUEUE INFRASTRUCTURE & EXTERNAL ADAPTERS Équivalent IMS MQ + CICS TS + EXCI/ECI
📦 Message Queue Infrastructure
Apache Kafka
Event Streaming
  • IMS message queues
  • Transaction input queues
  • Response queues
  • Dead letter queues
Apache ActiveMQ Artemis
  • CICS Temporary Storage (TS)
  • Transient Data (TD)
  • Named queues
RabbitMQ Optional
  • Low latency queuing
  • Priority queues
🔌 External Interface Adapters
EXCI Adapter
  • Batch → CICS calls
  • JNI/REST bridge
  • COMMAREA/Channel support
ECI Adapter
  • Remote client calls via TCP/IP
  • DPL protocol emulation
  • Gateway daemon equivalent
IMS OTMA Adapter
  • TCP/IP to IMS transactions
  • WebSphere MQ bridge
EVENT-DRIVEN INTEGRATION LAYER Équivalent MQ Series Triggering + CICS Callbacks
📡 Event Publishing & Patterns
Outbox Pattern
Atomicité Garantie
  • Transaction DB + Event dans même commit
  • Équivalent CICS SYNCPOINT + MQ PUT
  • Zéro perte d'événement possible
  • Scheduler de publication asynchrone
Event Types
  • TransactionCreated - Nouvelle transaction
  • CardStatusChanged - Blocage/déblocage carte
  • AccountUpdated - Modification compte
  • Extensible pour nouveaux événements métier
🔔 Notification & Webhooks
Notification Service
Temps Réel @KafkaListener
  • Webhooks vers partenaires (<1 sec latence)
  • Filtrage par scopes OAuth2
  • Retry exponentiel intelligent
  • Dead Letter Queue pour échecs
Use Cases Activés
  • 🛡️ Détection fraude temps réel
  • 📱 Notifications multi-canal (Email/SMS/Push)
  • 📊 Synchronisation comptable automatique
  • 📈 Analytics & Business Intelligence
Kafka Topics Architecture
Topic Partitions Producteur Consommateur
carddemo.transactions 8 transaction-service notification-service, analytics
carddemo.cards 4 card-service notification-service, fraud-detection
carddemo.accounts 4 account-service notification-service
carddemo.dlq 1 *-service (échecs) ops-monitoring
⚙️ TRANSACTION PROCESSING REGIONS Équivalent CICS AOR + IMS MPP/BMP
AOR-Like Regions CICS Style
  • Spring Boot microservices (stateless)
  • COMMAREA-based transactions
  • Channel-based transactions
  • Pseudo-conversational (SPA emulation)
  • Auto-scaling (Kubernetes HPA)
AOR-Pool-1
3 replicas
AOR-Pool-2
5 replicas
AOR-Pool-3
2 replicas
AOR-Pool-N
dynamic
MPP-Like Regions IMS Style
  • Message-driven Spring Boot services
  • Reads from Kafka/ActiveMQ
  • DL/I call emulation (GU, GN, ISRT...)
  • PCB support
  • Conversational & Non-conversational
MPP-Region-1
scaled
MPP-Region-2
scaled
MPP-Region-N
scaled
BMP-Like Regions IMS Batch
  • Spring Batch framework
  • Transaction-oriented BMP
  • Batch-oriented BMP
  • Checkpoint/Restart capability
  • Saga pattern (long-running)
  • GSAM emulation
BMP Executor Pool
workers
BMP Scheduler
jobs
FOR-Like Region CICS File
  • Centralized file/data access
  • VSAM emulation layer
  • Function shipping endpoint
  • Record-level locking
🔷 COBOL Business Logic Runtime - GnuCOBOL Engine (Open Source)
  • Native COBOL programs compilation
  • JNI bridge to Java services
  • CICS API emulation (EXEC CICS commands)
  • DL/I call emulation (CBLTDLI interface)
  • Copybook support
📁 Programmes COBOL maintenus par cobolistes
COCRDLI.cbl
Login - CICS transaction
COSGN00C.cbl
Signon - CICS
DFSIVAP1.gnt
IMS MPP sample
DFSIVAP2.gnt
IMS BMP sample
*.cbl / *.gnt
+ tous vos programmes métier
🔄 TRANSACTION MANAGEMENT LAYER Émulation CICS Syncpoint + IMS Commit
Narayana Transaction Manager
JBoss/Red Hat Open Source
  • JTA/XA distributed coordinator
  • Two-Phase Commit (2PC)
  • CICS SYNCPOINT equivalent
  • IMS COMMIT/ROLLBACK equivalent
  • Transaction recovery manager
  • Heuristic exception handling
Saga Orchestrator
Apache Camel Saga EIP
  • Long-running transactions (BMP)
  • Compensating transactions
  • Eventual consistency patterns
Event Store & Audit Trail
  • PostgreSQL WAL
  • Kafka event log (immutable)
  • Transaction log per region
  • Point-in-time recovery
  • UOWID tracking
Checkpoint/Restart Manager
  • Periodic checkpoint storage
  • Restart from last checkpoint
  • CHKP/XRST calls emulation
💾 DATA ACCESS LAYER IMS DB + VSAM + DB2 Emulation
Hierarchical Database IMS DB
PostgreSQL 16+
  • ltree - Hierarchical tree structures
  • JSONB - Flexible segment storage
  • Recursive CTEs - Parent-child navigation
  • Custom functions - DL/I emulation
IMS Structures Emulated
HDAM HIDAM HISAM HSAM DBD→Tables PSB→Views PCB→Config
Relational Database CICS VSAM/DB2
PostgreSQL 16+ Aurora
  • ACID transactions
  • MVCC concurrency
  • WAL for recovery
  • Streaming replication
  • Row-level security
VSAM Types Emulated
KSDS→B-tree ESDS→Append RRDS→Array AIX→SecIdx
Change Data Capture
Debezium Kafka Connect
  • Captures all DB changes
  • Streams to Kafka topics
  • Audit trail
  • Replication & Analytics
Object Storage Datasets
MinIO S3-compatible
  • Sequential datasets (PS)
  • Partitioned datasets (PDS/PDSE)
  • Generation Data Groups (GDG)
  • JCL outputs storage