FUJITSU FS Logo
HomeMigrationsProductsServicesInformationNewsPartnersStudentPricingAbout Us
Quick Search  
DowloadSupport
Home > Products
Product title  
Windows Products
What COBOL for Me?
NetCOBOL for .NET
NeoKicks
NeoBatch®
NeoSort
NeoData
EZ Source™
NetCOBOL for Windows
PowerCOBOL
PowerBSORT
PowerFORM
Data Converter
Data Editor
Training Videos
Unix Products
NetCOBOL for Linux
NetCOBOL for SPARC Arch
Data Converter (SPARC Arch)
Data Editor (SPARC Arch)
NetCOBOL for HPUX
PowerBSORT

 

 

EZ Source™

Contents


Executive Summary
Click image to view

Overview

EZ Source is a tool for helping programmers and analysts understand and manage your applications. It provides an integrated set of views that show different perspectives on applications such as control flow, data flow, and complexity, with the ability to look at things from a high level, then drill down to low-level detail. It performs impact analysis, produces both graphical and textual reports, and stores the details of its application and program analyses in an open database repository so that you can create your own views or ad-hoc reports. All this is delivered in an integrated environment that can be used as the core of your maintenance activities.
EZ Source is a valuable addition to any COBOL development team, but has a particular focus on supporting IBM mainframe COBOL applications - so, in addition to COBOL source code, it analyzes JCL, BMS, MFS, and information relating to VSAM, DB2, IMS, IDMS and ADABAS. It is therefore able to build up a complete picture of your applications.
With its ability to analyze IBM mainframe applications EZ Source also plays an important role in legacy migration projects, enabling a thorough portfolio analysis so that all components can be discovered and considered before the migration is performed.

 

Highlights

EZ Source boost productivity in any of the following tasks:
  • Portfolio Management
  • Legacy Understanding
  • Impact Analysis
  • Business Rules Extraction
  • SOA (Service Oriented Architecture) Enablement
It does this by providing the following functions:
  • Analyzes all application components
  • Provides graphical and tree views of application components and relationships
  • Generates multiple reports to aid understanding
  • Several different forms of analysis available including control flow, data flow, impact and complexity
  • Populates an open database so that you can write your own queries
  • Performs code slicing (a process of extracting all logic associated with a particular data item within a specified block of code)

Detailed Features and Benefits

EZ Source provides all the means necessary for those responsible for maintaining, reviewing, updating, or migrating applications to understand those applications. By providing various interactive tools, views and reports, EZ Source lets the user determine which information and which views of that information will tell them what they need to know about the application.
The tables below list the key features and benefits of the various aspects of the EZ Legacy product.

Component Analysis
Graphical Views
Reports
Business Rule Extraction (SOA)

Component Analysis

Feature Summary Detail of Feature Benefit of Feature
Compiler-centric approach At the core of EZ Source is an engine that is essentially a "smart compiler", capable of analyzing and understanding entire systems.

The compiler understands many syntaxes including COBOL dialects, embedded syntax such as CICS and SQL, and diverse languages such as JCL and BMS.

It can check the correctness of the provided source files and build large data structures that semantically describe the application.

Provides you with a core of reliable, detailed information about your applications.
Repository EZ Source creates a repository using a standard database (such as SQL Server) containing all the information extracted from the application.

The repository is used by EZ Source to support its functions and is also open to you to construct your own reports from its tables.

