1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years...

23
The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation 10,

Transcript of 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years...

Page 1: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

1

The Problem

Do you have:• A legacy ABL system with millions of

Lines of ABL Code?

• Years and years of modifications to your ABL code?

• System documentation 10, 15, or even 20 years out of date?

Page 2: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

2

The Crisis

Are you faced with:

• The need to change your UI?

• A demand for supply chain integration?

• A need to move to SOA?

• A need to add web services or new web-oriented functions?

Page 3: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

3

Other Tools

Tried ERD tools … and found they don’t help at all with the code?

Found ERD tools tell you nothing about how your schema is actually used?

Page 4: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

4

Other Tools

Tried XREF tools and found they help with individual programs, but not whole systems?

Found that XREF tools tell you less than you wish because of dynamic calls?

Page 5: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

5

The Solution

Do you wish you had:

• An integrated tool that modeled both code and data?

• A tool that would connect all your code, even through dynamic calls?

• A unified model which is built on recognized standards and techniques?

Page 6: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

6

The Solution

Have you wished for a unified model which is built on recognized standards and techniques?

Page 7: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

7

The Answer

The Answer!

Page 8: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

8

The Solution

Joanju Analyst parses the code, resolves calls, provides a highly flexible browser, and then Analyst will also export an XML “Bill of Materials” file.

Page 9: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

9

The Solution

Computing Integrity’s ABL2UML tool reads the OE dictionary and the Bill of Materials from Analyst to create a UML model complete to the function and internal procedure level with detailed connections to the data

Page 10: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

10

UML

Why UML?

• Standardized

• Well Documented

• Lots of Tools

• Lots of Expertise

Page 11: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

11

UML

Why UML?

Graphical modeling tools with underlying data structures makes it easy to understand the parts and interactions in a system

It is the established standard in Object-Oriented Analysis and Design.

Page 12: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

12

UML

• Data models – “Class” Diagram for database

• Component models – Subsystems & Components

• User Interface models – Use Structure (Menus) and Functional Groupings

Modeling legacy systems, we use:

Page 13: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

13

The UML Profile

A Profile provides a standard map from ABL constructs to the underlying ABL

A Profile provides a common vocabulary and interoperability of tools

CI has published a comprehensive, open source UML profile for ABL

Page 14: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

14

The UML Profile

The existing Profile provides a standard for all aspects of the database schema and ...

All code structures down to the function and internal procedure plus include files and shared variables and …

Page 15: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

15

The UML Profile

All code to code links, internal and external, with detail and summaries on the compile unit and …

All code to data links down to the field use level with WHERE clauses and mode and ...

All menu structures and functional units with links to the related code

Page 16: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

16

ABL2UML

Sounds exciting, but isn’t it a lot of work to build a model like that?

Page 17: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

17

ABL2UML

Actually, it is quite easy …

Once you have resolved everything with Analyst, just …

Output the XML “Bill of Materials” and run CI’s open source ABL tool and the complete model is built in minutes

Page 18: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

18

ABL2UML

The ABL2UML tool provides for easy site-specific customization and …

There are many initiatives under way to provide additional tools on this base

Page 19: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

19

ABL2UML

ABL2UML uses an OpenEdge database as a repository for easy ABL manipulation and reporting and Enterprise Architect for modeling.

Page 20: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

20

Transformation

Analysis is good, but what about transformation?

Page 21: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

21

Transformation

Full transformation requires extracting abstract principles and recreating the code, but there are stepwise alternatives to partial transformation

Page 22: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

22

Transformation

CI has on-going projects in Model Driven Architecture generation of ABL code and…

Open source OERA infrastructure components and …

Tools for specialized local transformations and …

Page 23: 1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.

23

Transformation

Lots more …

Let’s Talk!