blue phoenix idms migration

37
www.bphx.com BluePhoenix DBMSMigrator for IDMS April 2010 Avishai Shafir – VP Marketing Gil Shalit - IDMS Migration Manager

Upload: gilshalit

Post on 22-May-2015

1.678 views

Category:

Documents


2 download

DESCRIPTION

Migrating IDMS based applications

TRANSCRIPT

Page 1: Blue Phoenix Idms Migration

www.bphx.com

BluePhoenix DBMSMigrator for IDMSApril 2010

Avishai Shafir – VP MarketingGil Shalit - IDMS Migration Manager

Page 2: Blue Phoenix Idms Migration

2

A Full Migration Solution

Remodel the data structures from IDMS to a relational DBMS.

Convert the programs to be compatible with new RDBMS.

Translate DC and ADS/O to a variety of targets.

Migrate data from IDMS to RDBMS.

Page 3: Blue Phoenix Idms Migration

3

Migration Concept

Fully automated

Automated database remodeling – network DBMSinto normalized relational DBMS

Automated software conversion – rule-based process - with refresh capabilities

Automated data migration – generation of data migration programs, allowing customer-defined integrity checks and data transformations

Page 4: Blue Phoenix Idms Migration

4

Target Systems

Target PlatformsMainframe

UNIX / LINUX

Windows + .Net

Target RDBMSDB2 (7 8 or 9)

Oracle

SQL Server

Target Online EnvironmentCOBOL CICS

J2EE

.Net

Page 5: Blue Phoenix Idms Migration

5

TP and Batch Emulation Targets

MicroFocus Server

Clerity UniKix & BPE

IBM TXSeries

Oracle Tuxedo A.R.T. (Metaware)(We have been approached by Oracle to integrate Tuxedo A.R.T API support in our tools,

starting with the IDMS migration toolset)

Page 6: Blue Phoenix Idms Migration

6

Refresh

Testing & Tuning

Data Migration

Code & JCL Conversion

Detailed Analysis & Remodeling

Global Assessment &

Planning

Acceptance Testing

IDMS Migration Project Methodology

Page 7: Blue Phoenix Idms Migration

7

Remodeling

The database remodeling is rules based

Transformations are created for each IDMS entity according to the following:

IDMS RDBMS

Records Tables

Items Fields

CALC Keys Primary Keys

Sets Foreign Keys

System Sets Indication Fields

Page 8: Blue Phoenix Idms Migration

8

BanksId HQ

BranchesId Adrs B-Id

CustomersId Adrs B-Id Br-Id Yng

BankBank-ID

HQ-Address

---

--- BranchBranch-ID

Address

---

---

CustomerCust-ID

SSN

---

---

B-Br Set

Br-Cust S

et

B-C

ust Set

Young-Cust System Set

CALC Key

Record to Table

Record to Table

Set to FK

Set to FK

Set to Indication

Key to PK

Record to Table Remodeling

Page 9: Blue Phoenix Idms Migration

9

Database Remodeling – Transformations

Database normalization

Flat Array

Array Table

Set to Foreign Key

Date/Time format

REDEFINE rules

Group/Sub-elements

Initial value for columns

Naming convention

Special transformations: split/merge records and fields

RDBMS

Data Model

IDMS

Structure

Mapping Rules:

Remodeling by Transformations

Page 10: Blue Phoenix Idms Migration

10

Rule Based Repository

Data MigrationPrograms

SoftwareConversion

RDBMS

Data Model

IDMS File

Structure

Mapping Rules:

Remodeling by Transformations

Page 11: Blue Phoenix Idms Migration

11

Remodeling Workspace

Load Schema

Setting Configurations

Setting Hints

Automatic Remodeling

Editing Transformations

DDL Generation

Page 12: Blue Phoenix Idms Migration

12

Although the underlying data structures change, the program logic is untouched.

Only I/O commands are rewritten.

Code Conversion: Keep Program Logic

IDENTIFICATION DIVISION

PROGRAM NAME XYZ

---

COPY IDMS REC1

---

IDMS IO

---

IDMS LOGIC

---

IDENTIFICATION DIVISION

PROGRAM NAME XYZ

---

COPY REC1

COPY REC1_I2D

COPY REC1_D2I

---

SQL IO

---

IDMS LOGIC

---

Page 13: Blue Phoenix Idms Migration

13

Interface Copybooks

IDMS RECORD XY

02 F1

02 F2

04 F21

04 F22

02 F3 OCCURES 10

---

DB2 TABLE T-XY

TF3

TF1 TF21 TF22

TF1 IDX

CHILD TABLE T-XY-3

01 XY

02 F1

02 F2

04 F21

04 F22

