Your SlideShare is downloading. ×
Blue Phoenix Idms Migration
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Blue Phoenix Idms Migration

1,586
views

Published on

Migrating IDMS based applications

Migrating IDMS based applications


1 Comment
0 Likes
Statistics
Notes
  • Hi GilsShalit, I am looking for a tool to migrate an IDMS database to Oracle. Could you be of assistance please? Thank you. Musa Zubairu (musa.zubairu@mzcltd.com)
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total Views
1,586
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
37
Comments
1
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • We add to the ADABS database - defaults and rules for mapping. Then by click on a button the RDBMS is generated
  • We add to the ADABS database - defaults and rules for mapping. Then by click on a button the RDBMS is generated
  • Show the CPFB Model Describe the workspace elements Sets (1159 and 1160 CALC, 1158 Member and owner, 1157 member) Dates Occurs Array Tables / Flat Arrays Discuss the small array records. Redefines In 1164 apply G2F & Field Hint to sequence 7 and 18 Convert Show redefine hint interface Show sequence 57 is occurs 7 – change threshhold and reconvert
  • These are the basic rules that change according to the tool’s analysis The Tool analyses the SCHEMA properties, the DB flow in the program, and according to these complex rules it creates the automatic fixes. The difference between a FIND and OBTAIN conversion is that only in the OBTAIN translation, the IDMS variables are populated (D2I) CALC duplicate is converted to a cursor (not single select)
  • In the converted program, all the logic is still performed on the IDMS variables The big advantage is that the programs remain easily maintainable, by the same programmers OBTAIN CALC – Select OBTAIN PRIOR / NEXT – Fetch on Cursor
  • Convert: AESOC06
  • Only the I/O layer is modified. There is no logic change. Based on the mapping rules fixes are generated for the code. Fixes – Parallel to each program a “fix file” is generated. The file contains a pointer to the the code that needs to be modified. There are two advantages to this approach: An audit trail for the changes Allowing automatic refresh
  • The unload programs are designed, automatically, for families of records. A family is a group of records connected by sets. This is done in order to capture all the set order information.
  • Transcript

    • 1. BluePhoenix DBMSMigrator for IDMS April 2010 Avishai Shafir – VP Marketing Gil Shalit - IDMS Migration Manager
    • 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.
    • 3. Migration Concept
      • Fully automated
        • Automated database remodeling – network DBMS into 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
    • 4. Target Systems
      • Target Platforms
        • Mainframe
        • UNIX / LINUX
        • Windows + .Net
      • Target RDBMS
        • DB2 (7 8 or 9)
        • Oracle
        • SQL Server
      • Target Online Environment
        • COBOL CICS
        • J2EE
        • .Net
    • 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)
    • 6. Refresh Testing & Tuning Data Migration Code & JCL Conversion Detailed Analysis & Remodeling Global Assessment & Planning Acceptance Testing IDMS Migration Project Methodology
    • 7. Remodeling
        • The database remodeling is rules based
        • Transformations are created for each IDMS entity according to the following:
      Indication Fields System Sets Foreign Keys Sets Primary Keys CALC Keys Fields Items Tables Records RDBMS IDMS
    • 8. Record to Table Remodeling Banks Id HQ Branches Id Adrs B-Id Customers Id Adrs B-Id Br-Id Yng Bank Bank-ID HQ-Address --- --- Branch Branch-ID Address --- --- Customer Cust-ID SSN --- --- B-Br Set Br-Cust Set B-Cust 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
    • 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
    • 10. Rule Based Repository Data Migration Programs Software Conversion RDBMS Data Model IDMS File Structure Mapping Rules: Remodeling by Transformations
    • 11. Remodeling Workspace
      • Load Schema
      • Setting Configurations
      • Setting Hints
      • Automatic Remodeling
      • Editing Transformations
      • DDL Generation
    • 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 ---
    • 13. Interface Copybooks IDMS RECORD XY 02 F1 02 F2 04 F21 04 F22 02 F3 OCCURES 10 --- 01 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 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
    • 14. Copybooks Workspace
      • Generate Copybooks
    • 15. Code Conversion – DML Conversion Rules
      • CURSOR/SINGLE SELECT
        • WHERE on CALC FIELDS
        • WHERE on PK FIELDS
        • WHERE on SORT FIELDS
        • WHERE on PK FIELDS
        • WHERE on FK FIELDS
      • OBTAIN/FIND
        • Calc
        • DBKEY
        • USING
        • CURRENT
        • WITHIN
      RDBMS IDMS
    • 16. Code Conversion – DML Conversion Rules Cont.
      • DBKEY operations are converted to PK operations.
      NULLIFY FK DISCONNECT OWNER PK to FK CONNECT MOVE rec-PK to WS-DBKEY MOVE DB-KEY Same cursor as for OBTAIN, PK to WS-DBKEY RETURN
        • MOVE PK TO WS-DBKEY
        • FETCH PK by FK
      • ACCEPT
        • FROM record CURRENCY
        • FROM set CURRENCY
      RDBMS IDMS
    • 17. Code Conversion – DML Conversion Rules Cont.
      • DBKEY operations are converted to PK operations.
      Delete Using PK Erase Update Using PK Modify Insert Store RDBMS IDMS
    • 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
    • 19. Software Conversion
      • Add Program
      • Automatic Conversion
      • Manual Fixes
      • DBFA Graphs
      • Refresh
    • 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.
    • 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.
    • 22. Inline SQL Vs. IO Modules
      • Inline SQL
        • Standards 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-live
        • I/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.
    • 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
    • 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
    • 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.
    • 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
    • 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
    • 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
    • 29. ADS/O Components Conversion (CICS) Subroutine (navigation rules in Oracle) ADSA runtime flow of control Copybooks Work / Map records Subroutine (Oracle) Queue / Scratch Management Subroutines Built in functions
      • BMS
        • Code
        • Subroutine
      • OLM (Online mapping)
        • Extended attributes
        • Automatic editing / Edit &Code tables
      • Cobol program Pseuso-converse mode
        • Section
      • Dialog
        • Process
      Transaction ID Task code CICS ADSO/DC
    • 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
      • Conversational
        • No need for return-point management
      • Dialog Stack (nesting of running dialogs)
        • Implemented as a link-list of DialogRunner objects
        • Supervised by a control thread
      • Queue is implemented as special DB tables
      • Scratch is implemented as memory Hash Map
    • 31. Generated Components and the Framework Converted Dialogs JSF Pages Converted Work records Helper Records ADS2J Framework Facelets Components Resources Generator
    • 32. JSF generation OLM Maps Input Output + XHTML pages Java beans, descendants of PageStatebase for data binding JSF generator Screen template Facelets components
    • 33. Translated ADS/O Screen to Web Based
    • 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
    • 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
    • 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
    • 37. Thank You! [email_address] [email_address]