c09 Aws Blu Age Custom Architecture 2405
c09 Aws Blu Age Custom Architecture 2405
L2 - Course 09
© 2024,
2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Important
Please note that all materials (including the presentation deck) are AWS Content subject to the terms of the AWS
Agreement (https://aws.amazon.com/agreement/) or other agreement with AWS governing your use of AWS
services. All materials are Amazon Confidential Information and are shared with you under the applicable non-
disclosure agreement. In addition to normal confidentiality requirements, you may not allow anyone who is not
participating in the AWS Blu Age T3 session to access the materials.
Also, some of the contents have been prepared using the CardDemo application which is an open-source application
(https://github.com/aws-samples/aws-mainframe-modernization-carddemo/). Please read and respect the license
Apache License 2 that manages it.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
AWS Blu Age T3 - Section d25h1505
Sylvain EVEILLARD
Senior Software Dev Engineer, AWS Blu Age,
AWS Mainframe Modernization
AWS
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Custom code architecture
Modernization Goals:
Absolute first requirement: Like for like functionality
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
AWS Blu Age Workflow / Transformation
BLU AGE MODERN
[refactored] GENERATE
JAVA / Spring Boot
DSLs ANGULAR / TypeScript
JSON
Generic code
refactorings on
the shelf
REFACTOR Specific
LEGACY BLU AGE
project code Benefits:
refactorings • Agile cycles
COBOL, PL/1, RPG, CL, • Horizontal scalability
• Shorter time to golive
BMS, MFS, DSPF, PRTF, TRANSFORM [transformed] • Automated regression tests
JCL, PROC, CTL, • Easier impact analysis
COPYBOOK, PF, LF, JF, DSLs • DevOps pipeline
• Cloud-native app
DDL, SQL, JSON • Cloud services
CSD, LISTCAT, DBD, BTG, …
Time
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Custom code architecture
Generate:
Based on templates available in cartridges
New cartridges could be added
For example: JCL
Default cartridge: Groovy script
Alternate cartridge: Java Spring Batch
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Custom code architecture
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Custom code architecture
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
AWS Blu Age Runtime library
• Java transaction manager • API to replace VSAM and GDG data access (seq, indexed, seq indexed)
• Replaces CICS and IMS MFS • 3 modes: embedded in app, server, distributed server
• XA support both as a resource and for coordinating internal transactions • Main features: Optimized & externalized indexes to reproduce all legacy
• Programs, Run Unit and CICS Task/Transactions have REST & JAX-RS file data access but with Database, Sub millisecond access, Manage
interfaces polymorphism, Write-Behind, Admin api/gui for data migration, data load,
• Batch & Transactions may be deployed on distributed architecture on any of cache loading, data compression
the following compute: AWS EC2, AWS ECS, AWS EKS, AWS Lambda, Docker • Backend for caching: AWS Elasticache, Redis, Ehcache, etc.
& K8 on premise, VM & Physical hosts • Backend for data store: AWS Aurora, AWS RDS, Any RDBMS on cloud VM,
• Backend: Spring Boot & Spring Cassandra, etc.
BluSAM
JICS
AWS Blu Age Runtime library Gapwalk application
Data Simplifier
• User session management & screen
choreography
• API to replace former Legacy record structure JHDB Batch utils
• Session saved in distributed cache for
with Java OO stateless deployment
• Eliminate all side effect and data aliasing of • API to replace Hierarchical • SORT, SYNCSORT, • Distributed cache for statelessness:
mainframe in-memory data types databases such as IMS DB AWS Elasticache, REDIS
... Utilities to
• Removes Redefines, Level 77, Level 88, etc. • Schema and data mimic mainframe • App screen: SPA application (Angular),
• Java Fluent API to use synthetic getter and transformation utilities found in can be deployed on AWS Cloudfront
setter • Backend database: Aurora batch
(PostgreSQL mode), any AWS
RDS, Any other RDBMS
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
9
Blu Age Gapwalk
Gapwalk is the internal name of AWS Blu Age Gapwalk
Gapwalk application is in charge of transactions choreography (dynamic behavior) and user sessions. It’s
a library containing all roadblocks solutions to reach functional equivalence when patterns does not
exist in Java natively
Transaction-message
Json params
(Transaction-ID &
Transaction Java
Transaction Java Service
Transaction-message) Transaction JavaProgram
Program
Server container
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
AWS Blu Age Runtime endpoints
End point Description
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Blu Age Gapwalk
Two different implementations natively supported
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Blu Age JICS
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Blu Age Velocity - JICS Administration Console (JAC)
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Blu Age generated Java application integration
MQ are preserved, Blu Age Velocity supports the CTG
following: Existing application making use of CTG
Protocol level compliance Replace façade/interface/factory with new
IBM MQ implementation
JMS Only the façade requires to be updated in
the customer code
REST with protocol level compliance Replaced by JICS (preserves both common and
Regular REST APIs working areas)
JAX-RS for 2PC
New service orchestration based on REST
(and other integration patterns such as
JMS) to target Microservices
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Java Hierarchical DB (JHDB)
JHDB is an API replacing hierarchical database access with a relational or a graph database, it
replaces databases such as IMS DB
• Support for access type: HSAM, SHSAM, HISAM, SHISAM, HDAM, HIDAM, MSDB, DEDB, GSAM
• Support of all access mode: GU, GN, GNP, ISRT, etc.
API for
• Schema
• Data transformation
• Data navigation and modification
Backend database Graph implementation
• RDBMS: API implemented with SQL CTE (Common Table Expression)
Orient DB
• Graph database: API implemented with Tinkerpop Gremlin
Janus Graph
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Blu Age Data Simplifier
Blu Age Data Simplifier is an API which replaces former data definition with regular Java OO
• Data polymorphism to OO
• Eliminate aliasing
• Redefine removals
• Levels 77, 88, etc. removals
• All data side effects: padding, etc.
• Fixed point accuracy computation
• COMPs
• Low/high values, etc.
• EBCDIC to Unicode
• More: all mainframe specific data behavior
• Fluent API for data navigation
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Boundary effects: data aliasing (in-memory overwrite)
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
AWS Blu Age Gapwalk: nested/distributed transactions
Server
Sub-transaction as XA
resources
Inbound Blu Age JICS exposed as XA Blu Age XA
client-side resource at the granularity coordinator
IBM MQ classes for JMS
transaction of the service transaction Modernized Extended Transactional
application program (XA) Clients
into Java
Q as XA resources, bufferize
then fire (commit) or forget
(rollback)
DB as XA resources
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
AWS Blu Age Gapwalk: nested/distributed transactions
DB as XA resources
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Databases
Source databases:
Hierarchical (IMS)
Inverted Index (Datacom, ADABAS, DB2 iSeries)
Codasyl (IDMS, Oracle Codasyl, IDS)
DB2 zOS
Target databases:
Any RDBMS (PostGres by default)
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
AWS Blu Age T3 - Section d25h1605 - Custom architecture
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Custom Architecture
AWS Blu Age T3 - Section d25h1605 - Custom architecture
Overview
In this session, you will learn what are the various possible deployment topologies of the
AWS Mainframe Modernization Service custom runtime and database server.
Performance objective
Trainee is able to design a target architecture on AWS of the AWS Mainframe
Modernization Service custom runtime and its database server.
Target audience
Solution Architect, Application Developer, Engagement Manager
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
AWS Mainframe Modernization service offerings
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Mainframe Modernization Service Custom vs Managed (1/2)
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Mainframe Modernization Service Custom vs Managed (2/2)
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Standard deployment topology
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Multi applications in standard deployment topology
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Multi application server deployment topology
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Split front-end & back-end deployment topology
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Database server deployment topology
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Application deployment topology – Collocation of front-end and back-end
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Application deployment topology – Split of front-end and back-end
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Compute deployment topology – EC2
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Compute deployment topology – ECS
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Compute deployment topology – EKS
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Compute deployment topology – Red Hat OpenShift
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
AWS Blu Age T3 – Section d25h1630 - Custom architecture
Kevin Yung
Principal Solution Architect Mainframe Modernization,
AWS WWSO Mainframe Modernization
AWS
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Custom architecture - Demo
AWS Blu Age T3 – Section d25h1630 - Custom architecture
Overview
In this demo session, you will see a real world customer POC using AWS mainframe
modernisation custom architecture. Introduce the common use cases of M2 custom
architecture and their varieties.
Performance objective
Trainee is able to evaluate the choices of custom architecture, based on customer’s
requirement to design a custom architecture on AWS.
Target audience
Solution Architect, Application Developer, Engagement Manager, QA / Senior Assistance
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Customer Requirements
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Debugging in Amazon EC2
• Access Amazon EC2 from AWS console
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Automate deployment using AWS CodePipeline
• AWS CodePipeline to automate Blu Age application release process
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Amazon Aurora Database
• Migrate data to Amazon Aurora PostgreSQL database using Blu Age modernized
database scripts
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
AWS Blu Age on EC2 Architecture Design
AWS Cloud
Availability Zone 1 Availability Zone 2 Availability Zone 3
Trigger Pipeline
Deployment Session 5
Manager login
AWS CodePipeline troubleshooting
AWS Systems Manager Amazon Aurora (Multiple-AZs)
IAM Role
Developers
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL
Thank you!
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CONFIDENTIAL