02 F3 OCCURES 10

---

01 T-XY

02 TF1

02 TF21

02 TF22

01 XY-3

02 TF1

02 IDX

02 TF3

MOVE F1 TO TF1

MOVE F21 TO TF21

MOVE F22 TO TF22

--

*ARRAY SECTION

PERFORM UNTIL IDX > 10

---

REC1_I2D

MOVE TF1 TO RF1

MOVE TF21 TO RF21

MOVE TF22 TO RF22

--

*ARRAY SECTION

PERFORM UNTIL IDX > 10

---

REC1_D2I

Page 14: Blue Phoenix Idms Migration

14

Copybooks Workspace

Generate Copybooks

Page 15: Blue Phoenix Idms Migration

15

Code Conversion – DML Conversion Rules

IDMS RDBMS

OBTAIN/FINDCalcDBKEYUSINGCURRENTWITHIN

CURSOR/SINGLE SELECTWHERE on CALC FIELDSWHERE on PK FIELDSWHERE on SORT FIELDSWHERE on PK FIELDSWHERE on FK FIELDS

Page 16: Blue Phoenix Idms Migration

16

Code Conversion – DML Conversion Rules Cont.

DBKEY operations are converted to PK operations.

IDMS RDBMSACCEPT

FROM record CURRENCY

FROM set CURRENCY

MOVE PK TO WS-DBKEY

FETCH PK by FK

RETURN Same cursor as for OBTAIN, PK to WS-DBKEY

MOVE DB-KEY MOVE rec-PK to WS-DBKEY

CONNECT OWNER PK to FK

DISCONNECT NULLIFY FK

Page 17: Blue Phoenix Idms Migration

17

Code Conversion – DML Conversion Rules Cont.

DBKEY operations are converted to PK operations.

IDMS RDBMS

Store Insert

Modify Update Using PK

Erase Delete Using PK

Page 18: Blue Phoenix Idms Migration

18

MOVE

IDMS I/O layer - Read

WS record (IDMS format)

RDBMS

Host variables

New I/O layer - SELECT

IDMS

IDMS program Relational program

Program logic

Code Conversion - Architecture

Page 19: Blue Phoenix Idms Migration

19

Software Conversion

Add Program

Automatic Conversion

Manual Fixes

DBFA Graphs

Refresh

Page 20: Blue Phoenix Idms Migration

20

DB Flow Analysis (DBFA)

A Simple conversion would result in opening un-necessary or incorrect cursors which do not take into account the context of the commands.

The DBFA process analyzes the program flow and decides on the required cursors and on the conversion of each DML command to one of those cursors.

The advantage: Automatic analysis is used to automatically optimize the new IO layer, so that performance is improved.

Page 21: Blue Phoenix Idms Migration

21

DB Flow Analysis (DBFA)

Cursor opened before the first fetch and closed when it is not needed

Cursors Open and Close operations are moved out of loops where possible.

Connect and Disconnect operations are performed only when needed.

Prefer simple cursors (FK=:pk) over paging cursors (FK=PK AND ORDER>:current-hv)

FIND/OBTAIN CURRENT analyzed to find if the command is necessary for SQL operation

Smart Select is used to list in the SELECT clause only the fields that are used in the program.

Page 22: Blue Phoenix Idms Migration

22

Inline SQL Vs. IO Modules

Inline SQLStandards based SQL solution

Context based SQL optimization (DBFA)

Not an IDMS emulation

No IDMS skills required to maintain and further develop.

DB access changes are localized – no need for impact analysis and across the board testing.

No maintenance “surprises” after go-liveI/O Modules solution produces a maintenance nightmare

University of Miami could not maintain their migrated IDMS/ADS migration.

The reason was that the IO module based migration produced un-maintainable code with changes made to one part affecting the whole code base.

BluePhoenix does offer an IO module based alternative to customers who prefer a lower price.

Page 23: Blue Phoenix Idms Migration

23

DECLARE CURSOR

SELECT/FETCH

INSERT

Code Conversion by Fixes

Program logic……

OBTAIN

Program logic……

STORE

Program logic……

Add Fix

Source Program Fix List (internal repository)

Modify Fix

Modify Fix

Enabling Automatic Refresh

Page 24: Blue Phoenix Idms Migration

24

Loading the new source code into DBMSMigrator

Performing an automated comparison between the original and new source code, which makes all needed adjustments:

If code was moved, the corresponding DBMSMigrator code fix is moved to the new location

If code was deleted, the corresponding DBMSMigrator code fix is deleted

If code was added, DBMSMigrator adds the appropriate “automatic” code fix.

If a fix was not located automatically, it is kept in the repository for possible use.