With your system analyzed and stored in the repository, you are able to quickly examine and explore all facets.
Missing items In the process of constructing your repository, EZ Source identifies elements of your application that are missing - such as missing copy books or screen definitions. Knowing which pieces are missing gives you the chance of pulling together a complete set of sources and constructing a complete view of your application in the repository, or of assessing the impact of missing sources on your development plans.
Supported components
  • COBOL source and copybooks
  • CICS commands and tables (PCT/FCT)
  • BMS macros
  • VSAM data file definition and use
  • DB2 database definition and use
  • JCL jobstreams
  • Shell scripts
  • IMS:
    Database definitions
    COBOL syntax
    MFS screen definitions
  • IDMS:
    Database definitions
    OLM maps
  • Others:
    ADABAS, Natural
  • By supporting all the components that make up most mainframe COBOL applications, EZ Source enables full and accurate analyses of your applications.


    Graphical Views

    Feature Summary Detail of Feature Benefit of Feature
    Cross application flow Graphs the connections between major application elements, such as programs, databases, and screens.

    Each type of component is given a different color so it is easy to pick them out. Connections are also colored so you can distinguish things like a CALL from an EXEC CICS LINK.

    Checkbox filters allow you to add or remove any component type from the view. For example, you can focus on the relationships between programs and database tables, or programs and screens.

    Provides a high level view of the system making numerous factors visible for analysis, such as:
    • Frequency of use
    • Dependencies
    • Data flow
    • Control flow
    • Complexity
    Internal program flow Graphs control flow within programs at the paragraph level, and shows connections to external components such as other programs, database tables, screens etc.

    Different types of flows are given different colors so you can easily distinguish between PERFORMs, GO TOs etc. Exits points are shown.

    Most elements of the graph are active so clicking on an element allows you to change focus from the current program to the other element.

    Provides an overview of a program's structure, functions and relationship to other components.

    Helps you understand the program and determine the impacts of making changes to particular parts of the program.

    Makes complexities visible.

    Tree Views Project - groups components by type, such as COBOL programs, copybooks, BMS maps.

    COBOL - paragraphs and data items listed alphabetically and hierarchically

    Maps - maps listed alphabetically within mapsets

    Tables - tables accessed by the application with lists of types of SQL statements (INSERT, DELETE, UPDATE etc) used to access the tables with programs that use each statement and locations.

    JCL - lists

    Include - include files and copybooks with child nodes indicating the programs that use the files and statement locations.

    Files - lists files with child nodes indicating the statements used to access the files and statement locations.

    Tree views provide a convenient way of looking at the application information from different perspectives. For example, if you are interested in a database table you can see which programs access it, and the types of statements used by those programs. Items are listed alphabetically within parent nodes - a useful alternative to the typical arbitrary ordering of names within program source.
    Flow chart Shows, in standard flow-chart form, the flow of control within a program. Useful visualization of the flow of control within a program.
    Data Set Usage Analyzes JCL so that data sets can be traced from creation to every use within programs. Supports viewing the applicable JCL and program statements. Allows analysis of how data sets flow through the application suite.
    Screen Layouts When screen nodes are displayed in graphs or tree views, selecting "View Screen" displays the formatted screen. "View Source" displays the map source. Being able to see immediately the layout of a screen when viewing an application structure is a very convenient aid. The programmer quickly sees the user's perspective and is reminded of the screen's content and purpose.


    Reports

    Feature Summary Detail of Feature Benefit of Feature
    Inventory Inventory reports help identify all items within a given system. You can list:
    • All resources from the current project
    • Resources within the current project that are not used
    • Which resources are used from each program
    Helps you manage your resource inventory.
    Missing Items Lists items that should be part of the application but haven't been provided in EZ Source's project definition. Helps you create a complete analysis of your applications, or be aware where it is not complete.
    Particularly useful when preparing to migrate applications, as you need to be sure you migrate all the required pieces.
    Resource A variety of reports allowing you to print out relationships between resources and programs, showing record and table definitions, resource usages and dependencies. Reports can be useful reference "books" for looking up details about application items, or can be generated to shed further light on particular areas of interest.
    Complexity Complexity reports give Halstead and heuristic metrics. Metrics can help assess the amount of work required to update a particular program or why particular programs may be causing the most problems.
    Statistics Highly configurable statistics reports provide usage figures, sizes, nesting levels and the like for paragraphs, programs, data items and records. Statistics help you characterize programs and size update or migration efforts.
    JCL JCL reports can list either procs called by selected jobs or jobs that call selected procs. Useful reference reports when working with JCL.
    Customized All the above reports are created using a Report Wizard that offers a high degree of customization of the reports, such as the resources analyzed in the reports and the level of data presented. Customization lets you determine the information most important to you and whether you want to focus on a narrow or wide range of resources.


    Business Rule Extraction (SOA)

    Feature Summary Detail of Feature Benefit of Feature
    Slicing A slice is a portion of a program that includes all the logic for producing the value of a data item at a certain location in the source code.

    Slicing helps you extract business rules from legacy code if, for example, you want to use the business rules in a different system or architecture.

    Business rules can be made available to other systems or taken to new architectures.
    Creating an SOA Service oriented architectures (SOA) are widely recognized today as providing the greatest agility to those companies that employ them.
    By following a prescribed process, using EZ Source's slicing technology, you can transform applications to have SOAs.
    Makes current systems more adaptable to future changes and increases reusability of current logic.


    An In-Depth Look at EZ Source

    The following sequences of screen captures let you see some of the features of EZ Source at work.

    Cross application flow graph
    Program control and data flow graph
    Flow chart
    Batch logic analysis
    User interface analysis
    Slicing
    Open Relational Database
    Missing Components Report

    Cross application flow graph
    The cross application flow graph shows all the various connections between resources, such as programs calling or linking to other programs, accessing databases, and displaying screens.


    Program control and data flow graph
    Within a program you can see how control passes from paragraph to paragraph and where data comes into and out of the program through other resources.

    This snapshot shows the full EZ Source interface which you can see is split into three main panes: the left pane contains treeviews that you can use to navigate around the application; the right pane that displays the graphs and reports (multiple graphs/reports can be displayed at a time, with a standard multiple document interface allowing each view to occupy the full pane, or tiling or cascading the views in multiple windows within the pane); and the bottom pane that displays build messages, JCL details or slice information.

    Flow chart
    The flow chart provides a standard flow chart representation of the flow of control through the program.


    Batch logic analysis
    By analyzing JCL and displaying the relationships with other resources, EZ Source helps you see what is happening with your batch jobs.
    (To fit within Web page constraints the main areas of interest from the EZ Source screen have been cut and pasted to form the image below.)


    User interface analysis
    EZ Source lets you display formatted screens by simply pointing to the screen object and selecting "View Screen" from a pop-up menu.


    Slicing
    Slicing determines the code required (highlighted in orange by EZ Source for a particular business function, indicated by you selecting a core piece of that function (highlighted in black).


    Open Relational Database
    EZ Source gives you access to the repository of analysis information it creates in a relational database such as Microsoft Access or SQL Server.


    Missing Components Report
    One of many valuable reports that EZ Source can create, the Missing Components Reports lists resources that are required by your application but have not been defined in your project. This is essential information when migrating applications and important to know when maintaining applications.



    Platforms Supported

    • Microsoft® Windows® NT 4.x
    • Microsoft® Windows® 2000
    • Microsoft® Windows® XP
    • Microsoft® Windows® Server 2003
    Repository requires one of the following databases:
    • Microsoft® SQL Server
    • Microsoft® Access



    Frequently Asked Questions

    Environments
    What environments does EZ Source support?
    What hardware and software do I need in order to use EZ Source?
    What kind of databases can I use for my repository?
    Does the product support languages other than COBOL?

    Using EZ Source - General
    What kinds of function does EZ Source provide?
    How is EZ Source used?
    Can I generate additional reports, apart from the default ones?
    How can I handle elements in the application's programs that are not supported by the EZ Source product?
    Can I use EZ Source for documentation?
    What are the advantages of reusing over rewriting?
    How do you handle the reengineering of an entire legacy application?
    Can I use the reengineering process only for a part of the legacy application?

    Using EZ Source - Specifics
    Where can I see information about data files that are used by the application?
    Where can I see information about screens used by the application?
    Where can I see information about tables used by the application?
    What do I need to do if part of the programs in the application was changed?
    The flow graph I see is too crowded. What can I do?

    Object Mining
    What is Object Mining?
    Can I use EZ Source for Object Mining process?
    What capabilities are needed to perform an Object Mining project?
    How do I mine objects in my legacy environment?
    What parts of a legacy application are relevant for Object Mining?


    Environments

    What environments does EZ Source support?
    Answer: Currently, EZ Source supports COBOL 1, COBOL 2, MVS COBOL, Fujitsu AIM COBOL as languages, used in the CICS environment, with VSAM, IMS/DB and DB/2 as databases, BMS or MFS mapping and JCL. Using the integrated EZ Source decision mechanism, several other dialects of COBOL such as AS/400 COBOL, WANG, or Micro Focus can be used.

    What hardware and software do I need in order to use EZ Source?
    Answer: In order to use the EZ Source product, you need Windows NT/2000/XP/2003 operating system with at least 256 MB of memory and 30 MB of free disk space. In order to view the repository, you need Microsoft's Access database, or MS SQL Server.

    What kind of databases can I use for my repository?
    Answer: The current version of EZ Source uses Microsoft Access and MS SQL Server database for its repository.

    Does the product support languages other than COBOL?
    Answer: EZ Source current version supports COBOL. In addition, the support for COBOL includes embedded CICS IMS/DB, VSAM, JCL and SQL. Additional languages may be considered in the future.



    Using EZ Source - General

    What kinds of function does EZ Source provide?
    Answer: The EZ Source product gives its users an application portfolio management, understanding and analysis capabilities. The analysis produces a wealth of information, which can be viewed and manipulated using the product: A repository, residing in a standard relational database, holds all of the information gathered from the application. EZ Source provides:

    • Graphs describing the control flow of the application, program and command levels.
    • Reports describing relationships between different entities of the application (an entity can be a program, screen, paragraph, record, table, variable and so on).
    • Tree views describing hierarchical relationships in the application.
    • Code analysis capabilities, using pattern matching and redundant analysis, and business rules identification.

    How is EZ Source used?
    Answer: As the EZ Source product provides understanding and analysis capabilities, the product gives its users the capability to closely examine COBOL applications. As such, it can be used in various situations where software understanding and analysis is needed. First, it eases application maintenance tasks. It can also be used for impact analysis. Another major use for EZ Source is when confronted with a need for large scale changes in the application, such as re-engineering, web enabling, moving to new environments and so on. The first step in every big change is to understand the application you are going to change. In large applications, the code was usually written by a large number of people over a long period, and not all of these people are still available for conducting the changes. In such cases, it is vital to get a clear and detailed picture of the application, and that picture is very hard to achieve by only looking at the source, whilst using a tool like EZ Source is a perfect solut ion.

    Can I generate additional reports, apart from the default ones?
    Answer: Of course! One of the main reasons for providing the generated repository on a standard relational database is extending the user's capability to generate specific and custom reports. After performing the analysis process and generating the Repository, you can use any tool provided by the database or by third party vendors to generate the reports. Examples for such reports can be found in the sample application, supplied with EZ Source. In order to generate more reports, you can either use the integrated Report Wizard or refer to the documentation of the repository, also supplied with the EZ Source installation.

    How can I handle elements in the application's programs that are not supported by the EZ Source product?
    Answer: Application elements that are not supported by the EZ Source product are listed during the Build process in EZ Source's output pane. The EZ Source Build process has been designed to ignore unsupported or missing elements and produce analysis results of the application without them. Nevertheless, some of these elements may cause an error that will disturb the analysis phase. In such cases, you can use the EZ Source Decisions mechanism, which enables you to bypass the unsupported elements, without changing the original source code. By adding a decision that replaces the specific lines with blank signs or remarks, EZ Source skips the unsupported statements, while the source stays untouched. In addition, you can apply a decision to several programs or to the whole project. When a new version of a program is included in the project, the decisions that were previously attached to that program still apply. To learn more about the Decisions mechanism please refer to the EZ Source documentation.

    Can I use EZ Source for documentation?
    Answer: Yes. This is one of the benefits EZ Source provides. EZ Source can be used for documentation is several ways:

    • You can print the flow graphs in order to document the flow of an application or a specific program.
    • You can export graphs to Microsoft Visio.
    • You can generate reports from the repository database and print them as documentation.
    For example, generate a report that documents calls between a program and other programs, usage of tables in programs, etc.
    • Use the browsing information that was collected during the Build phase, and that is presented in the graphs, combined with the information presented in the Tree Views, and use them as online documentation or guides for those working with the application.

    What are the advantages of reusing over rewriting?
    Answer: Indeed, one of the possibilities of renovating legacy systems is simply rewriting them. However, the lengthiness and high costs of such an operation may render it irrelevant to an organization's business needs. Renovation of legacy systems should allow the organization to keep its competitive edge and even leverage it. The organization's business rules, where most of the business logic is kept, and hence the competitive advantages, should be kept intact. Rewriting these parts of the system only lengthens the process and endangers their integrity. Using tools and methods to reuse these parts in the legacy system eliminates the possibility of "reinventing the wheel".

    How do you handle the reengineering of an entire legacy application?
    Answer: Usually reengineering of a large legacy application is not done in one step. Instead, a more efficient way of working would be to divide the system into clusters, and advance the reengineering process step by step a cluster at a time. The division of the application into clusters can be done in several ways, depending on the nature of the application. For example, dividing the application into clusters that connect to each other through sharing common data, or creating clusters following online and batch divisions. If clustering is efficient then testing and deployment of different parts of the application can be done independently.

    Can I use the reengineering process only for a part of the legacy application?
    Answer: Yes. In some cases it makes sense to keep parts of the legacy application in the original environment and not reengineer them. For example, in some applications it is recommended to leave the batch part of the application as it is, with the original transaction processes, while transforming the online part into a service-oriented architecture (SOA). In other cases it is reasonable to leave the data in the original database (DB/2, for example) and reengineer the application to access this data.



    Using EZ Source - Specifics

    Where can I see information about data files that are used by the application?
    Answer: Information about files can be found:

    • Through the Files Tree View, which is found in the Files tab. Here you will find a list of the files used by the applications of each project, the commands that reference each file, where they are used in the application and the exact location of each command in the sources.
    • Through the internal relationships graph, where each file that is used by a program is indicated by a gray rectangle. A line is drawn between the file and each paragraph that uses the file. A line going into the file means data updates/written into the file, while lines going out of the file mean data retrieved from it. By using the "View Source" option on the pop-up menu (invoked by a right click of the mouse), you can go to the relevant line in the source.
    • Looking at the additional information in the repository (please refer to the EZ Source documentation, the Repository Structure appendix).

    Where can I see information about screens used by the application?
    Answer: Information about screens can be found:

    • In the BMS Tree View, which is found in the BMS folder. On this tree view you will see the map sets that are used in the applications of each project, the screens that belong to each map set, and the source of each of the screens themselves. Formatted screens can also be viewed by using the right-click context menu.
    • Through the Cross-Application flow graph, and in the internal relationships graph, where each map is indicated by a red rectangle. A line is drawn between the map and each paragraph/program that uses this map. The ingoing and outgoing lines indicate information streaming in and out of each screen. By using the "View Source" option in the context menu, you can go to the relevant line in the source.
    • Additional information regarding screens and map sets can be found in the repository (please refer to the EZ Source documentation, the repository Structure appendix).

    Where can I see information about tables used by the application?
    Answer: Information about tables can be found:

    • By looking at the tree view found in the Tables folder. In this tree view you will find the tables that are used by the applications in each project. Moreover, you will see in this tree view the command references to each table with the exact location of each command in the application.
    • In the Program Interrelations flow graph. Each table used in the program is marked by a purple rectangle in the graph, and arrows are drawn between each table and the relevant paragraphs. An arrow going into a rectangle means data updated/ inserted into the table, while arrows going out of the table mean data retrieved from the table. By using the "View Source" option on the context menu (invoked by a right click on the rectangle), you may go to the relevant line in the source.
    • To reach additional information regarding tables examine the repository database (please refer to the EZ Source documentation, the repository Structure appendix).

    What do I need to do if part of the programs in the application was changed?
    Answer: In order to update the analysis results, you need to overwrite the older version of the program with the newer version. We recommend physically replacing the older program file with the newer one. In order to find its location on the disk go to the Workspace folder, right-click the specific program name and choose the Properties option from the context menu. The Properties window will show the exact path of the file. Once the program file is replaced on the disk, perform a Build process for that Program (again, by right clicking the program name and choosing Build from the context menu). The same process described here also applies to changes in screen maps, copybooks, etc.

    The flow graph I see is too crowded. What can I do?
    Answer: In some applications, the flow graphs are especially complicated, crowded with hundreds of arrows. To simplify this view, we have created several filtering options for the graph entities. In the Cross-Application flow graph you can filter all of the rectangles by selecting and deselecting the buttons on the top of the graph legend. Once a specific entity type is filtered out all of the associated arrows disappear from the graph as well. Another filtering method, which can be done both on the application level and the program level flow graphs, handles the selection of arrows shown. In order to filter the arrows right-click the white background of the graph. Select the desired option from the context menu that appears. Arrows filtering can also be done by right clicking a specific rectangle in the graph, and selecting or deselecting the desired option (Incoming or Outgoing). These capabilities, combined with the Zoom options, enable you to concentrate on a specific part of the application and view only the relevant information.



    Object Mining

    What is Object Mining?
    Answer: Object Mining (or business rules identification) is the process of excavating objects from legacy code. In the new millennium, the business environment requires quick adaptation to new technologies and the ability to maintain competitive advantages. Many of these advantages are kept in the organization's business rules. These rules can be extracted and reused in a new technological environment such as object-oriented development. Since methodology and implementation of object-oriented programming does not exist in most legacy environments, Object Mining supplies the "bridge" from procedural programming in the legacy world towards object-oriented system implementation.

    Can I use EZ Source for Object Mining process?
    Answer: Yes. The analysis phase has an important role in the overall process of Object Mining. When you analyze an application, you create a repository, holding relevant information about the application. This repository, with capabilities of EZ Source can be used later to perform Object Mining analysis, which includes searching for candidates to create objects. The slicing capabilities, which can be used for the process Object Mining, can hook up to an existing repository, thus saving analysis time and effort.

    What capabilities are needed to perform an Object Mining project?
    Answer: The Object Mining process, as mentioned before, involves transformation of an organization's business rules from legacy environment to a new object-oriented environment. Therefore, these projects require capabilities in two areas: first, knowledge of the old legacy application. This knowledge should include an acquaintance with both the technological characteristics and business rules that are relevant to the organization. The second area of knowledge needed for an Object Mining project is acquaintance with the target environment of the process, e.g., knowledge in object-oriented programming. Usually, such capabilities are formed by a combination of several experts from the organization itself and/or from system integration companies. Knowledge of the legacy application environment can be enhanced with the aid of an analysis process, which precedes the object extraction.

    How do I mine objects in my legacy environment?
    Answer: The automated process of mining objects, as performed by the EZ Source product is done in two phases: 1. The first phase involves a process of finding candidates for objects in the legacy application. Since an object is comprised of data and logic, our target is to find logic and data in the legacy application that can serve as candidates. These can reside in several places inside a program or in several programs and copybooks throughout the entire application. The process of finding the candidates is done by using the analysis capabilities of the EZ Source product, and by generating queries to the application repository that was created in the analysis process. 2. Once an object candidate is identified, the second phase of the process begins - identifying all of the code lines that belong to the object candidate by using a slicing algorithm. The marked lines can then be browsed to aid in the understanding of the object candidate. Finally the marked lines can be extracted to a separate source file. The decision process and the actual identification and extraction of the object candidate are all done using the EZ Source.

    What parts of a legacy application are relevant for Object Mining?
    Answer: In general, roughly dividing an application into three parts - data, output and logic - Object Mining is most relevant to the logic layer of the legacy application. Although part of the mining process extracts logic that is related to data access or the application's output mechanism, it is not necessary to conduct mining on these layers of the application. It is also important to note that I/O-bound applications have a lower potential of reusability and objects extraction than those that use fewer I/O processes and more logic.

    EZ Source is a trademark of EZ Legacy Ltd.




     © 2003 - 2006 Fujitsu Computer Systems Corporation. All Rights Reserved.