Automatic Refresh – Freeze Friendly

Page 25: Blue Phoenix Idms Migration

25

Data Migration

A full set of programs is generated automatically for the migration of IDMS data to the RDBMS database

The remodeling rules are used to automatically generate the programs to unload, validate, transform and upload the data.

Advantage: The automatic creation of the program results in a highly efficient and accurate migration of the data. All the data that is implicit in the IDMS structures (Set Order, Owner Pointers etc.) is preserved automatically, to ensure identical operation of the converted programs.

Page 26: Blue Phoenix Idms Migration

26

Data Migration

Automatically generate an application to:

Unload – Legacy data to flat files

Validate - all numeric and date fields are valid

Transform - apply the rules defined in the data model repository

Load - Load Cards and JCLs to load the transformed data into the RDBMS

Page 27: Blue Phoenix Idms Migration

27

Online application – Translation and Migration

Possible Targets:

Web based application with logic in Java and JSF pages. A Java framework replaces all ADS/O functionality, as well as COBOL structure handling.

COBOL CICS application including COBOL framework to replace all ADS/O functionality. Valid both on Mainframe and CICS emulation on open systems

COBOL.Net based application with logic in COBOL.Net DLLs, Web-Service based communication and HTML or VB.Net thin client

All targets are under production (COBOL.Net ending customer testing)None of the solutions involve any black box components

Page 28: Blue Phoenix Idms Migration

28

Online application – CICS application

ADS Dialogs and applications are translated automatically to COBOL CICS with optimized inline SQL

The translated applications in the CICS environment eliminate the need for the ADS infrastructure: The ADS implicit logic is fully covered in the translated application

The translation generates a COBOL-CICS program in pseudo-conversational mode. Meaning, SEND MAP is always followed by RETURN TRANSID.

Return point logic is generated in order to allow continuing from the same place where the program last left (i.e. in the translation of ADS/O LINK command).

ADS/O response processes are generated as sections, performed according to the user selected key.

Automatic Editing and Error handling (validation) is implemented in a generic Edit Routine

Page 29: Blue Phoenix Idms Migration

29

ADS/O Components Conversion (CICS)

ADSO/DC CICS

Task code Transaction ID

Dialog

Process

Cobol program Pseuso-converse mode

Section

OLM (Online mapping)

Extended attributes

Automatic editing / Edit &Code tables

BMS

Code

Subroutine

Built in functions Subroutines

Queue / Scratch Management Subroutine (Oracle)

Work / Map records Copybooks

ADSA runtime flow of control Subroutine (navigation rules in Oracle)

Page 30: Blue Phoenix Idms Migration

30

Online application – WEB-Based

OLM maps converted to JSF pages Keep similarity to original display, with better look and feel

Automatic Editing and Error handling are implemented in a Java Framework

ConversationalNo need for return-point management

Dialog Stack (nesting of running dialogs)Implemented as a link-list of DialogRunner objectsSupervised by a control thread

Queue is implemented as special DB tables

Scratch is implemented as memory Hash Map

Page 31: Blue Phoenix Idms Migration

31

Generated Components and the Framework

Converted

DialogsJSF Pages

Converted

Work records

Helper

Records

ADS2J FrameworkFacelets

Components

Resources

Generator

Page 32: Blue Phoenix Idms Migration

32

JSF generation

XHTML pages

Java beans, descendants of PageStatebasefor data binding

JSF generator

OLM Maps

Input

Output

Screen template

Faceletscomponents

+

Page 33: Blue Phoenix Idms Migration

33

Translated ADS/O Screen to Web Based

Page 34: Blue Phoenix Idms Migration

34

Case Study – Volvo Finance

Medium Sized IDMS ADS/O application

Migrated to UDB Database on Linux

Web Based Online application

Microfocus COBOL Batch

Good Performance

Reduced TCO

Happy Customer

Page 35: Blue Phoenix Idms Migration

35

Case Study – Wisconsin DWD

Medium Sized IDMS application

Migrating to COBOL CICS DB2 on Mainframe

Beat IBM on price by more than a factor of 4

Beat Ateras in the technical score by a factor of 2 as well as on price by a small margin

Page 36: Blue Phoenix Idms Migration

36

Tool-based, repository-driven solution

Rule-based engine promotes consistent, error-free conversion and migration

Powerful and flexible remodeling capabilities.

No change to program logic and business rules

Automatic Optimization (DBFA)

Flexible online environment options

Automated refresh makes for a “freeze friendly” conversion

Strong project management capabilities

Proven approach/methodology that reduces time, cost, and risk

Solution Advantages

Page 37: Blue Phoenix Idms Migration

37

Thank [email protected]@BPHX.Com